[
  {
    "path": ".gitmodules",
    "content": "[submodule \"buildtools\"]\n\tpath = buildtools\n\turl = https://github.com/Steveice10/buildtools.git\n"
  },
  {
    "path": "Makefile",
    "content": "# TARGET #\n\nTARGET := 3DS\nLIBRARY := 0\n\nifeq ($(TARGET),3DS)\n    ifeq ($(strip $(DEVKITPRO)),)\n        $(error \"Please set DEVKITPRO in your environment. export DEVKITPRO=<path to>devkitPro\")\n    endif\n\n    ifeq ($(strip $(DEVKITARM)),)\n        $(error \"Please set DEVKITARM in your environment. export DEVKITARM=<path to>devkitARM\")\n    endif\nendif\n\n# COMMON CONFIGURATION #\n\nNAME := CIAngel\n\nBUILD_DIR := build\nOUTPUT_DIR := output\nINCLUDE_DIRS := include\nSOURCE_DIRS := source\n\nBUILD_FILTER := source/svchax/test/test.c\n\nEXTRA_OUTPUT_FILES :=\n\nLIBRARY_DIRS := $(DEVKITPRO)/libctru\nLIBRARIES := ctru m\n\nBUILD_FLAGS := -DVERSION_STRING=\"\\\"`git describe --tags --abbrev=0`\\\"\" -DREVISION_STRING=\"\\\"`git rev-parse --short HEAD`\\\"\"\nRUN_FLAGS :=\n\n# 3DS CONFIGURATION #\n\nTITLE := $(NAME)\nDESCRIPTION := CIA Downloader using Nintendo CDN\nAUTHOR := _____\nPRODUCT_CODE := CTR-H-ANGEL\nUNIQUE_ID := 0xA617\n\nSYSTEM_MODE := 64MB\nSYSTEM_MODE_EXT := Legacy\n\nICON_FLAGS :=\n\nROMFS_DIR := romfs\nBANNER_AUDIO := audio.wav\nBANNER_IMAGE := banner.png\nICON := icon.png\n\n# INTERNAL #\n\ninclude buildtools/make_base\n"
  },
  {
    "path": "README.md",
    "content": "# CIAngel\n\n# Archived, CDN access is not available anymore. RIP.\n\n\nNow we can get games directly on the 3DS!\nUsing a Title ID and an encrypted title key, or searching for a title by name, GOOD CIAs will be produced or directly installed that can be redownloaded from eshop and updated from eshop if new content comes out. These CIAs will not interfere with content from eshop.\n\nYou can choose to create a CIA, install the game directly, or install only the ticket.\n\n\n\nMany thanks for machinamentum and FirmwareDownloader! Thanks to make_cdn_cia!\n\nLicense is GPL to comply with the usage of make_cdn_cia code.\n\n\nThis will be improved, updated, I look forward to people contributing to this project!\n\n# Latest Version\nYou can scan the following QRCode in FBI to install the latest version of CIAngel, this will always point at the latest release's CIAngel.cia file:  \n![CIAngel.cia](https://thedgtl.net/3ds/CIAngel.php?cachebust=2)\n\n# Usage\n## Search by name\nCIAngel utilizes HBKBlib to search for titles by name. Data is read from /CIAngel/wings.json (Which is downloaded automatically on first launch) to search for the name entered.\n\n## Download queue\nWhen viewing the search result list, you can press X to add the title to the download queue. Selecting \"Process download queue\" will allow you to then download or install all of the queued titles one after another. This uses the currently selected download/install mode.\n\n## Input.txt support\nCIAngel can read a text file (sd:/CIAngel/input.txt) that has 2 lines.\n\nThe first line must be the title id.\nThe second line must be the encrypted title key.\n\n# Thanks!\nCIAngel has been developed with many contributions from the community, both ideas and code contributions. Many thanks to the following (non-exhaustive) list of contributors!\n* Cearp\n* Drakia\n* superbudvar\n* mysamdog\n* cerea1killer\n* machinamentum for the original FirmwareDownload code\n* Steveice10 for many insights into CIA handling in FBI\n\n# Building\nCIAngel has a few dependencies required to build, as well as a git submodule that will need to be fetched.\n\nWhen initially fetching the project, the easiest way to get the code and submodules for building is the following:\n\n`git clone --recursive https://github.com/llakssz/CIAngel.git`\n\nIf you have already checked out the code without the submodules, you can run the following command in the project directory to fetch the submodule data:\n\n`git submodule update --init --recursive`\n\nCIAngel depends on the following projects:\n- The latest version of [libctru](https://github.com/smealum/ctrulib)\n- The latest version of [hbkb](https://gbatemp.net/threads/hbkblib-a-3ds-keyboard-library.397568/)\n\n## Building and installing HBKB\nHBKB doesn't currently have a 'make install' command, and has to be manually installed once built.\n\n1. You will need to modify the Makefile to remove the DEVKITARM define at the top\n2. Once you have run 'make', you will need to copy the resulting lib and header to your DEVKITARM directory:\n\n   `cp hbkb/lib/libhbkb.a $DEVKITPRO/libctru/lib`  \n   `cp hbkb_include_header/hbkb.h $DEVKITPRO/libctru/include/`  \n3. Hopefully CIAngel now builds for you!\n"
  },
  {
    "path": "source/cia.c",
    "content": "/**\nCopyright 2013 3DSGuy\n\nThis file is part of make_cdn_cia.\n\nmake_cdn_cia is free software: you can redistribute it and/or modify\nit under the terms of the GNU General Public License as published by\nthe Free Software Foundation, either version 3 of the License, or\n(at your option) any later version.\n\nmake_cdn_cia is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\nGNU General Public License for more details.\n\nYou should have received a copy of the GNU General Public License\nalong with make_cdn_cia.  If not, see <http://www.gnu.org/licenses/>.\n**/\n#include \"lib.h\"\n#include \"cia.h\"\n#include <3ds.h>\n#define TRUE 1\n#define FALSE 0\n\nint generate_cia(TMD_CONTEXT tmd_context, TIK_CONTEXT tik_context, FILE *output)\n{\n\twrite_cia_header(tmd_context,tik_context,output);\n\twrite_cert_chain(tmd_context,tik_context,output);\n\twrite_tik(tmd_context,tik_context,output);\n\twrite_tmd(tmd_context,tik_context,output);\n\tResult res = write_content(tmd_context,tik_context,output);\n\tfclose(output);\n\tfclose(tik_context.tik);\n\tfclose(tmd_context.tmd);\n\tfree(tmd_context.content_struct);\n\t\n\treturn res;\n}\n\nint install_cia(TMD_CONTEXT tmd_context, TIK_CONTEXT tik_context)\n{\n\tHandle handle;\n\tResult res;\n\tu64 titleId = get_title_id(tmd_context);\n\tFS_MediaType dest = ((titleId >> 32) & 0x8010) != 0 ? MEDIATYPE_NAND : MEDIATYPE_SD;\n\n\t// Make sure this isn't a N3DS only title being installed on an O3DS\n\tbool n3ds = false;\n\tif(R_SUCCEEDED(APT_CheckNew3DS(&n3ds)) && !n3ds)\n\t{\n\t\t// 28 bits shift = 2 is a system title for N3ds\n\t\t// 24 bits shift = F is a N3DS exclusive game (Seems to always have 0xF7 in the titleid)\n\t\tif (((titleId >> 28) & 0xF) == 2 || ((titleId >> 24) & 0xF) == 0xF)\n\t\t{\n\t\t\tprintf(\"Title requires a N3DS.\\n\");\n\t\t\treturn -1;\n\t\t}\n\t}\n\n\t// Remove the ticket and title content, incase a bad one already exists on the system\n\tAM_DeleteTitle(dest, titleId);\n\tAM_DeleteTicket(titleId);\n\n\tif(dest == MEDIATYPE_SD) {\n\t\tAM_QueryAvailableExternalTitleDatabase(NULL);\n\t}\n\n\tres = AM_StartCiaInstall(dest, &handle);\n\tif (R_FAILED(res))\n\t{\n\t\tprintf(\"Error starting CIA install: %ld.\\n\", res);\n\t\treturn res;\n\t}\n\n\tu32 offset = 0;\n\n\tinstall_cia_header(tmd_context, tik_context, &offset, handle);\n\tinstall_cert_chain(tmd_context, tik_context, &offset, handle);\n\tinstall_tik(tmd_context, tik_context, &offset, handle);\n\tinstall_tmd(tmd_context, tik_context, &offset, handle);\n\tres = install_content(tmd_context, tik_context, &offset, handle);\n\tfclose(tik_context.tik);\n\tfclose(tmd_context.tmd);\n\tfree(tmd_context.content_struct);\n\n\tif (R_FAILED(res))\n\t{\n\t\tprintf(\"Error installing CIA.\\n\");\n\t\tAM_CancelCIAInstall(handle);\n\t\treturn res;\n\t}\n\n\tres = AM_FinishCiaInstall(handle);\n\tif (R_FAILED(res))\n\t{\n\t\tprintf(\"Error finishing CIA install.\\n\");\n\t}\n\n\treturn res;\n}\n\nTIK_CONTEXT process_tik(FILE *tik)\n{\n\tTIK_CONTEXT tik_context;\n\tmemset(&tik_context,0x0,sizeof(tik_context));\n\t\n\ttik_context.tik = tik;\n\t\n\tu32 sig_size = get_sig_size(0x0,tik);\n\tif(sig_size == ERR_UNRECOGNISED_SIG){\n\t\tprintf(\"[!] The CETK signature could not be recognised\\n\");\n\t\ttik_context.result = ERR_UNRECOGNISED_SIG;\n\t\treturn tik_context;\n\t}\n\t\n\tTIK_STRUCT tik_struct = get_tik_struct(sig_size,tik);\n\ttik_context.tik_size = get_tik_size(sig_size);\n\ttik_context.title_version = u8_to_u16(tik_struct.title_version,BIG_ENDIAN);\n\t\n\tif(tik_context.tik_size == ERR_UNRECOGNISED_SIG){\n\t\ttik_context.result = ERR_UNRECOGNISED_SIG;\n\t\treturn tik_context;\n\t}\n\t\n\ttik_context.cert_offset[0] = tik_context.tik_size;\n\ttik_context.cert_size[0] = get_cert_size(tik_context.tik_size,tik);\n\ttik_context.cert_offset[1] = tik_context.tik_size + tik_context.cert_size[0];\n\ttik_context.cert_size[1] = get_cert_size(tik_context.cert_offset[1],tik);\n\t\n\tif(tik_context.cert_size[0] == ERR_UNRECOGNISED_SIG || tik_context.cert_size[1] == ERR_UNRECOGNISED_SIG){\n\t\tprintf(\"[!] One or both of the signatures in the CETK 'Cert Chain' are unrecognised\\n\");\n\t\ttik_context.result = ERR_UNRECOGNISED_SIG;\n\t\treturn tik_context;\n\t}\n\tmemcpy(tik_context.title_id,tik_struct.title_id,8);\n\t\n\t//printf(\"[+] CETK Title ID: \"); u8_hex_print_be(tik_context.title_id,0x8); printf(\"\\n\");\n\t//printf(\"[+] CETK Size:     0x%x\\n\",tik_context.tik_size);\n\t//printf(\"[+] CERT Size:     0x%x\\n\",tik_context.cert_size);\n\t\n\treturn tik_context;\n}\n\nTMD_CONTEXT process_tmd(FILE *tmd)\n{\n\tTMD_CONTEXT tmd_context;\n\tmemset(&tmd_context,0x0,sizeof(tmd_context));\n\t\n\ttmd_context.tmd = tmd;\n\t\n\tu32 sig_size = get_sig_size(0x0,tmd);\n\tif(sig_size == ERR_UNRECOGNISED_SIG){\n\t\tprintf(\"[!] The TMD signature could not be recognised\\n\");\n\t\ttmd_context.result = ERR_UNRECOGNISED_SIG;\n\t\treturn tmd_context;\n\t}\n\t\n\t\n\tTMD_STRUCT tmd_struct = get_tmd_struct(sig_size,tmd);\n\ttmd_context.content_count = u8_to_u16(tmd_struct.content_count,BIG_ENDIAN);\n\ttmd_context.tmd_size = get_tmd_size(sig_size,tmd_context.content_count);\n\ttmd_context.title_version = u8_to_u16(tmd_struct.title_version,BIG_ENDIAN);\n\t\n\ttmd_context.cert_offset[0] = tmd_context.tmd_size;\n\ttmd_context.cert_size[0] = get_cert_size(tmd_context.tmd_size,tmd);\n\ttmd_context.cert_offset[1] = tmd_context.tmd_size + tmd_context.cert_size[0];\n\ttmd_context.cert_size[1] = get_cert_size(tmd_context.cert_offset[1],tmd);\n\t\n\tif(tmd_context.cert_size[0] == ERR_UNRECOGNISED_SIG || tmd_context.cert_size[1] == ERR_UNRECOGNISED_SIG){\n\t\tprintf(\"[!] One or both of the signatures in the TMD 'Cert Chain' are unrecognised\\n\");\n\t\ttmd_context.result = ERR_UNRECOGNISED_SIG;\n\t\treturn tmd_context;\n\t}\n\tmemcpy(tmd_context.title_id,tmd_struct.title_id,8);\n\t\n\ttmd_context.content_struct = malloc(sizeof(TMD_CONTENT_CHUNK_STRUCT)*tmd_context.content_count);\n\tfor(u8 i = 0; i < tmd_context.content_count; i++){\n\t\ttmd_context.content_struct[i] = get_tmd_content_struct(sig_size,i,tmd);\n\t}\n\treturn tmd_context;\n}\n\nCIA_HEADER set_cia_header(TMD_CONTEXT tmd_context, TIK_CONTEXT tik_context)\n{\n\tCIA_HEADER cia_header;\n\tmemset(&cia_header,0,sizeof(cia_header));\n\tcia_header.header_size = sizeof(CIA_HEADER);\n\tcia_header.type = 0;\n\tcia_header.version = 0;\n\tcia_header.cert_size = get_total_cert_size(tmd_context,tik_context);\n\tcia_header.tik_size = tik_context.tik_size;\n\tcia_header.tmd_size = tmd_context.tmd_size;\n\tcia_header.meta_size = 0;\n\tcia_header.content_size = get_content_size(tmd_context);\n\tfor(int i = 0; i < tmd_context.content_count; i++) {\n\t\tu16 index = u8_to_u16(tmd_context.content_struct[i].content_index, BIG_ENDIAN);\n\t\tcia_header.content_index[index / 8] |= 0x80 >> (index & 7);\n\t}\n\treturn cia_header;\n}\n\nu32 get_tik_size(u32 sig_size)\n{\n\treturn (0x4 + sig_size + sizeof(TIK_STRUCT));\n}\n\nu32 get_tmd_size(u32 sig_size, u16 content_count)\n{\n\treturn (0x4 + sig_size + sizeof(TMD_STRUCT) + sizeof(TMD_CONTENT_CHUNK_STRUCT)*content_count);\n}\n\nu32 get_sig_size(u32 offset, FILE *file)\n{\n\tfseek(file,offset,SEEK_SET);\n\tu32 sig_type;\n\tfread(&sig_type,0x4,1,file);\n\tswitch(sig_type){\n\t\t/**\n\t\tcase(RSA_4096_SHA1): return 0x200;\n\t\tcase(RSA_2048_SHA1): return 0x100;\n\t\tcase(Elliptic_Curve_0): return 0x3C;\n\t\t**/\n\t\tcase(RSA_4096_SHA256): return 0x200;\n\t\tcase(RSA_2048_SHA256): return 0x100;\n\t\t//case(Elliptic_Curve_1): return 0x3C;\n\t}\n\treturn ERR_UNRECOGNISED_SIG;\n}\n\nu32 get_cert_size(u32 offset, FILE *file)\n{\n\tu32 sig_size = get_sig_size(offset,file);\n\tif(sig_size == ERR_UNRECOGNISED_SIG)\n\t\treturn ERR_UNRECOGNISED_SIG;\n\treturn (0x4+sig_size+sizeof(CERT_2048KEY_DATA_STRUCT));\n}\n\nu32 get_total_cert_size(TMD_CONTEXT tmd_context, TIK_CONTEXT tik_context)\n{\n\treturn (tik_context.cert_size[1] + tik_context.cert_size[0] + tmd_context.cert_size[0]);\n}\n\nu64 get_content_size(TMD_CONTEXT tmd_context)\n{\n\tu64 content_size = 0x0;\n\tfor(int i = 0; i < tmd_context.content_count; i++)\n\t\tcontent_size += read_content_size(tmd_context.content_struct[i]);\n\treturn content_size;\n}\n\nu64 read_content_size(TMD_CONTENT_CHUNK_STRUCT content_struct)\n{\n\treturn u8_to_u64(content_struct.content_size,BIG_ENDIAN);\n}\n\nu32 get_content_id(TMD_CONTENT_CHUNK_STRUCT content_struct)\n{\n\treturn u8_to_u32(content_struct.content_id,BIG_ENDIAN);\n}\n\nu64 get_title_id(TMD_CONTEXT content_struct)\n{\n\treturn u8_to_u64(content_struct.title_id,BIG_ENDIAN);\n}\n\nint write_cia_header(TMD_CONTEXT tmd_context, TIK_CONTEXT tik_context, FILE *output)\n{\n\tCIA_HEADER cia_header = set_cia_header(tmd_context,tik_context);\n\tfseek(output,0x0,SEEK_SET);\n\tfwrite(&cia_header,sizeof(cia_header),1,output);\n\n\t// Make sure we end on a 64-byte boundry\n\twrite_align_padding(output, 64);\n\n\treturn 0;\n}\n\nint write_cert_chain(TMD_CONTEXT tmd_context, TIK_CONTEXT tik_context, FILE *output)\n{\n\tu8 cert[0x1000];\n\t//The order of Certs in CIA goes, Root Cert, Cetk Cert, TMD Cert. In CDN format each file has it's own cert followed by a Root cert\n\t\n\t//Taking Root Cert from Cetk Cert chain(can be taken from TMD Cert Chain too)\n\tmemset(cert,0x0,tik_context.cert_size[1]);\n\tfseek(tik_context.tik,tik_context.cert_offset[1],SEEK_SET);\n\tfread(&cert,tik_context.cert_size[1],1,tik_context.tik);\n\tfwrite(&cert,tik_context.cert_size[1],1,output);\n\t\n\t//Writing Cetk Cert\n\tmemset(cert,0x0,tik_context.cert_size[0]);\n\tfseek(tik_context.tik,tik_context.cert_offset[0],SEEK_SET);\n\tfread(&cert,tik_context.cert_size[0],1,tik_context.tik);\n\tfwrite(&cert,tik_context.cert_size[0],1,output);\n\t\n\t//Writing TMD Cert\n\tmemset(cert,0x0,tmd_context.cert_size[0]);\n\tfseek(tmd_context.tmd,tmd_context.cert_offset[0],SEEK_SET);\n\tfread(&cert,tmd_context.cert_size[0],1,tmd_context.tmd);\n\tfwrite(&cert,tmd_context.cert_size[0],1,output);\n\n\t// Make sure we end on a 64-byte boundry\n\twrite_align_padding(output, 64);\n\t\n\treturn 0;\n}\n\nint write_tik(TMD_CONTEXT tmd_context, TIK_CONTEXT tik_context, FILE *output)\n{\n\tu8 tik[tik_context.tik_size];\n\t\n\tmemset(tik,0x0,tik_context.tik_size);\n\tfseek(tik_context.tik,0x0,SEEK_SET);\n\tfread(&tik,tik_context.tik_size,1,tik_context.tik);\n\tfwrite(&tik,tik_context.tik_size,1,output);\n\t\n\t// Make sure we end on a 64-byte boundry\n\twrite_align_padding(output, 64);\n\n\treturn 0;\n}\n\nint write_tmd(TMD_CONTEXT tmd_context, TIK_CONTEXT tik_context, FILE *output)\n{\n\tu8 tmd[tmd_context.tmd_size];\n\tmemset(tmd,0x0,tmd_context.tmd_size);\n\tfseek(tmd_context.tmd,0x0,SEEK_SET);\n\tfread(&tmd,tmd_context.tmd_size,1,tmd_context.tmd);\n\tfwrite(&tmd,tmd_context.tmd_size,1,output);\n\t\n\t// Make sure we end on a 64-byte boundry\n\twrite_align_padding(output, 64);\n\n\treturn 0;\n}\n\nint write_content(TMD_CONTEXT tmd_context, TIK_CONTEXT tik_context, FILE *output)\n{\n\tResult res = 0;\n\tfor(int i = 0; i < tmd_context.content_count; i++) {\n\t\tprintf(\"Downloading content %d of %d\\n\", i + 1, tmd_context.content_count);\n\t\tchar content_id[16];\n\t\tchar title_id[32];\n\t\tsprintf(content_id,\"%08lx\",get_content_id(tmd_context.content_struct[i]));\n\t\tsprintf(title_id,\"%016llx\",get_title_id(tmd_context));\n\n\t\tchar *url = malloc(48 + strlen(NUS_URL) + 1);\n\t\tsprintf(url, \"%s%s/%s\", NUS_URL, title_id, content_id);\n\t\tres = DownloadFile(url, output, true);\n\t\tfree(url);\n\n\t\tif (R_FAILED(res))\n\t\t{\n\t\t\tbreak;\n\t\t}\n\n\t}\n\treturn res;\n}\n\n\nint install_cia_header(TMD_CONTEXT tmd_context, TIK_CONTEXT tik_context, u32* offset, Handle handle)\n{\n\tu32 bytesWritten;\n\tCIA_HEADER cia_header = set_cia_header(tmd_context,tik_context);\n\n\tFSFILE_Write(handle, &bytesWritten, *offset, &cia_header, sizeof(cia_header), 0);\n\t*offset += bytesWritten;\n\n\t// Make sure we end on a 64-byte boundry\n\tinstall_write_align_padding(handle, offset, 64);\n\n\treturn 0;\n}\n\nint install_cert_chain(TMD_CONTEXT tmd_context, TIK_CONTEXT tik_context, u32* offset, Handle handle)\n{\n\tu32 bytesWritten;\n\tu8 cert[0x1000];\n\t//The order of Certs in CIA goes, Root Cert, Cetk Cert, TMD Cert. In CDN format each file has it's own cert followed by a Root cert\n\t\n\t//Taking Root Cert from Cetk Cert chain(can be taken from TMD Cert Chain too)\n\tmemset(cert,0x0,tik_context.cert_size[1]);\n\tfseek(tik_context.tik,tik_context.cert_offset[1],SEEK_SET);\n\tfread(&cert,tik_context.cert_size[1],1,tik_context.tik);\n\tFSFILE_Write(handle, &bytesWritten, *offset, &cert, tik_context.cert_size[1], 0);\n\t*offset += bytesWritten;\n\t\n\t//Writing Cetk Cert\n\tmemset(cert,0x0,tik_context.cert_size[0]);\n\tfseek(tik_context.tik,tik_context.cert_offset[0],SEEK_SET);\n\tfread(&cert,tik_context.cert_size[0],1,tik_context.tik);\n\tFSFILE_Write(handle, &bytesWritten, *offset, &cert, tik_context.cert_size[0], 0);\n\t*offset += bytesWritten;\n\t\n\t//Writing TMD Cert\n\tmemset(cert,0x0,tmd_context.cert_size[0]);\n\tfseek(tmd_context.tmd,tmd_context.cert_offset[0],SEEK_SET);\n\tfread(&cert,tmd_context.cert_size[0],1,tmd_context.tmd);\n\tFSFILE_Write(handle, &bytesWritten, *offset, &cert, tmd_context.cert_size[0], 0);\n\t*offset += bytesWritten;\n\n\t// Make sure we end on a 64-byte boundry\n\tinstall_write_align_padding(handle, offset, 64);\n\t\n\treturn 0;\n}\n\nint install_tik(TMD_CONTEXT tmd_context, TIK_CONTEXT tik_context, u32* offset, Handle handle)\n{\n\tu32 bytesWritten;\n\tu8 tik[tik_context.tik_size];\n\t\n\tmemset(tik,0x0,tik_context.tik_size);\n\tfseek(tik_context.tik,0x0,SEEK_SET);\n\tfread(&tik,tik_context.tik_size,1,tik_context.tik);\n\tFSFILE_Write(handle, &bytesWritten, *offset, &tik, tik_context.tik_size, 0);\n\t*offset += bytesWritten;\n\t\n\t// Make sure we end on a 64-byte boundry\n\tinstall_write_align_padding(handle, offset, 64);\n\n\treturn 0;\n}\n\nint install_tmd(TMD_CONTEXT tmd_context, TIK_CONTEXT tik_context, u32* offset, Handle handle)\n{\n\tu32 bytesWritten;\n\tu8 tmd[tmd_context.tmd_size];\n\tmemset(tmd,0x0,tmd_context.tmd_size);\n\tfseek(tmd_context.tmd,0x0,SEEK_SET);\n\tfread(&tmd,tmd_context.tmd_size,1,tmd_context.tmd);\n\tFSFILE_Write(handle, &bytesWritten, *offset, &tmd, tmd_context.tmd_size, 0);\n\t*offset += bytesWritten;\n\t\n\t// Make sure we end on a 64-byte boundry\n\tinstall_write_align_padding(handle, offset, 64);\n\n\treturn 0;\n}\n\nResult install_content(TMD_CONTEXT tmd_context, TIK_CONTEXT tik_context, u32* offset, Handle handle)\n{\n\tResult res = 0;\n\tfor(int i = 0; i < tmd_context.content_count; i++) {\n\t\tprintf(\"Installing content %d of %d\\n\", i + 1, tmd_context.content_count);\n\t\tchar content_id[16];\n\t\tchar title_id[32];\n\t\tsprintf(content_id,\"%08lx\",get_content_id(tmd_context.content_struct[i]));\n\t\tsprintf(title_id,\"%016llx\",get_title_id(tmd_context));\n\n\t\tchar *url = malloc(48 + strlen(NUS_URL) + 1);\n\t\tsprintf(url, \"%s%s/%s\", NUS_URL, title_id, content_id);\n\n\t\tres = DownloadFileInstall(url, &handle, offset);\n\t\tfree(url);\n\n\t\tif (R_FAILED(res))\n\t\t{\n\t\t\tbreak;\n\t\t}\n\t}\n\n\treturn res;\n}\n\nvoid install_write_align_padding(Handle handle, u32* offset, size_t alignment)\n{\n\tlong int usedbytes = *offset & (alignment - 1);\n\tif (usedbytes)\n\t{\n\t\tu32 bytesWritten;\n\t\t// Create the padding strings\n\t\tlong int padbytes = (alignment - usedbytes);\n\t\tchar* pad = (char*)malloc(padbytes);\n\t\tmemset(pad, 0, padbytes);\n\n\t\t// Write it, and increase the offset\n\t\tFSFILE_Write(handle, &bytesWritten, *offset, pad, padbytes, 0);\n\t\t*offset += bytesWritten;\n\t\tfree(pad);\n\t}\n}\n\n\nTIK_STRUCT get_tik_struct(u32 sig_size, FILE *tik)\n{\n\tTIK_STRUCT tik_struct;\n\tfseek(tik,(0x4+sig_size),SEEK_SET);\n\tfread(&tik_struct,sizeof(tik_struct),1,tik);\n\treturn tik_struct;\n}\n\nTMD_STRUCT get_tmd_struct(u32 sig_size, FILE *tmd)\n{\n\tTMD_STRUCT tmd_struct;\n\tfseek(tmd,(0x4+sig_size),SEEK_SET);\n\tfread(&tmd_struct,sizeof(tmd_struct),1,tmd);\n\treturn tmd_struct;\n}\n\nTMD_CONTENT_CHUNK_STRUCT get_tmd_content_struct(u32 sig_size, u8 index, FILE *tmd)\n{\n\tfseek(tmd,(0x4+sig_size+sizeof(TMD_STRUCT)+sizeof(TMD_CONTENT_CHUNK_STRUCT)*index),SEEK_SET);\n\tTMD_CONTENT_CHUNK_STRUCT content_struct;\n\tfread(&content_struct,sizeof(content_struct),1,tmd);\n\treturn content_struct;\n}\n\nvoid print_content_chunk_info(TMD_CONTENT_CHUNK_STRUCT content_struct)\n{\n\tprintf(\"\\n[+] Content ID:    %08lx\\n\",u8_to_u32(content_struct.content_id,BIG_ENDIAN));\n\tprintf(\"[+] Content Index: %d\\n\",u8_to_u16(content_struct.content_index,BIG_ENDIAN));\n\tprintf(\"[+] Content Type:  %d\\n\",u8_to_u16(content_struct.content_type,BIG_ENDIAN));\n\tprintf(\"[+] Content Size:  0x%llx\\n\",u8_to_u64(content_struct.content_size,BIG_ENDIAN));\n\tprintf(\"[+] SHA-256 Hash:  \"); u8_hex_print_be(content_struct.sha_256_hash,0x20); printf(\"\\n\");\n}\n\nint check_tid(u8 *tid_0, u8 *tid_1)\n{\n\tfor(int i = 0; i < 8; i++){\n\t\tif(tid_0[i] != tid_1[i])\n\t\t\treturn FALSE;\n\t}\n\treturn TRUE;\n}\n"
  },
  {
    "path": "source/cia.h",
    "content": "/**\nCopyright 2013 3DSGuy\n\nThis file is part of make_cdn_cia.\n\nmake_cdn_cia is free software: you can redistribute it and/or modify\nit under the terms of the GNU General Public License as published by\nthe Free Software Foundation, either version 3 of the License, or\n(at your option) any later version.\n\nmake_cdn_cia is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\nGNU General Public License for more details.\n\nYou should have received a copy of the GNU General Public License\nalong with make_cdn_cia.  If not, see <http://www.gnu.org/licenses/>.\n**/\n\n#include <3ds.h>\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n//Sig Types\n#define Elliptic_Curve_1 0x05000100\n#define RSA_2048_SHA256 0x04000100\n#define RSA_4096_SHA256 0x03000100\n#define Elliptic_Curve_0 0x02000100\n#define RSA_2048_SHA1 0x01000100\n#define RSA_4096_SHA1 0x00000100\n//Errors\n#define ERR_UNRECOGNISED_SIG 2\n\ntypedef struct\n{\n\tu8 modulus[0x100];\n\tu8 exponent[0x4];\n} __attribute__((__packed__))\nRSA_2048_PUB_KEY;\n\ntypedef struct\n{\n\tu8 padding_0[0x3c];\n\tu8 issuer[0x40];\n\tu8 tag_0[4];\n\tu8 name[0x40];\n\tu8 tag_1[0x4];\n\tRSA_2048_PUB_KEY pubk;\n\tu8 padding_1[0x34];\n} __attribute__((__packed__))\nCERT_2048KEY_DATA_STRUCT;\n\ntypedef struct\n{\n\tu8 padding_0[0x3c];\n\tu8 issuer[0x40];\n\tu8 version;\n\tu8 ca_crl_version;\n\tu8 signer_crl_version;\n\tu8 padding_1;\n} __attribute__((__packed__))\nTMD_SIG_STRUCT;\n\ntypedef struct\n{\n\tu8 content_id[4];\n\tu8 content_index[2];\n\tu8 content_type[2];\n\tu8 content_size[8];\n\tu8 sha_256_hash[0x20];\n} __attribute__((__packed__))\nTMD_CONTENT_CHUNK_STRUCT;\n\ntypedef struct\n{\n\tTMD_SIG_STRUCT tmd_sig;\n\tu8 system_version[8];\n\tu8 title_id[8];\n\tu8 title_type[4];\n\tu8 reserved[0x40];\n\tu8 access_rights[4];\n\tu8 title_version[2];\n\tu8 content_count[2];\n\tu8 boot_content[2];\n\tu8 padding[2];\n\tu8 sha_256_hash[0x20];\n\tu8 content_info_records[0x900];\n} __attribute__((__packed__)) \nTMD_STRUCT;\n\ntypedef struct\n{\n\tu8 padding_0[0x3c];\n\tu8 issuer[0x40];\n\tu8 ECDH[0x3c];\n\tu8 unknown[3];\n} __attribute__((__packed__))\nTIK_SIG_STRUCT;\n\ntypedef struct\n{\n\tTIK_SIG_STRUCT tik_sig;\n\tu8 encrypted_title_key[0x10];\n\tu8 unknown_0;\n\tu8 ticket_id[8];\n\tu8 ticket_consoleID[4];\n\tu8 title_id[8];\n\tu8 unknown_1[2];\n\tu8 title_version[2];\n\tu8 unused_0[8];\n\tu8 unused_1;\n\tu8 common_key_index;\n\tu8 unknown_2[0x15e];\n} __attribute__((__packed__)) \nTIK_STRUCT;\n\ntypedef struct\n{\n\tu8 result;\n\n\tFILE *tmd;\n\tu8 title_id[8];\n\tu16 title_version;\n\tu32 tmd_size;\n\tu32 cert_offset[2];\n\tu32 cert_size[2];\n\tu16 content_count;\n\tTMD_CONTENT_CHUNK_STRUCT *content_struct;\n\t\n\tu16 *title_index;\n} __attribute__((__packed__)) \nTMD_CONTEXT;\n\ntypedef struct\n{\n\tu8 result;\n\t\n\tFILE *tik;\n\tu8 title_id[8];\n\tu16 title_version;\n\tu32 tik_size;\n\tu32 cert_offset[2];\n\tu32 cert_size[2];\n} __attribute__((__packed__)) \nTIK_CONTEXT;\n\ntypedef struct\n{\n\tu32 header_size;\n\tu16 type;\n\tu16 version;\n\tu32 cert_size;\n\tu32 tik_size;\n\tu32 tmd_size;\n\tu32 meta_size;\n\tu64 content_size;\n\tu8 content_index[0x2000];\n} CIA_HEADER;\n\n// Main Functions\nint generate_cia(TMD_CONTEXT tmd_context, TIK_CONTEXT tik_context, FILE *output);\nint install_cia(TMD_CONTEXT tmd_context, TIK_CONTEXT tik_context);\n\n//Processing Functions\nTIK_CONTEXT process_tik(FILE *tik);\nTMD_CONTEXT process_tmd(FILE *tmd);\nCIA_HEADER set_cia_header(TMD_CONTEXT tmd_context, TIK_CONTEXT tik_context);\n\n//Reading/Calc Functions\nu32 get_tik_size(u32 sig_size);\nu32 get_tmd_size(u32 sig_size, u16 content_count);\nu32 get_sig_size(u32 offset, FILE *file);\nu32 get_cert_size(u32 offset, FILE *file);\nu64 get_content_size(TMD_CONTEXT tmd_context);\nu64 read_content_size(TMD_CONTENT_CHUNK_STRUCT content_struct);\nu32 get_total_cert_size(TMD_CONTEXT tmd_context, TIK_CONTEXT tik_context);\nu32 get_content_id(TMD_CONTENT_CHUNK_STRUCT content_struct);\nu64 get_title_id(TMD_CONTEXT content_struct);\n\n//Writing functions\nint write_cia_header(TMD_CONTEXT tmd_context, TIK_CONTEXT tik_context, FILE *output);\nint write_cert_chain(TMD_CONTEXT tmd_context, TIK_CONTEXT tik_context, FILE *output);\nint write_tik(TMD_CONTEXT tmd_context, TIK_CONTEXT tik_context, FILE *output);\nint write_tmd(TMD_CONTEXT tmd_context, TIK_CONTEXT tik_context, FILE *output);\nint write_content(TMD_CONTEXT tmd_context, TIK_CONTEXT tik_context, FILE *output);\n\n// Install functions\nint install_cia_header(TMD_CONTEXT tmd_context, TIK_CONTEXT tik_context, u32* offset, Handle handle);\nint install_cert_chain(TMD_CONTEXT tmd_context, TIK_CONTEXT tik_context, u32* offset, Handle handle);\nint install_tik(TMD_CONTEXT tmd_context, TIK_CONTEXT tik_context, u32* offset, Handle handle);\nint install_tmd(TMD_CONTEXT tmd_context, TIK_CONTEXT tik_context, u32* offset, Handle handle);\nResult install_content(TMD_CONTEXT tmd_context, TIK_CONTEXT tik_context, u32* offset, Handle handle);\nvoid install_write_align_padding(Handle handle, u32* offset, size_t alignment);\n\n//Get Struct Functions\nTIK_STRUCT get_tik_struct(u32 sig_size, FILE *tik);\nTMD_STRUCT get_tmd_struct(u32 sig_size, FILE *tmd);\nTMD_CONTENT_CHUNK_STRUCT get_tmd_content_struct(u32 sig_size, u8 index, FILE *tmd);\n\n//Printing Functions\nvoid print_content_chunk_info(TMD_CONTENT_CHUNK_STRUCT content_struct);\n\n//Checking Functions\nint check_tid(u8 *tid_0, u8 *tid_1);\n\n#ifdef __cplusplus\n}\n#endif\n"
  },
  {
    "path": "source/config.cpp",
    "content": "#include <string>\n#include <fstream>\n#include \"config.h\"\n#include \"json/json.h\"\n\nusing namespace std;\n\nCConfig::CConfig()\n{\n    // Empty\n}\n\nvoid CConfig::LoadConfig(string sConfigPath)\n{\n    // Store the config path so we can save it later\n    m_sConfigPath = sConfigPath;\n\n    std::ifstream ifs(m_sConfigPath);\n    if (ifs.is_open()) {\n        ifs >> m_Json;\n    }\n\n    // Mode defaults to Install CIA\n    m_eMode = (Mode)m_Json.get(\"Mode\", (int)Mode::INSTALL_CIA).asInt();\n    m_sRegionFilter = m_Json.get(\"RegionFilter\", \"off\").asString();\n}\n\nbool CConfig::SaveConfig()\n{\n    // Update the config\n    m_Json[\"Mode\"] = (int)m_eMode;\n    m_Json[\"RegionFilter\"] = m_sRegionFilter;\n\n    // Write to file\n    std::ofstream ofs(m_sConfigPath, std::ofstream::trunc);\n    if (ofs.is_open())\n    {\n        ofs << m_Json;\n        return true;\n    }\n\n    return false;\n}\n\nCConfig::Mode CConfig::GetMode()\n{\n    return m_eMode;\n}\n\nvoid CConfig::SetMode(CConfig::Mode mode)\n{\n    m_eMode = mode;\n    SaveConfig();\n}\n\nstd::string CConfig::GetRegionFilter()\n{\n    return m_sRegionFilter;\n}\n\nvoid CConfig::SetRegionFilter(std::string region)\n{\n    m_sRegionFilter = region;\n    SaveConfig();\n}"
  },
  {
    "path": "source/config.h",
    "content": "#pragma once\n#include <string>\n#include \"json/json.h\"\n\nclass CConfig {\npublic:\n    CConfig();\n    void LoadConfig(std::string sConfigPath);\n    bool SaveConfig();\n\n    enum Mode {\n        DOWNLOAD_CIA, \n        INSTALL_CIA, \n        INSTALL_TICKET\n    };\n\n    Mode GetMode();\n    void SetMode(Mode mode);\n    std::string GetRegionFilter();\n    void SetRegionFilter(std::string region);\n\nprivate:\n    std::string m_sConfigPath;\n\n    // Config options\n    Mode m_eMode;\n    std::string m_sRegionFilter;\n\n    Json::Value m_Json;\n};\n"
  },
  {
    "path": "source/data.h",
    "content": "#define TICKET_SIZE 0xA50\nconst char tikTemp[TICKET_SIZE] = {\n    0x00, 0x01, 0x00, 0x04, 0xD1, 0x5E, 0xA5, 0xE0, 0xD1, 0x5E, 0xA5, 0xE0,\n    0xD1, 0x5E, 0xA5, 0xE0, 0xD1, 0x5E, 0xA5, 0xE0, 0xD1, 0x5E, 0xA5, 0xE0,\n    0xD1, 0x5E, 0xA5, 0xE0, 0xD1, 0x5E, 0xA5, 0xE0, 0xD1, 0x5E, 0xA5, 0xE0,\n    0xD1, 0x5E, 0xA5, 0xE0, 0xD1, 0x5E, 0xA5, 0xE0, 0xD1, 0x5E, 0xA5, 0xE0,\n    0xD1, 0x5E, 0xA5, 0xE0, 0xD1, 0x5E, 0xA5, 0xE0, 0xD1, 0x5E, 0xA5, 0xE0,\n    0xD1, 0x5E, 0xA5, 0xE0, 0xD1, 0x5E, 0xA5, 0xE0, 0xD1, 0x5E, 0xA5, 0xE0,\n    0xD1, 0x5E, 0xA5, 0xE0, 0xD1, 0x5E, 0xA5, 0xE0, 0xD1, 0x5E, 0xA5, 0xE0,\n    0xD1, 0x5E, 0xA5, 0xE0, 0xD1, 0x5E, 0xA5, 0xE0, 0xD1, 0x5E, 0xA5, 0xE0,\n    0xD1, 0x5E, 0xA5, 0xE0, 0xD1, 0x5E, 0xA5, 0xE0, 0xD1, 0x5E, 0xA5, 0xE0,\n    0xD1, 0x5E, 0xA5, 0xE0, 0xD1, 0x5E, 0xA5, 0xE0, 0xD1, 0x5E, 0xA5, 0xE0,\n    0xD1, 0x5E, 0xA5, 0xE0, 0xD1, 0x5E, 0xA5, 0xE0, 0xD1, 0x5E, 0xA5, 0xE0,\n    0xD1, 0x5E, 0xA5, 0xE0, 0xD1, 0x5E, 0xA5, 0xE0, 0xD1, 0x5E, 0xA5, 0xE0,\n    0xD1, 0x5E, 0xA5, 0xE0, 0xD1, 0x5E, 0xA5, 0xE0, 0xD1, 0x5E, 0xA5, 0xE0,\n    0xD1, 0x5E, 0xA5, 0xE0, 0xD1, 0x5E, 0xA5, 0xE0, 0xD1, 0x5E, 0xA5, 0xE0,\n    0xD1, 0x5E, 0xA5, 0xE0, 0xD1, 0x5E, 0xA5, 0xE0, 0xD1, 0x5E, 0xA5, 0xE0,\n    0xD1, 0x5E, 0xA5, 0xE0, 0xD1, 0x5E, 0xA5, 0xE0, 0xD1, 0x5E, 0xA5, 0xE0,\n    0xD1, 0x5E, 0xA5, 0xE0, 0xD1, 0x5E, 0xA5, 0xE0, 0xD1, 0x5E, 0xA5, 0xE0,\n    0xD1, 0x5E, 0xA5, 0xE0, 0xD1, 0x5E, 0xA5, 0xE0, 0xD1, 0x5E, 0xA5, 0xE0,\n    0xD1, 0x5E, 0xA5, 0xE0, 0xD1, 0x5E, 0xA5, 0xE0, 0xD1, 0x5E, 0xA5, 0xE0,\n    0xD1, 0x5E, 0xA5, 0xE0, 0xD1, 0x5E, 0xA5, 0xE0, 0xD1, 0x5E, 0xA5, 0xE0,\n    0xD1, 0x5E, 0xA5, 0xE0, 0xD1, 0x5E, 0xA5, 0xE0, 0xD1, 0x5E, 0xA5, 0xE0,\n    0xD1, 0x5E, 0xA5, 0xE0, 0xD1, 0x5E, 0xA5, 0xE0, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x6F, 0x6F, 0x74,\n    0x2D, 0x43, 0x41, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x33, 0x2D,\n    0x58, 0x53, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x63, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n    0xFE, 0xED, 0xFA, 0xCE, 0xFE, 0xED, 0xFA, 0xCE, 0xFE, 0xED, 0xFA, 0xCE,\n    0xFE, 0xED, 0xFA, 0xCE, 0xFE, 0xED, 0xFA, 0xCE, 0xFE, 0xED, 0xFA, 0xCE,\n    0xFE, 0xED, 0xFA, 0xCE, 0xFE, 0xED, 0xFA, 0xCE, 0xFE, 0xED, 0xFA, 0xCE,\n    0xFE, 0xED, 0xFA, 0xCE, 0xFE, 0xED, 0xFA, 0xCE, 0xFE, 0xED, 0xFA, 0xCE,\n    0xFE, 0xED, 0xFA, 0xCE, 0xFE, 0xED, 0xFA, 0xCE, 0xFE, 0xED, 0xFA, 0xCE,\n    0x01, 0x00, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC,\n    0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x00, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xAA, 0xAA, 0xAA, 0xAA,\n    0xAA, 0xAA, 0xAA, 0xAA, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x14, 0x00, 0x00, 0x00, 0xAC,\n    0x00, 0x00, 0x00, 0x14, 0x00, 0x01, 0x00, 0x14, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x84,\n    0x00, 0x00, 0x00, 0x84, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,\n    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,\n    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x04,\n    0x91, 0x9E, 0xBE, 0x46, 0x4A, 0xD0, 0xF5, 0x52, 0xCD, 0x1B, 0x72, 0xE7,\n    0x88, 0x49, 0x10, 0xCF, 0x55, 0xA9, 0xF0, 0x2E, 0x50, 0x78, 0x96, 0x41,\n    0xD8, 0x96, 0x68, 0x3D, 0xC0, 0x05, 0xBD, 0x0A, 0xEA, 0x87, 0x07, 0x9D,\n    0x8A, 0xC2, 0x84, 0xC6, 0x75, 0x06, 0x5F, 0x74, 0xC8, 0xBF, 0x37, 0xC8,\n    0x80, 0x44, 0x40, 0x95, 0x02, 0xA0, 0x22, 0x98, 0x0B, 0xB8, 0xAD, 0x48,\n    0x38, 0x3F, 0x6D, 0x28, 0xA7, 0x9D, 0xE3, 0x96, 0x26, 0xCC, 0xB2, 0xB2,\n    0x2A, 0x0F, 0x19, 0xE4, 0x10, 0x32, 0xF0, 0x94, 0xB3, 0x9F, 0xF0, 0x13,\n    0x31, 0x46, 0xDE, 0xC8, 0xF6, 0xC1, 0xA9, 0xD5, 0x5C, 0xD2, 0x8D, 0x9E,\n    0x1C, 0x47, 0xB3, 0xD1, 0x1F, 0x4F, 0x54, 0x26, 0xC2, 0xC7, 0x80, 0x13,\n    0x5A, 0x27, 0x75, 0xD3, 0xCA, 0x67, 0x9B, 0xC7, 0xE8, 0x34, 0xF0, 0xE0,\n    0xFB, 0x58, 0xE6, 0x88, 0x60, 0xA7, 0x13, 0x30, 0xFC, 0x95, 0x79, 0x17,\n    0x93, 0xC8, 0xFB, 0xA9, 0x35, 0xA7, 0xA6, 0x90, 0x8F, 0x22, 0x9D, 0xEE,\n    0x2A, 0x0C, 0xA6, 0xB9, 0xB2, 0x3B, 0x12, 0xD4, 0x95, 0xA6, 0xFE, 0x19,\n    0xD0, 0xD7, 0x26, 0x48, 0x21, 0x68, 0x78, 0x60, 0x5A, 0x66, 0x53, 0x8D,\n    0xBF, 0x37, 0x68, 0x99, 0x90, 0x5D, 0x34, 0x45, 0xFC, 0x5C, 0x72, 0x7A,\n    0x0E, 0x13, 0xE0, 0xE2, 0xC8, 0x97, 0x1C, 0x9C, 0xFA, 0x6C, 0x60, 0x67,\n    0x88, 0x75, 0x73, 0x2A, 0x4E, 0x75, 0x52, 0x3D, 0x2F, 0x56, 0x2F, 0x12,\n    0xAA, 0xBD, 0x15, 0x73, 0xBF, 0x06, 0xC9, 0x40, 0x54, 0xAE, 0xFA, 0x81,\n    0xA7, 0x14, 0x17, 0xAF, 0x9A, 0x4A, 0x06, 0x6D, 0x0F, 0xFC, 0x5A, 0xD6,\n    0x4B, 0xAB, 0x28, 0xB1, 0xFF, 0x60, 0x66, 0x1F, 0x44, 0x37, 0xD4, 0x9E,\n    0x1E, 0x0D, 0x94, 0x12, 0xEB, 0x4B, 0xCA, 0xCF, 0x4C, 0xFD, 0x6A, 0x34,\n    0x08, 0x84, 0x79, 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x52, 0x6F, 0x6F, 0x74, 0x2D, 0x43, 0x41, 0x30,\n    0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,\n    0x58, 0x53, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x63, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x13, 0x7A, 0x08, 0x94, 0xAD, 0x50, 0x5B, 0xB6,\n    0xC6, 0x7E, 0x2E, 0x5B, 0xDD, 0x6A, 0x3B, 0xEC, 0x43, 0xD9, 0x10, 0xC7,\n    0x72, 0xE9, 0xCC, 0x29, 0x0D, 0xA5, 0x85, 0x88, 0xB7, 0x7D, 0xCC, 0x11,\n    0x68, 0x0B, 0xB3, 0xE2, 0x9F, 0x4E, 0xAB, 0xBB, 0x26, 0xE9, 0x8C, 0x26,\n    0x01, 0x98, 0x5C, 0x04, 0x1B, 0xB1, 0x43, 0x78, 0xE6, 0x89, 0x18, 0x1A,\n    0xAD, 0x77, 0x05, 0x68, 0xE9, 0x28, 0xA2, 0xB9, 0x81, 0x67, 0xEE, 0x3E,\n    0x10, 0xD0, 0x72, 0xBE, 0xEF, 0x1F, 0xA2, 0x2F, 0xA2, 0xAA, 0x3E, 0x13,\n    0xF1, 0x1E, 0x18, 0x36, 0xA9, 0x2A, 0x42, 0x81, 0xEF, 0x70, 0xAA, 0xF4,\n    0xE4, 0x62, 0x99, 0x82, 0x21, 0xC6, 0xFB, 0xB9, 0xBD, 0xD0, 0x17, 0xE6,\n    0xAC, 0x59, 0x04, 0x94, 0xE9, 0xCE, 0xA9, 0x85, 0x9C, 0xEB, 0x2D, 0x2A,\n    0x4C, 0x17, 0x66, 0xF2, 0xC3, 0x39, 0x12, 0xC5, 0x8F, 0x14, 0xA8, 0x03,\n    0xE3, 0x6F, 0xCC, 0xDC, 0xCC, 0xDC, 0x13, 0xFD, 0x7A, 0xE7, 0x7C, 0x7A,\n    0x78, 0xD9, 0x97, 0xE6, 0xAC, 0xC3, 0x55, 0x57, 0xE0, 0xD3, 0xE9, 0xEB,\n    0x64, 0xB4, 0x3C, 0x92, 0xF4, 0xC5, 0x0D, 0x67, 0xA6, 0x02, 0xDE, 0xB3,\n    0x91, 0xB0, 0x66, 0x61, 0xCD, 0x32, 0x88, 0x0B, 0xD6, 0x49, 0x12, 0xAF,\n    0x1C, 0xBC, 0xB7, 0x16, 0x2A, 0x06, 0xF0, 0x25, 0x65, 0xD3, 0xB0, 0xEC,\n    0xE4, 0xFC, 0xEC, 0xDD, 0xAE, 0x8A, 0x49, 0x34, 0xDB, 0x8E, 0xE6, 0x7F,\n    0x30, 0x17, 0x98, 0x62, 0x21, 0x15, 0x5D, 0x13, 0x1C, 0x6C, 0x3F, 0x09,\n    0xAB, 0x19, 0x45, 0xC2, 0x06, 0xAC, 0x70, 0xC9, 0x42, 0xB3, 0x6F, 0x49,\n    0xA1, 0x18, 0x3B, 0xCD, 0x78, 0xB6, 0xE4, 0xB4, 0x7C, 0x6C, 0x5C, 0xAC,\n    0x0F, 0x8D, 0x62, 0xF8, 0x97, 0xC6, 0x95, 0x3D, 0xD1, 0x2F, 0x28, 0xB7,\n    0x0C, 0x5B, 0x7D, 0xF7, 0x51, 0x81, 0x9A, 0x98, 0x34, 0x65, 0x26, 0x25,\n    0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x03,\n    0x70, 0x41, 0x38, 0xEF, 0xBB, 0xBD, 0xA1, 0x6A, 0x98, 0x7D, 0xD9, 0x01,\n    0x32, 0x6D, 0x1C, 0x94, 0x59, 0x48, 0x4C, 0x88, 0xA2, 0x86, 0x1B, 0x91,\n    0xA3, 0x12, 0x58, 0x7A, 0xE7, 0x0E, 0xF6, 0x23, 0x7E, 0xC5, 0x0E, 0x10,\n    0x32, 0xDC, 0x39, 0xDD, 0xE8, 0x9A, 0x96, 0xA8, 0xE8, 0x59, 0xD7, 0x6A,\n    0x98, 0xA6, 0xE7, 0xE3, 0x6A, 0x0C, 0xFE, 0x35, 0x2C, 0xA8, 0x93, 0x05,\n    0x82, 0x34, 0xFF, 0x83, 0x3F, 0xCB, 0x3B, 0x03, 0x81, 0x1E, 0x9F, 0x0D,\n    0xC0, 0xD9, 0xA5, 0x2F, 0x80, 0x45, 0xB4, 0xB2, 0xF9, 0x41, 0x1B, 0x67,\n    0xA5, 0x1C, 0x44, 0xB5, 0xEF, 0x8C, 0xE7, 0x7B, 0xD6, 0xD5, 0x6B, 0xA7,\n    0x57, 0x34, 0xA1, 0x85, 0x6D, 0xE6, 0xD4, 0xBE, 0xD6, 0xD3, 0xA2, 0x42,\n    0xC7, 0xC8, 0x79, 0x1B, 0x34, 0x22, 0x37, 0x5E, 0x5C, 0x77, 0x9A, 0xBF,\n    0x07, 0x2F, 0x76, 0x95, 0xEF, 0xA0, 0xF7, 0x5B, 0xCB, 0x83, 0x78, 0x9F,\n    0xC3, 0x0E, 0x3F, 0xE4, 0xCC, 0x83, 0x92, 0x20, 0x78, 0x40, 0x63, 0x89,\n    0x49, 0xC7, 0xF6, 0x88, 0x56, 0x5F, 0x64, 0x9B, 0x74, 0xD6, 0x3D, 0x8D,\n    0x58, 0xFF, 0xAD, 0xDA, 0x57, 0x1E, 0x95, 0x54, 0x42, 0x6B, 0x13, 0x18,\n    0xFC, 0x46, 0x89, 0x83, 0xD4, 0xC8, 0xA5, 0x62, 0x8B, 0x06, 0xB6, 0xFC,\n    0x5D, 0x50, 0x7C, 0x13, 0xE7, 0xA1, 0x8A, 0xC1, 0x51, 0x1E, 0xB6, 0xD6,\n    0x2E, 0xA5, 0x44, 0x8F, 0x83, 0x50, 0x14, 0x47, 0xA9, 0xAF, 0xB3, 0xEC,\n    0xC2, 0x90, 0x3C, 0x9D, 0xD5, 0x2F, 0x92, 0x2A, 0xC9, 0xAC, 0xDB, 0xEF,\n    0x58, 0xC6, 0x02, 0x18, 0x48, 0xD9, 0x6E, 0x20, 0x87, 0x32, 0xD3, 0xD1,\n    0xD9, 0xD9, 0xEA, 0x44, 0x0D, 0x91, 0x62, 0x1C, 0x7A, 0x99, 0xDB, 0x88,\n    0x43, 0xC5, 0x9C, 0x1F, 0x2E, 0x2C, 0x7D, 0x9B, 0x57, 0x7D, 0x51, 0x2C,\n    0x16, 0x6D, 0x6F, 0x7E, 0x1A, 0xAD, 0x4A, 0x77, 0x4A, 0x37, 0x44, 0x7E,\n    0x78, 0xFE, 0x20, 0x21, 0xE1, 0x4A, 0x95, 0xD1, 0x12, 0xA0, 0x68, 0xAD,\n    0xA0, 0x19, 0xF4, 0x63, 0xC7, 0xA5, 0x56, 0x85, 0xAA, 0xBB, 0x68, 0x88,\n    0xB9, 0x24, 0x64, 0x83, 0xD1, 0x8B, 0x9C, 0x80, 0x6F, 0x47, 0x49, 0x18,\n    0x33, 0x17, 0x82, 0x34, 0x4A, 0x4B, 0x85, 0x31, 0x33, 0x4B, 0x26, 0x30,\n    0x32, 0x63, 0xD9, 0xD2, 0xEB, 0x4F, 0x4B, 0xB9, 0x96, 0x02, 0xB3, 0x52,\n    0xF6, 0xAE, 0x40, 0x46, 0xC6, 0x9A, 0x5E, 0x7E, 0x8E, 0x4A, 0x18, 0xEF,\n    0x9B, 0xC0, 0xA2, 0xDE, 0xD6, 0x13, 0x10, 0x41, 0x70, 0x12, 0xFD, 0x82,\n    0x4C, 0xC1, 0x16, 0xCF, 0xB7, 0xC4, 0xC1, 0xF7, 0xEC, 0x71, 0x77, 0xA1,\n    0x74, 0x46, 0xCB, 0xDE, 0x96, 0xF3, 0xED, 0xD8, 0x8F, 0xCD, 0x05, 0x2F,\n    0x0B, 0x88, 0x8A, 0x45, 0xFD, 0xAF, 0x2B, 0x63, 0x13, 0x54, 0xF4, 0x0D,\n    0x16, 0xE5, 0xFA, 0x9C, 0x2C, 0x4E, 0xDA, 0x98, 0xE7, 0x98, 0xD1, 0x5E,\n    0x60, 0x46, 0xDC, 0x53, 0x63, 0xF3, 0x09, 0x6B, 0x2C, 0x60, 0x7A, 0x9D,\n    0x8D, 0xD5, 0x5B, 0x15, 0x02, 0xA6, 0xAC, 0x7D, 0x3C, 0xC8, 0xD8, 0xC5,\n    0x75, 0x99, 0x8E, 0x7D, 0x79, 0x69, 0x10, 0xC8, 0x04, 0xC4, 0x95, 0x23,\n    0x50, 0x57, 0xE9, 0x1E, 0xCD, 0x26, 0x37, 0xC9, 0xC1, 0x84, 0x51, 0x51,\n    0xAC, 0x6B, 0x9A, 0x04, 0x90, 0xAE, 0x3E, 0xC6, 0xF4, 0x77, 0x40, 0xA0,\n    0xDB, 0x0B, 0xA3, 0x6D, 0x07, 0x59, 0x56, 0xCE, 0xE7, 0x35, 0x4E, 0xA3,\n    0xE9, 0xA4, 0xF2, 0x72, 0x0B, 0x26, 0x55, 0x0C, 0x7D, 0x39, 0x43, 0x24,\n    0xBC, 0x0C, 0xB7, 0xE9, 0x31, 0x7D, 0x8A, 0x86, 0x61, 0xF4, 0x21, 0x91,\n    0xFF, 0x10, 0xB0, 0x82, 0x56, 0xCE, 0x3F, 0xD2, 0x5B, 0x74, 0x5E, 0x51,\n    0x94, 0x90, 0x6B, 0x4D, 0x61, 0xCB, 0x4C, 0x2E, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x6F, 0x6F, 0x74,\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x01, 0x43, 0x41, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30,\n    0x30, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7B, 0xE8, 0xEF, 0x6C,\n    0xB2, 0x79, 0xC9, 0xE2, 0xEE, 0xE1, 0x21, 0xC6, 0xEA, 0xF4, 0x4F, 0xF6,\n    0x39, 0xF8, 0x8F, 0x07, 0x8B, 0x4B, 0x77, 0xED, 0x9F, 0x95, 0x60, 0xB0,\n    0x35, 0x82, 0x81, 0xB5, 0x0E, 0x55, 0xAB, 0x72, 0x11, 0x15, 0xA1, 0x77,\n    0x70, 0x3C, 0x7A, 0x30, 0xFE, 0x3A, 0xE9, 0xEF, 0x1C, 0x60, 0xBC, 0x1D,\n    0x97, 0x46, 0x76, 0xB2, 0x3A, 0x68, 0xCC, 0x04, 0xB1, 0x98, 0x52, 0x5B,\n    0xC9, 0x68, 0xF1, 0x1D, 0xE2, 0xDB, 0x50, 0xE4, 0xD9, 0xE7, 0xF0, 0x71,\n    0xE5, 0x62, 0xDA, 0xE2, 0x09, 0x22, 0x33, 0xE9, 0xD3, 0x63, 0xF6, 0x1D,\n    0xD7, 0xC1, 0x9F, 0xF3, 0xA4, 0xA9, 0x1E, 0x8F, 0x65, 0x53, 0xD4, 0x71,\n    0xDD, 0x7B, 0x84, 0xB9, 0xF1, 0xB8, 0xCE, 0x73, 0x35, 0xF0, 0xF5, 0x54,\n    0x05, 0x63, 0xA1, 0xEA, 0xB8, 0x39, 0x63, 0xE0, 0x9B, 0xE9, 0x01, 0x01,\n    0x1F, 0x99, 0x54, 0x63, 0x61, 0x28, 0x70, 0x20, 0xE9, 0xCC, 0x0D, 0xAB,\n    0x48, 0x7F, 0x14, 0x0D, 0x66, 0x26, 0xA1, 0x83, 0x6D, 0x27, 0x11, 0x1F,\n    0x20, 0x68, 0xDE, 0x47, 0x72, 0x14, 0x91, 0x51, 0xCF, 0x69, 0xC6, 0x1B,\n    0xA6, 0x0E, 0xF9, 0xD9, 0x49, 0xA0, 0xF7, 0x1F, 0x54, 0x99, 0xF2, 0xD3,\n    0x9A, 0xD2, 0x8C, 0x70, 0x05, 0x34, 0x82, 0x93, 0xC4, 0x31, 0xFF, 0xBD,\n    0x33, 0xF6, 0xBC, 0xA6, 0x0D, 0xC7, 0x19, 0x5E, 0xA2, 0xBC, 0xC5, 0x6D,\n    0x20, 0x0B, 0xAF, 0x6D, 0x06, 0xD0, 0x9C, 0x41, 0xDB, 0x8D, 0xE9, 0xC7,\n    0x20, 0x15, 0x4C, 0xA4, 0x83, 0x2B, 0x69, 0xC0, 0x8C, 0x69, 0xCD, 0x3B,\n    0x07, 0x3A, 0x00, 0x63, 0x60, 0x2F, 0x46, 0x2D, 0x33, 0x80, 0x61, 0xA5,\n    0xEA, 0x6C, 0x91, 0x5C, 0xD5, 0x62, 0x35, 0x79, 0xC3, 0xEB, 0x64, 0xCE,\n    0x44, 0xEF, 0x58, 0x6D, 0x14, 0xBA, 0xAA, 0x88, 0x34, 0x01, 0x9B, 0x3E,\n    0xEB, 0xEE, 0xD3, 0x79, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00\n};\n"
  },
  {
    "path": "source/font.h",
    "content": "/*\n  This file was autogenerated by raw2c.\nVisit http://www.devkitpro.org\n*/\n\n//---------------------------------------------------------------------------------\n#ifndef _font_h_\n#define _font_h_\n//---------------------------------------------------------------------------------\nstatic const unsigned char font[] = {\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7e, 0x81, 0xa5, 0x81, 0xbd, 0x99, 0x81, 0x7e,\n    0x7e, 0xff, 0xdb, 0xff, 0xc3, 0xe7, 0xff, 0x7e, 0x6c, 0xfe, 0xfe, 0xfe, 0x7c, 0x38, 0x10, 0x00,\n    0x10, 0x38, 0x7c, 0xfe, 0x7c, 0x38, 0x10, 0x00, 0x3c, 0x3c, 0x18, 0xff, 0xe7, 0x18, 0x3c, 0x00,\n    0x10, 0x38, 0x7c, 0xfe, 0xee, 0x10, 0x38, 0x00, 0x00, 0x00, 0x18, 0x3c, 0x3c, 0x18, 0x00, 0x00,\n    0xff, 0xff, 0xe7, 0xc3, 0xc3, 0xe7, 0xff, 0xff, 0x00, 0x3c, 0x66, 0x42, 0x42, 0x66, 0x3c, 0x00,\n    0xff, 0xc3, 0x99, 0xbd, 0xbd, 0x99, 0xc3, 0xff, 0x0f, 0x07, 0x0f, 0x7d, 0xcc, 0xcc, 0xcc, 0x78,\n    0x3c, 0x66, 0x66, 0x66, 0x3c, 0x18, 0x7e, 0x18, 0x08, 0x0c, 0x0a, 0x0a, 0x08, 0x78, 0xf0, 0x00,\n    0x18, 0x14, 0x1a, 0x16, 0x72, 0xe2, 0x0e, 0x1c, 0x10, 0x54, 0x38, 0xee, 0x38, 0x54, 0x10, 0x00,\n    0x80, 0xe0, 0xf8, 0xfe, 0xf8, 0xe0, 0x80, 0x00, 0x02, 0x0e, 0x3e, 0xfe, 0x3e, 0x0e, 0x02, 0x00,\n    0x18, 0x3c, 0x5a, 0x18, 0x5a, 0x3c, 0x18, 0x00, 0x66, 0x66, 0x66, 0x66, 0x66, 0x00, 0x66, 0x00,\n    0x7f, 0xdb, 0xdb, 0xdb, 0x7b, 0x1b, 0x1b, 0x00, 0x1c, 0x22, 0x38, 0x44, 0x44, 0x38, 0x88, 0x70,\n    0x00, 0x00, 0x00, 0x00, 0x7e, 0x7e, 0x7e, 0x00, 0x18, 0x3c, 0x5a, 0x18, 0x5a, 0x3c, 0x18, 0x7e,\n    0x18, 0x3c, 0x5a, 0x18, 0x18, 0x18, 0x18, 0x00, 0x18, 0x18, 0x18, 0x18, 0x5a, 0x3c, 0x18, 0x00,\n    0x00, 0x18, 0x0c, 0xfe, 0x0c, 0x18, 0x00, 0x00, 0x00, 0x30, 0x60, 0xfe, 0x60, 0x30, 0x00, 0x00,\n    0x00, 0x00, 0xc0, 0xc0, 0xc0, 0xfe, 0x00, 0x00, 0x00, 0x24, 0x42, 0xff, 0x42, 0x24, 0x00, 0x00,\n    0x00, 0x10, 0x38, 0x7c, 0xfe, 0xfe, 0x00, 0x00, 0x00, 0xfe, 0xfe, 0x7c, 0x38, 0x10, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x3c, 0x3c, 0x18, 0x18, 0x00, 0x18, 0x00,\n    0x6c, 0x24, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6c, 0x6c, 0xfe, 0x6c, 0xfe, 0x6c, 0x6c, 0x00,\n    0x10, 0x7c, 0xd0, 0x7c, 0x16, 0xfc, 0x10, 0x00, 0x00, 0x66, 0xac, 0xd8, 0x36, 0x6a, 0xcc, 0x00,\n    0x38, 0x4c, 0x38, 0x78, 0xce, 0xcc, 0x7a, 0x00, 0x30, 0x10, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00,\n    0x18, 0x30, 0x60, 0x60, 0x60, 0x30, 0x18, 0x00, 0x60, 0x30, 0x18, 0x18, 0x18, 0x30, 0x60, 0x00,\n    0x00, 0x66, 0x3c, 0xff, 0x3c, 0x66, 0x00, 0x00, 0x00, 0x30, 0x30, 0xfc, 0x30, 0x30, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x10, 0x20, 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x02, 0x06, 0x0c, 0x18, 0x30, 0x60, 0xc0, 0x00,\n    0x7c, 0xce, 0xde, 0xf6, 0xe6, 0xe6, 0x7c, 0x00, 0x18, 0x38, 0x78, 0x18, 0x18, 0x18, 0x7e, 0x00,\n    0x7c, 0xc6, 0x06, 0x1c, 0x70, 0xc6, 0xfe, 0x00, 0x7c, 0xc6, 0x06, 0x3c, 0x06, 0xc6, 0x7c, 0x00,\n    0x1c, 0x3c, 0x6c, 0xcc, 0xfe, 0x0c, 0x1e, 0x00, 0xfe, 0xc0, 0xfc, 0x06, 0x06, 0xc6, 0x7c, 0x00,\n    0x7c, 0xc6, 0xc0, 0xfc, 0xc6, 0xc6, 0x7c, 0x00, 0xfe, 0xc6, 0x0c, 0x18, 0x30, 0x30, 0x30, 0x00,\n    0x7c, 0xc6, 0xc6, 0x7c, 0xc6, 0xc6, 0x7c, 0x00, 0x7c, 0xc6, 0xc6, 0x7e, 0x06, 0xc6, 0x7c, 0x00,\n    0x00, 0x30, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x30, 0x10, 0x20,\n    0x0c, 0x18, 0x30, 0x60, 0x30, 0x18, 0x0c, 0x00, 0x00, 0x00, 0x7e, 0x00, 0x00, 0x7e, 0x00, 0x00,\n    0x60, 0x30, 0x18, 0x0c, 0x18, 0x30, 0x60, 0x00, 0x78, 0xcc, 0x0c, 0x18, 0x30, 0x00, 0x30, 0x00,\n    0x7c, 0x82, 0x9e, 0xa6, 0x9e, 0x80, 0x7c, 0x00, 0x7c, 0xc6, 0xc6, 0xfe, 0xc6, 0xc6, 0xc6, 0x00,\n    0xfc, 0x66, 0x66, 0x7c, 0x66, 0x66, 0xfc, 0x00, 0x7c, 0xc6, 0xc0, 0xc0, 0xc0, 0xc6, 0x7c, 0x00,\n    0xfc, 0x66, 0x66, 0x66, 0x66, 0x66, 0xfc, 0x00, 0xfe, 0x62, 0x68, 0x78, 0x68, 0x62, 0xfe, 0x00,\n    0xfe, 0x62, 0x68, 0x78, 0x68, 0x60, 0xf0, 0x00, 0x7c, 0xc6, 0xc6, 0xc0, 0xce, 0xc6, 0x7e, 0x00,\n    0xc6, 0xc6, 0xc6, 0xfe, 0xc6, 0xc6, 0xc6, 0x00, 0x3c, 0x18, 0x18, 0x18, 0x18, 0x18, 0x3c, 0x00,\n    0x1e, 0x0c, 0x0c, 0x0c, 0xcc, 0xcc, 0x78, 0x00, 0xe6, 0x66, 0x6c, 0x78, 0x6c, 0x66, 0xe6, 0x00,\n    0xf0, 0x60, 0x60, 0x60, 0x62, 0x66, 0xfe, 0x00, 0x82, 0xc6, 0xee, 0xfe, 0xd6, 0xc6, 0xc6, 0x00,\n    0xc6, 0xe6, 0xf6, 0xde, 0xce, 0xc6, 0xc6, 0x00, 0x7c, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0x7c, 0x00,\n    0xfc, 0x66, 0x66, 0x7c, 0x60, 0x60, 0xf0, 0x00, 0x7c, 0xc6, 0xc6, 0xc6, 0xd6, 0xde, 0x7c, 0x06,\n    0xfc, 0x66, 0x66, 0x7c, 0x66, 0x66, 0xe6, 0x00, 0x7c, 0xc6, 0xc0, 0x7c, 0x06, 0xc6, 0x7c, 0x00,\n    0x7e, 0x5a, 0x5a, 0x18, 0x18, 0x18, 0x3c, 0x00, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0x7c, 0x00,\n    0xc6, 0xc6, 0xc6, 0xc6, 0x6c, 0x38, 0x10, 0x00, 0xc6, 0xc6, 0xd6, 0xfe, 0xee, 0xc6, 0x82, 0x00,\n    0xc6, 0x6c, 0x38, 0x38, 0x38, 0x6c, 0xc6, 0x00, 0x66, 0x66, 0x66, 0x3c, 0x18, 0x18, 0x3c, 0x00,\n    0xfe, 0xc6, 0x8c, 0x18, 0x32, 0x66, 0xfe, 0x00, 0x78, 0x60, 0x60, 0x60, 0x60, 0x60, 0x78, 0x00,\n    0xc0, 0x60, 0x30, 0x18, 0x0c, 0x06, 0x02, 0x00, 0x78, 0x18, 0x18, 0x18, 0x18, 0x18, 0x78, 0x00,\n    0x10, 0x38, 0x6c, 0xc6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,\n    0x30, 0x20, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0x0c, 0x7c, 0xcc, 0x76, 0x00,\n    0xe0, 0x60, 0x60, 0x7c, 0x66, 0x66, 0x7c, 0x00, 0x00, 0x00, 0x7c, 0xc6, 0xc0, 0xc6, 0x7c, 0x00,\n    0x1c, 0x0c, 0x0c, 0x7c, 0xcc, 0xcc, 0x76, 0x00, 0x00, 0x00, 0x7c, 0xc6, 0xfe, 0xc0, 0x7c, 0x00,\n    0x1c, 0x36, 0x30, 0x78, 0x30, 0x30, 0x78, 0x00, 0x00, 0x00, 0x76, 0xcc, 0xcc, 0x7c, 0x0c, 0x78,\n    0xe0, 0x60, 0x6c, 0x76, 0x66, 0x66, 0xe6, 0x00, 0x18, 0x00, 0x38, 0x18, 0x18, 0x18, 0x3c, 0x00,\n    0x00, 0x0c, 0x00, 0x1c, 0x0c, 0x0c, 0xcc, 0x78, 0xe0, 0x60, 0x66, 0x6c, 0x78, 0x6c, 0xe6, 0x00,\n    0x38, 0x18, 0x18, 0x18, 0x18, 0x18, 0x3c, 0x00, 0x00, 0x00, 0xcc, 0xfe, 0xd6, 0xd6, 0xd6, 0x00,\n    0x00, 0x00, 0xdc, 0x66, 0x66, 0x66, 0x66, 0x00, 0x00, 0x00, 0x7c, 0xc6, 0xc6, 0xc6, 0x7c, 0x00,\n    0x00, 0x00, 0xdc, 0x66, 0x66, 0x7c, 0x60, 0xf0, 0x00, 0x00, 0x7c, 0xcc, 0xcc, 0x7c, 0x0c, 0x1e,\n    0x00, 0x00, 0xde, 0x76, 0x60, 0x60, 0xf0, 0x00, 0x00, 0x00, 0x7c, 0xc0, 0x7c, 0x06, 0x7c, 0x00,\n    0x10, 0x30, 0xfc, 0x30, 0x30, 0x34, 0x18, 0x00, 0x00, 0x00, 0xcc, 0xcc, 0xcc, 0xcc, 0x76, 0x00,\n    0x00, 0x00, 0xc6, 0xc6, 0x6c, 0x38, 0x10, 0x00, 0x00, 0x00, 0xc6, 0xd6, 0xd6, 0xfe, 0x6c, 0x00,\n    0x00, 0x00, 0xc6, 0x6c, 0x38, 0x6c, 0xc6, 0x00, 0x00, 0x00, 0xcc, 0xcc, 0xcc, 0x7c, 0x0c, 0xf8,\n    0x00, 0x00, 0xfc, 0x98, 0x30, 0x64, 0xfc, 0x00, 0x0e, 0x18, 0x18, 0x30, 0x18, 0x18, 0x0e, 0x00,\n    0x18, 0x18, 0x18, 0x00, 0x18, 0x18, 0x18, 0x00, 0xe0, 0x30, 0x30, 0x18, 0x30, 0x30, 0xe0, 0x00,\n    0x76, 0xdc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x38, 0x6c, 0xc6, 0xc6, 0xfe, 0x00,\n    0x7c, 0xc6, 0xc0, 0xc0, 0xc6, 0x7c, 0x18, 0x70, 0xcc, 0x00, 0xcc, 0xcc, 0xcc, 0xcc, 0x76, 0x00,\n    0x0e, 0x10, 0x7c, 0xc6, 0xfe, 0xc0, 0x7c, 0x00, 0x7c, 0x82, 0x38, 0x0c, 0x7c, 0xcc, 0x76, 0x00,\n    0xcc, 0x00, 0x78, 0x0c, 0x7c, 0xcc, 0x76, 0x00, 0xe0, 0x10, 0x78, 0x0c, 0x7c, 0xcc, 0x76, 0x00,\n    0x30, 0x30, 0x78, 0x0c, 0x7c, 0xcc, 0x76, 0x00, 0x00, 0x00, 0x7c, 0xc0, 0xc0, 0x7c, 0x18, 0x70,\n    0x7c, 0x82, 0x7c, 0xc6, 0xfe, 0xc0, 0x7c, 0x00, 0xc6, 0x00, 0x7c, 0xc6, 0xfe, 0xc0, 0x7c, 0x00,\n    0xe0, 0x10, 0x7c, 0xc6, 0xfe, 0xc0, 0x7c, 0x00, 0x66, 0x00, 0x38, 0x18, 0x18, 0x18, 0x3c, 0x00,\n    0x7c, 0x82, 0x38, 0x18, 0x18, 0x18, 0x3c, 0x00, 0xe0, 0x10, 0x38, 0x18, 0x18, 0x18, 0x3c, 0x00,\n    0xc6, 0x00, 0x7c, 0xc6, 0xfe, 0xc6, 0xc6, 0x00, 0x38, 0x38, 0x7c, 0xc6, 0xfe, 0xc6, 0xc6, 0x00,\n    0x0e, 0x10, 0xfe, 0x60, 0x78, 0x60, 0xfe, 0x00, 0x00, 0x00, 0x7c, 0x12, 0x7e, 0xd0, 0x7e, 0x00,\n    0x7e, 0xc8, 0xc8, 0xfe, 0xc8, 0xc8, 0xce, 0x00, 0x7c, 0x82, 0x7c, 0xc6, 0xc6, 0xc6, 0x7c, 0x00,\n    0xc6, 0x00, 0x7c, 0xc6, 0xc6, 0xc6, 0x7c, 0x00, 0xe0, 0x10, 0x7c, 0xc6, 0xc6, 0xc6, 0x7c, 0x00,\n    0x7c, 0x82, 0xcc, 0xcc, 0xcc, 0xcc, 0x76, 0x00, 0xe0, 0x10, 0xcc, 0xcc, 0xcc, 0xcc, 0x76, 0x00,\n    0xcc, 0x00, 0xcc, 0xcc, 0xcc, 0x7c, 0x0c, 0xf8, 0xc6, 0x7c, 0xc6, 0xc6, 0xc6, 0xc6, 0x7c, 0x00,\n    0xc6, 0x00, 0xc6, 0xc6, 0xc6, 0xc6, 0x7c, 0x00, 0x18, 0x7c, 0xd6, 0xd0, 0xd6, 0x7c, 0x18, 0x00,\n    0x38, 0x6c, 0x60, 0xf0, 0x60, 0xf2, 0xdc, 0x00, 0x66, 0x3c, 0x18, 0x7e, 0x18, 0x7e, 0x18, 0x00,\n    0xf8, 0xcc, 0xf8, 0xc4, 0xcc, 0xde, 0xcc, 0x06, 0x0e, 0x1b, 0x18, 0x3c, 0x18, 0x18, 0xd8, 0x70,\n    0x0e, 0x10, 0x78, 0x0c, 0x7c, 0xcc, 0x76, 0x00, 0x0e, 0x10, 0x38, 0x18, 0x18, 0x18, 0x3c, 0x00,\n    0x0e, 0x10, 0x7c, 0xc6, 0xc6, 0xc6, 0x7c, 0x00, 0x0e, 0x10, 0xcc, 0xcc, 0xcc, 0xcc, 0x76, 0x00,\n    0x66, 0x98, 0xdc, 0x66, 0x66, 0x66, 0x66, 0x00, 0x66, 0x98, 0xe6, 0xf6, 0xde, 0xce, 0xc6, 0x00,\n    0x38, 0x0c, 0x3c, 0x34, 0x00, 0x7e, 0x00, 0x00, 0x38, 0x6c, 0x6c, 0x38, 0x00, 0x7c, 0x00, 0x00,\n    0x30, 0x00, 0x30, 0x60, 0xc6, 0xc6, 0x7c, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xc0, 0xc0, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0xfc, 0x0c, 0x0c, 0x00, 0x00, 0xc0, 0xc8, 0xd0, 0xfe, 0x46, 0x8c, 0x1e, 0x00,\n    0xc0, 0xc8, 0xd0, 0xec, 0x5c, 0xbe, 0x0c, 0x00, 0x18, 0x00, 0x18, 0x18, 0x3c, 0x3c, 0x18, 0x00,\n    0x00, 0x36, 0x6c, 0xd8, 0x6c, 0x36, 0x00, 0x00, 0x00, 0xd8, 0x6c, 0x36, 0x6c, 0xd8, 0x00, 0x00,\n    0x22, 0x88, 0x22, 0x88, 0x22, 0x88, 0x22, 0x88, 0x55, 0xaa, 0x55, 0xaa, 0x55, 0xaa, 0x55, 0xaa,\n    0xdb, 0x77, 0xdb, 0xee, 0xdb, 0x77, 0xdb, 0xee, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18,\n    0x18, 0x18, 0x18, 0x18, 0xf8, 0x18, 0x18, 0x18, 0x18, 0x18, 0xf8, 0x18, 0xf8, 0x18, 0x18, 0x18,\n    0x36, 0x36, 0x36, 0x36, 0xf6, 0x36, 0x36, 0x36, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x36, 0x36, 0x36,\n    0x00, 0x00, 0xf8, 0x18, 0xf8, 0x18, 0x18, 0x18, 0x36, 0x36, 0xf6, 0x06, 0xf6, 0x36, 0x36, 0x36,\n    0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x00, 0x00, 0xfe, 0x06, 0xf6, 0x36, 0x36, 0x36,\n    0x36, 0x36, 0xf6, 0x06, 0xfe, 0x00, 0x00, 0x00, 0x36, 0x36, 0x36, 0x36, 0xfe, 0x00, 0x00, 0x00,\n    0x18, 0x18, 0xf8, 0x18, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x18, 0x18, 0x18,\n    0x18, 0x18, 0x18, 0x18, 0x1f, 0x00, 0x00, 0x00, 0x18, 0x18, 0x18, 0x18, 0xff, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0xff, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x1f, 0x18, 0x18, 0x18,\n    0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x18, 0x18, 0x18, 0x18, 0xff, 0x18, 0x18, 0x18,\n    0x18, 0x18, 0x1f, 0x18, 0x1f, 0x18, 0x18, 0x18, 0x36, 0x36, 0x36, 0x36, 0x37, 0x36, 0x36, 0x36,\n    0x36, 0x36, 0x37, 0x30, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x30, 0x37, 0x36, 0x36, 0x36,\n    0x36, 0x36, 0xf7, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0xf7, 0x36, 0x36, 0x36,\n    0x36, 0x36, 0x37, 0x30, 0x37, 0x36, 0x36, 0x36, 0x00, 0x00, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00,\n    0x36, 0x36, 0xf7, 0x00, 0xf7, 0x36, 0x36, 0x36, 0x18, 0x18, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00,\n    0x36, 0x36, 0x36, 0x36, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0x18, 0x18, 0x18,\n    0x00, 0x00, 0x00, 0x00, 0xff, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x3f, 0x00, 0x00, 0x00,\n    0x18, 0x18, 0x1f, 0x18, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x18, 0x1f, 0x18, 0x18, 0x18,\n    0x00, 0x00, 0x00, 0x00, 0x3f, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0xff, 0x36, 0x36, 0x36,\n    0x18, 0x18, 0xff, 0x18, 0xff, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0xf8, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x1f, 0x18, 0x18, 0x18, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,\n    0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0,\n    0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x74, 0xcc, 0xc8, 0xdc, 0x76, 0x00, 0x78, 0xcc, 0xd8, 0xcc, 0xc6, 0xc6, 0xdc, 0x40,\n    0xfe, 0x62, 0x60, 0x60, 0x60, 0x60, 0xf0, 0x00, 0x00, 0x02, 0x7e, 0xec, 0x6c, 0x6c, 0x48, 0x00,\n    0xfe, 0x62, 0x30, 0x18, 0x30, 0x62, 0xfe, 0x00, 0x00, 0x00, 0x7e, 0xd0, 0xc8, 0xc8, 0x70, 0x00,\n    0x00, 0x00, 0xcc, 0xcc, 0xcc, 0xcc, 0xf8, 0x80, 0x00, 0x00, 0x7e, 0xd8, 0x18, 0x18, 0x10, 0x00,\n    0x38, 0x10, 0x7c, 0xd6, 0xd6, 0x7c, 0x10, 0x38, 0x7c, 0xc6, 0xc6, 0xfe, 0xc6, 0xc6, 0x7c, 0x00,\n    0x7c, 0xc6, 0xc6, 0xc6, 0x6c, 0x28, 0xee, 0x00, 0x3c, 0x22, 0x18, 0x7c, 0xcc, 0xcc, 0x78, 0x00,\n    0x00, 0x00, 0x66, 0x99, 0x99, 0x66, 0x00, 0x00, 0x00, 0x06, 0x7c, 0x9e, 0xf2, 0x7c, 0xc0, 0x00,\n    0x00, 0x00, 0x7c, 0xc0, 0xf8, 0xc0, 0x7c, 0x00, 0x00, 0x7c, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0x00,\n    0x00, 0xfe, 0x00, 0xfe, 0x00, 0xfe, 0x00, 0x00, 0x18, 0x18, 0x7e, 0x18, 0x18, 0x00, 0x7e, 0x00,\n    0x30, 0x18, 0x0c, 0x18, 0x30, 0x00, 0x7c, 0x00, 0x18, 0x30, 0x60, 0x30, 0x18, 0x00, 0x7c, 0x00,\n    0x0e, 0x1b, 0x1b, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0xd8, 0xd8, 0x70,\n    0x00, 0x18, 0x00, 0x7e, 0x00, 0x18, 0x00, 0x00, 0x00, 0x76, 0xdc, 0x00, 0x76, 0xdc, 0x00, 0x00,\n    0x38, 0x6c, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x0f, 0x0c, 0x0c, 0x0c, 0xec, 0x6c, 0x3c, 0x00,\n    0xd8, 0x6c, 0x6c, 0x6c, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x30, 0xc0, 0xf0, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x3c, 0x3c, 0x3c, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00\n\n};\nconst int font_size = sizeof(font);\n//---------------------------------------------------------------------------------\n#endif //_font_h_\n//---------------------------------------------------------------------------------"
  },
  {
    "path": "source/fts_fuzzy_match.h",
    "content": "// LICENSE\n//\n//   This software is dual-licensed to the public domain and under the following\n//   license: you are granted a perpetual, irrevocable license to copy, modify,\n//   publish, and distribute this file as you see fit.\n\n// VERSION 0.1.0\n\n#ifndef FTS_FUZZY_MATCH_H\n#define FTS_FUZZY_MATCH_H\n\n#include <ctype.h> // ::tolower, ::toupper\n\nnamespace fts {\n    \n    // Returns true if each character in pattern is found sequentially within str\n    static bool fuzzy_match(char const * pattern, char const * str) \n    {\n        while (*pattern != '\\0' && *str != '\\0')  {\n            if (tolower(*pattern) == tolower(*str))\n                ++pattern;\n            ++str;\n        }\n\n        return *pattern == '\\0' ? true : false;\n    }\n\n    // Returns true if each character in pattern is found sequentially within str\n    // iff found then outScore is also set. Score value has no intrinsic meaning. Range varies with pattern. \n    // Can only compare scores with same search pattern.\n    static bool fuzzy_match(char const * pattern, char const * str, int & outScore) \n    {\n        // Score consts\n        const int adjacency_bonus = 5;              // bonus for adjacent matches\n        const int separator_bonus = 10;             // bonus if match occurs after a separator\n        const int camel_bonus = 10;                 // bonus if match is uppercase and prev is lower\n        \n        const int leading_letter_penalty = -3;      // penalty applied for every letter in str before the first match\n        const int max_leading_letter_penalty = -9;  // maximum penalty for leading letters\n        const int unmatched_letter_penalty = -1;    // penalty for every letter that doesn't matter\n\n\n        // Loop variables\n        int score = 0;\n        char const * patternIter = pattern;\n        char const * strIter = str;\n        bool prevMatched = false;\n        bool prevLower = false;\n        bool prevSeparator = true;                  // true so if first letter match gets separator bonus\n\n        // Use \"best\" matched letter if multiple string letters match the pattern\n        char const * bestLetter = NULL;\n        int bestLetterScore = 0;\n\n        // Loop over strings\n        while (*strIter != '\\0') \n        {\n            const char patternLetter = *patternIter;\n            const char strLetter = *strIter;\n\n            bool nextMatch = *patternIter != '\\0' && tolower(patternLetter) == tolower(strLetter);\n            bool rematch = bestLetter && tolower(*bestLetter) == tolower(strLetter);\n\n            bool advanced = nextMatch && bestLetter;\n            bool patternRepeat = bestLetter && patternIter != '\\0' && tolower(*bestLetter) == tolower(patternLetter);\n\n            if (advanced || patternRepeat) \n            {\n                score += bestLetterScore;\n                bestLetter = NULL;\n                bestLetterScore = 0;\n            }\n\n            if (nextMatch || rematch)\n            {\n                int newScore = 0;\n\n                // Apply penalty for each letter before the first pattern match\n                // Note: std::max because penalties are negative values. So max is smallest penalty.\n                if (patternIter == pattern)\n                {\n                    int count = int(strIter - str);\n                    int penalty = leading_letter_penalty * count;\n                    if (penalty < max_leading_letter_penalty)\n                        penalty = max_leading_letter_penalty;\n\n                    score += penalty;\n                } \n\n                // Apply bonus for consecutive bonuses\n                if (prevMatched)\n                    newScore += adjacency_bonus;\n\n                // Apply bonus for matches after a separator\n                if (prevSeparator)\n                    newScore += separator_bonus;\n\n                // Apply bonus across camel case boundaries\n                if (prevLower && isupper(strLetter))\n                    newScore += camel_bonus;\n\n                // Update pattern iter IFF the next pattern letter was matched\n                if (nextMatch)\n                    ++patternIter;\n\n                // Update best letter in str which may be for a \"next\" letter or a rematch\n                if (newScore >= bestLetterScore) \n                {\n                    // Apply penalty for now skipped letter\n                    if (bestLetter != NULL)\n                        score += unmatched_letter_penalty;\n\n                    bestLetter = strIter;\n                    bestLetterScore = newScore;\n                }\n\n                prevMatched = true;\n            }\n            else\n            {\n                score += unmatched_letter_penalty;\n                prevMatched = false;\n            }\n\n            // Separators should be more easily defined\n            prevLower = islower(strLetter) != 0;\n            prevSeparator = strLetter == '_' || strLetter == ' ';\n\n            ++strIter;\n        }\n\n        // Apply score for last match\n        if (bestLetter) \n            score += bestLetterScore;\n\n        // Did not match full pattern\n        if (*patternIter != '\\0')\n            return false;\n\n        outScore = score;\n        return true;\n    }\n\n} // namespace fts\n\n#endif // FTS_FUZZY_MATCH_H\n"
  },
  {
    "path": "source/json/json-forwards.h",
    "content": "/// Json-cpp amalgated forward header (http://jsoncpp.sourceforge.net/).\n/// It is intended to be used with #include \"json/json-forwards.h\"\n/// This header provides forward declaration for all JsonCpp types.\n\n// //////////////////////////////////////////////////////////////////////\n// Beginning of content of file: LICENSE\n// //////////////////////////////////////////////////////////////////////\n\n/*\nThe JsonCpp library's source code, including accompanying documentation, \ntests and demonstration applications, are licensed under the following\nconditions...\n\nThe author (Baptiste Lepilleur) explicitly disclaims copyright in all \njurisdictions which recognize such a disclaimer. In such jurisdictions, \nthis software is released into the Public Domain.\n\nIn jurisdictions which do not recognize Public Domain property (e.g. Germany as of\n2010), this software is Copyright (c) 2007-2010 by Baptiste Lepilleur, and is\nreleased under the terms of the MIT License (see below).\n\nIn jurisdictions which recognize Public Domain property, the user of this \nsoftware may choose to accept it either as 1) Public Domain, 2) under the \nconditions of the MIT License (see below), or 3) under the terms of dual \nPublic Domain/MIT License conditions described here, as they choose.\n\nThe MIT License is about as close to Public Domain as a license can get, and is\ndescribed in clear, concise terms at:\n\n   http://en.wikipedia.org/wiki/MIT_License\n   \nThe full text of the MIT License follows:\n\n========================================================================\nCopyright (c) 2007-2010 Baptiste Lepilleur\n\nPermission is hereby granted, free of charge, to any person\nobtaining a copy of this software and associated documentation\nfiles (the \"Software\"), to deal in the Software without\nrestriction, including without limitation the rights to use, copy,\nmodify, merge, publish, distribute, sublicense, and/or sell copies\nof the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\nNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS\nBE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN\nACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\nCONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n========================================================================\n(END LICENSE TEXT)\n\nThe MIT license is compatible with both the GPL and commercial\nsoftware, affording one all of the rights of Public Domain with the\nminor nuisance of being required to keep the above copyright notice\nand license text in the source code. Note also that by accepting the\nPublic Domain \"license\" you can re-license your copy using whatever\nlicense you like.\n\n*/\n\n// //////////////////////////////////////////////////////////////////////\n// End of content of file: LICENSE\n// //////////////////////////////////////////////////////////////////////\n\n\n\n\n\n#ifndef JSON_FORWARD_AMALGATED_H_INCLUDED\n# define JSON_FORWARD_AMALGATED_H_INCLUDED\n/// If defined, indicates that the source file is amalgated\n/// to prevent private header inclusion.\n#define JSON_IS_AMALGAMATION\n\n// //////////////////////////////////////////////////////////////////////\n// Beginning of content of file: include/json/config.h\n// //////////////////////////////////////////////////////////////////////\n\n// Copyright 2007-2010 Baptiste Lepilleur\n// Distributed under MIT license, or public domain if desired and\n// recognized in your jurisdiction.\n// See file LICENSE for detail or copy at http://jsoncpp.sourceforge.net/LICENSE\n\n#ifndef JSON_CONFIG_H_INCLUDED\n#define JSON_CONFIG_H_INCLUDED\n#include <stddef.h>\n#include <string> //typdef String\n\n/// If defined, indicates that json library is embedded in CppTL library.\n//# define JSON_IN_CPPTL 1\n\n/// If defined, indicates that json may leverage CppTL library\n//#  define JSON_USE_CPPTL 1\n/// If defined, indicates that cpptl vector based map should be used instead of\n/// std::map\n/// as Value container.\n//#  define JSON_USE_CPPTL_SMALLMAP 1\n\n// If non-zero, the library uses exceptions to report bad input instead of C\n// assertion macros. The default is to use exceptions.\n#ifndef JSON_USE_EXCEPTION\n#define JSON_USE_EXCEPTION 1\n#endif\n\n/// If defined, indicates that the source file is amalgated\n/// to prevent private header inclusion.\n/// Remarks: it is automatically defined in the generated amalgated header.\n// #define JSON_IS_AMALGAMATION\n\n#ifdef JSON_IN_CPPTL\n#include <cpptl/config.h>\n#ifndef JSON_USE_CPPTL\n#define JSON_USE_CPPTL 1\n#endif\n#endif\n\n#ifdef JSON_IN_CPPTL\n#define JSON_API CPPTL_API\n#elif defined(JSON_DLL_BUILD)\n#if defined(_MSC_VER) || defined(__MINGW32__)\n#define JSON_API __declspec(dllexport)\n#define JSONCPP_DISABLE_DLL_INTERFACE_WARNING\n#endif // if defined(_MSC_VER)\n#elif defined(JSON_DLL)\n#if defined(_MSC_VER) || defined(__MINGW32__)\n#define JSON_API __declspec(dllimport)\n#define JSONCPP_DISABLE_DLL_INTERFACE_WARNING\n#endif // if defined(_MSC_VER)\n#endif // ifdef JSON_IN_CPPTL\n#if !defined(JSON_API)\n#define JSON_API\n#endif\n\n// If JSON_NO_INT64 is defined, then Json only support C++ \"int\" type for\n// integer\n// Storages, and 64 bits integer support is disabled.\n// #define JSON_NO_INT64 1\n\n#if defined(_MSC_VER) // MSVC\n#  if _MSC_VER <= 1200 // MSVC 6\n    // Microsoft Visual Studio 6 only support conversion from __int64 to double\n    // (no conversion from unsigned __int64).\n#    define JSON_USE_INT64_DOUBLE_CONVERSION 1\n    // Disable warning 4786 for VS6 caused by STL (identifier was truncated to '255'\n    // characters in the debug information)\n    // All projects I've ever seen with VS6 were using this globally (not bothering\n    // with pragma push/pop).\n#    pragma warning(disable : 4786)\n#  endif // MSVC 6\n\n#  if _MSC_VER >= 1500 // MSVC 2008\n    /// Indicates that the following function is deprecated.\n#    define JSONCPP_DEPRECATED(message) __declspec(deprecated(message))\n#  endif\n\n#endif // defined(_MSC_VER)\n\n#if defined(_MSC_VER) && _MSC_VER <= 1600 // MSVC <= 2010\n# define JSONCPP_OVERRIDE\n#else\n# define JSONCPP_OVERRIDE override\n#endif // MSVC <= 2010\n\n\n#ifndef JSON_HAS_RVALUE_REFERENCES\n\n#if defined(_MSC_VER) && _MSC_VER >= 1600 // MSVC >= 2010\n#define JSON_HAS_RVALUE_REFERENCES 1\n#endif // MSVC >= 2010\n\n#ifdef __clang__\n#if __has_feature(cxx_rvalue_references)\n#define JSON_HAS_RVALUE_REFERENCES 1\n#endif  // has_feature\n\n#elif defined __GNUC__ // not clang (gcc comes later since clang emulates gcc)\n#if defined(__GXX_EXPERIMENTAL_CXX0X__) || (__cplusplus >= 201103L)\n#define JSON_HAS_RVALUE_REFERENCES 1\n#endif  // GXX_EXPERIMENTAL\n\n#endif // __clang__ || __GNUC__\n\n#endif // not defined JSON_HAS_RVALUE_REFERENCES\n\n#ifndef JSON_HAS_RVALUE_REFERENCES\n#define JSON_HAS_RVALUE_REFERENCES 0\n#endif\n\n#ifdef __clang__\n#elif defined __GNUC__ // not clang (gcc comes later since clang emulates gcc)\n#  if (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 5))\n#    define JSONCPP_DEPRECATED(message)  __attribute__ ((deprecated(message)))\n#  elif (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 1))\n#    define JSONCPP_DEPRECATED(message)  __attribute__((__deprecated__))\n#  endif  // GNUC version\n#endif // __clang__ || __GNUC__\n\n#if !defined(JSONCPP_DEPRECATED)\n#define JSONCPP_DEPRECATED(message)\n#endif // if !defined(JSONCPP_DEPRECATED)\n\n#if __GNUC__ >= 6\n#  define JSON_USE_INT64_DOUBLE_CONVERSION 1\n#endif\n\n#if !defined(JSON_IS_AMALGAMATION)\n\n# include \"version.h\"\n\n# if JSONCPP_USING_SECURE_MEMORY\n#  include \"allocator.h\" //typedef Allocator\n# endif\n\n#endif // if !defined(JSON_IS_AMALGAMATION)\n\nnamespace Json {\ntypedef int Int;\ntypedef unsigned int UInt;\n#if defined(JSON_NO_INT64)\ntypedef int LargestInt;\ntypedef unsigned int LargestUInt;\n#undef JSON_HAS_INT64\n#else                 // if defined(JSON_NO_INT64)\n// For Microsoft Visual use specific types as long long is not supported\n#if defined(_MSC_VER) // Microsoft Visual Studio\ntypedef __int64 Int64;\ntypedef unsigned __int64 UInt64;\n#else                 // if defined(_MSC_VER) // Other platforms, use long long\ntypedef long long int Int64;\ntypedef unsigned long long int UInt64;\n#endif // if defined(_MSC_VER)\ntypedef Int64 LargestInt;\ntypedef UInt64 LargestUInt;\n#define JSON_HAS_INT64\n#endif // if defined(JSON_NO_INT64)\n#if JSONCPP_USING_SECURE_MEMORY\n#define JSONCPP_STRING        std::basic_string<char, std::char_traits<char>, Json::SecureAllocator<char> >\n#define JSONCPP_OSTRINGSTREAM std::basic_ostringstream<char, std::char_traits<char>, Json::SecureAllocator<char> >\n#define JSONCPP_OSTREAM       std::basic_ostream<char, std::char_traits<char>>\n#define JSONCPP_ISTRINGSTREAM std::basic_istringstream<char, std::char_traits<char>, Json::SecureAllocator<char> >\n#define JSONCPP_ISTREAM       std::istream\n#else\n#define JSONCPP_STRING        std::string\n#define JSONCPP_OSTRINGSTREAM std::ostringstream\n#define JSONCPP_OSTREAM       std::ostream\n#define JSONCPP_ISTRINGSTREAM std::istringstream\n#define JSONCPP_ISTREAM       std::istream\n#endif // if JSONCPP_USING_SECURE_MEMORY\n} // end namespace Json\n\n#endif // JSON_CONFIG_H_INCLUDED\n\n// //////////////////////////////////////////////////////////////////////\n// End of content of file: include/json/config.h\n// //////////////////////////////////////////////////////////////////////\n\n\n\n\n\n\n// //////////////////////////////////////////////////////////////////////\n// Beginning of content of file: include/json/forwards.h\n// //////////////////////////////////////////////////////////////////////\n\n// Copyright 2007-2010 Baptiste Lepilleur\n// Distributed under MIT license, or public domain if desired and\n// recognized in your jurisdiction.\n// See file LICENSE for detail or copy at http://jsoncpp.sourceforge.net/LICENSE\n\n#ifndef JSON_FORWARDS_H_INCLUDED\n#define JSON_FORWARDS_H_INCLUDED\n\n#if !defined(JSON_IS_AMALGAMATION)\n#include \"config.h\"\n#endif // if !defined(JSON_IS_AMALGAMATION)\n\nnamespace Json {\n\n// writer.h\nclass FastWriter;\nclass StyledWriter;\n\n// reader.h\nclass Reader;\n\n// features.h\nclass Features;\n\n// value.h\ntypedef unsigned int ArrayIndex;\nclass StaticString;\nclass Path;\nclass PathArgument;\nclass Value;\nclass ValueIteratorBase;\nclass ValueIterator;\nclass ValueConstIterator;\n\n} // namespace Json\n\n#endif // JSON_FORWARDS_H_INCLUDED\n\n// //////////////////////////////////////////////////////////////////////\n// End of content of file: include/json/forwards.h\n// //////////////////////////////////////////////////////////////////////\n\n\n\n\n\n#endif //ifndef JSON_FORWARD_AMALGATED_H_INCLUDED\n"
  },
  {
    "path": "source/json/json.h",
    "content": "/// Json-cpp amalgated header (http://jsoncpp.sourceforge.net/).\n/// It is intended to be used with #include \"json/json.h\"\n\n// //////////////////////////////////////////////////////////////////////\n// Beginning of content of file: LICENSE\n// //////////////////////////////////////////////////////////////////////\n\n/*\nThe JsonCpp library's source code, including accompanying documentation, \ntests and demonstration applications, are licensed under the following\nconditions...\n\nThe author (Baptiste Lepilleur) explicitly disclaims copyright in all \njurisdictions which recognize such a disclaimer. In such jurisdictions, \nthis software is released into the Public Domain.\n\nIn jurisdictions which do not recognize Public Domain property (e.g. Germany as of\n2010), this software is Copyright (c) 2007-2010 by Baptiste Lepilleur, and is\nreleased under the terms of the MIT License (see below).\n\nIn jurisdictions which recognize Public Domain property, the user of this \nsoftware may choose to accept it either as 1) Public Domain, 2) under the \nconditions of the MIT License (see below), or 3) under the terms of dual \nPublic Domain/MIT License conditions described here, as they choose.\n\nThe MIT License is about as close to Public Domain as a license can get, and is\ndescribed in clear, concise terms at:\n\n   http://en.wikipedia.org/wiki/MIT_License\n   \nThe full text of the MIT License follows:\n\n========================================================================\nCopyright (c) 2007-2010 Baptiste Lepilleur\n\nPermission is hereby granted, free of charge, to any person\nobtaining a copy of this software and associated documentation\nfiles (the \"Software\"), to deal in the Software without\nrestriction, including without limitation the rights to use, copy,\nmodify, merge, publish, distribute, sublicense, and/or sell copies\nof the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\nNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS\nBE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN\nACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\nCONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n========================================================================\n(END LICENSE TEXT)\n\nThe MIT license is compatible with both the GPL and commercial\nsoftware, affording one all of the rights of Public Domain with the\nminor nuisance of being required to keep the above copyright notice\nand license text in the source code. Note also that by accepting the\nPublic Domain \"license\" you can re-license your copy using whatever\nlicense you like.\n\n*/\n\n// //////////////////////////////////////////////////////////////////////\n// End of content of file: LICENSE\n// //////////////////////////////////////////////////////////////////////\n\n\n\n\n\n#ifndef JSON_AMALGATED_H_INCLUDED\n# define JSON_AMALGATED_H_INCLUDED\n/// If defined, indicates that the source file is amalgated\n/// to prevent private header inclusion.\n#define JSON_IS_AMALGAMATION\n\n// //////////////////////////////////////////////////////////////////////\n// Beginning of content of file: include/json/version.h\n// //////////////////////////////////////////////////////////////////////\n\n// DO NOT EDIT. This file (and \"version\") is generated by CMake.\n// Run CMake configure step to update it.\n#ifndef JSON_VERSION_H_INCLUDED\n# define JSON_VERSION_H_INCLUDED\n\n# define JSONCPP_VERSION_STRING \"1.7.2\"\n# define JSONCPP_VERSION_MAJOR 1\n# define JSONCPP_VERSION_MINOR 7\n# define JSONCPP_VERSION_PATCH 2\n# define JSONCPP_VERSION_QUALIFIER\n# define JSONCPP_VERSION_HEXA ((JSONCPP_VERSION_MAJOR << 24) | (JSONCPP_VERSION_MINOR << 16) | (JSONCPP_VERSION_PATCH << 8))\n\n#ifdef JSONCPP_USING_SECURE_MEMORY\n#undef JSONCPP_USING_SECURE_MEMORY\n#endif\n#define JSONCPP_USING_SECURE_MEMORY 0\n// If non-zero, the library zeroes any memory that it has allocated before\n// it frees its memory.\n\n#endif // JSON_VERSION_H_INCLUDED\n\n// //////////////////////////////////////////////////////////////////////\n// End of content of file: include/json/version.h\n// //////////////////////////////////////////////////////////////////////\n\n\n\n\n\n\n// //////////////////////////////////////////////////////////////////////\n// Beginning of content of file: include/json/config.h\n// //////////////////////////////////////////////////////////////////////\n\n// Copyright 2007-2010 Baptiste Lepilleur\n// Distributed under MIT license, or public domain if desired and\n// recognized in your jurisdiction.\n// See file LICENSE for detail or copy at http://jsoncpp.sourceforge.net/LICENSE\n\n#ifndef JSON_CONFIG_H_INCLUDED\n#define JSON_CONFIG_H_INCLUDED\n#include <stddef.h>\n#include <string> //typdef String\n\n/// If defined, indicates that json library is embedded in CppTL library.\n//# define JSON_IN_CPPTL 1\n\n/// If defined, indicates that json may leverage CppTL library\n//#  define JSON_USE_CPPTL 1\n/// If defined, indicates that cpptl vector based map should be used instead of\n/// std::map\n/// as Value container.\n//#  define JSON_USE_CPPTL_SMALLMAP 1\n\n// If non-zero, the library uses exceptions to report bad input instead of C\n// assertion macros. The default is to use exceptions.\n#ifndef JSON_USE_EXCEPTION\n#define JSON_USE_EXCEPTION 1\n#endif\n\n/// If defined, indicates that the source file is amalgated\n/// to prevent private header inclusion.\n/// Remarks: it is automatically defined in the generated amalgated header.\n// #define JSON_IS_AMALGAMATION\n\n#ifdef JSON_IN_CPPTL\n#include <cpptl/config.h>\n#ifndef JSON_USE_CPPTL\n#define JSON_USE_CPPTL 1\n#endif\n#endif\n\n#ifdef JSON_IN_CPPTL\n#define JSON_API CPPTL_API\n#elif defined(JSON_DLL_BUILD)\n#if defined(_MSC_VER) || defined(__MINGW32__)\n#define JSON_API __declspec(dllexport)\n#define JSONCPP_DISABLE_DLL_INTERFACE_WARNING\n#endif // if defined(_MSC_VER)\n#elif defined(JSON_DLL)\n#if defined(_MSC_VER) || defined(__MINGW32__)\n#define JSON_API __declspec(dllimport)\n#define JSONCPP_DISABLE_DLL_INTERFACE_WARNING\n#endif // if defined(_MSC_VER)\n#endif // ifdef JSON_IN_CPPTL\n#if !defined(JSON_API)\n#define JSON_API\n#endif\n\n// If JSON_NO_INT64 is defined, then Json only support C++ \"int\" type for\n// integer\n// Storages, and 64 bits integer support is disabled.\n// #define JSON_NO_INT64 1\n\n#if defined(_MSC_VER) // MSVC\n#  if _MSC_VER <= 1200 // MSVC 6\n    // Microsoft Visual Studio 6 only support conversion from __int64 to double\n    // (no conversion from unsigned __int64).\n#    define JSON_USE_INT64_DOUBLE_CONVERSION 1\n    // Disable warning 4786 for VS6 caused by STL (identifier was truncated to '255'\n    // characters in the debug information)\n    // All projects I've ever seen with VS6 were using this globally (not bothering\n    // with pragma push/pop).\n#    pragma warning(disable : 4786)\n#  endif // MSVC 6\n\n#  if _MSC_VER >= 1500 // MSVC 2008\n    /// Indicates that the following function is deprecated.\n#    define JSONCPP_DEPRECATED(message) __declspec(deprecated(message))\n#  endif\n\n#endif // defined(_MSC_VER)\n\n#if defined(_MSC_VER) && _MSC_VER <= 1600 // MSVC <= 2010\n# define JSONCPP_OVERRIDE\n#else\n# define JSONCPP_OVERRIDE override\n#endif // MSVC <= 2010\n\n\n#ifndef JSON_HAS_RVALUE_REFERENCES\n\n#if defined(_MSC_VER) && _MSC_VER >= 1600 // MSVC >= 2010\n#define JSON_HAS_RVALUE_REFERENCES 1\n#endif // MSVC >= 2010\n\n#ifdef __clang__\n#if __has_feature(cxx_rvalue_references)\n#define JSON_HAS_RVALUE_REFERENCES 1\n#endif  // has_feature\n\n#elif defined __GNUC__ // not clang (gcc comes later since clang emulates gcc)\n#if defined(__GXX_EXPERIMENTAL_CXX0X__) || (__cplusplus >= 201103L)\n#define JSON_HAS_RVALUE_REFERENCES 1\n#endif  // GXX_EXPERIMENTAL\n\n#endif // __clang__ || __GNUC__\n\n#endif // not defined JSON_HAS_RVALUE_REFERENCES\n\n#ifndef JSON_HAS_RVALUE_REFERENCES\n#define JSON_HAS_RVALUE_REFERENCES 0\n#endif\n\n#ifdef __clang__\n#elif defined __GNUC__ // not clang (gcc comes later since clang emulates gcc)\n#  if (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 5))\n#    define JSONCPP_DEPRECATED(message)  __attribute__ ((deprecated(message)))\n#  elif (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 1))\n#    define JSONCPP_DEPRECATED(message)  __attribute__((__deprecated__))\n#  endif  // GNUC version\n#endif // __clang__ || __GNUC__\n\n#if !defined(JSONCPP_DEPRECATED)\n#define JSONCPP_DEPRECATED(message)\n#endif // if !defined(JSONCPP_DEPRECATED)\n\n#if __GNUC__ >= 6\n#  define JSON_USE_INT64_DOUBLE_CONVERSION 1\n#endif\n\n#if !defined(JSON_IS_AMALGAMATION)\n\n# include \"version.h\"\n\n# if JSONCPP_USING_SECURE_MEMORY\n#  include \"allocator.h\" //typedef Allocator\n# endif\n\n#endif // if !defined(JSON_IS_AMALGAMATION)\n\nnamespace Json {\ntypedef int Int;\ntypedef unsigned int UInt;\n#if defined(JSON_NO_INT64)\ntypedef int LargestInt;\ntypedef unsigned int LargestUInt;\n#undef JSON_HAS_INT64\n#else                 // if defined(JSON_NO_INT64)\n// For Microsoft Visual use specific types as long long is not supported\n#if defined(_MSC_VER) // Microsoft Visual Studio\ntypedef __int64 Int64;\ntypedef unsigned __int64 UInt64;\n#else                 // if defined(_MSC_VER) // Other platforms, use long long\ntypedef long long int Int64;\ntypedef unsigned long long int UInt64;\n#endif // if defined(_MSC_VER)\ntypedef Int64 LargestInt;\ntypedef UInt64 LargestUInt;\n#define JSON_HAS_INT64\n#endif // if defined(JSON_NO_INT64)\n#if JSONCPP_USING_SECURE_MEMORY\n#define JSONCPP_STRING        std::basic_string<char, std::char_traits<char>, Json::SecureAllocator<char> >\n#define JSONCPP_OSTRINGSTREAM std::basic_ostringstream<char, std::char_traits<char>, Json::SecureAllocator<char> >\n#define JSONCPP_OSTREAM       std::basic_ostream<char, std::char_traits<char>>\n#define JSONCPP_ISTRINGSTREAM std::basic_istringstream<char, std::char_traits<char>, Json::SecureAllocator<char> >\n#define JSONCPP_ISTREAM       std::istream\n#else\n#define JSONCPP_STRING        std::string\n#define JSONCPP_OSTRINGSTREAM std::ostringstream\n#define JSONCPP_OSTREAM       std::ostream\n#define JSONCPP_ISTRINGSTREAM std::istringstream\n#define JSONCPP_ISTREAM       std::istream\n#endif // if JSONCPP_USING_SECURE_MEMORY\n} // end namespace Json\n\n#endif // JSON_CONFIG_H_INCLUDED\n\n// //////////////////////////////////////////////////////////////////////\n// End of content of file: include/json/config.h\n// //////////////////////////////////////////////////////////////////////\n\n\n\n\n\n\n// //////////////////////////////////////////////////////////////////////\n// Beginning of content of file: include/json/forwards.h\n// //////////////////////////////////////////////////////////////////////\n\n// Copyright 2007-2010 Baptiste Lepilleur\n// Distributed under MIT license, or public domain if desired and\n// recognized in your jurisdiction.\n// See file LICENSE for detail or copy at http://jsoncpp.sourceforge.net/LICENSE\n\n#ifndef JSON_FORWARDS_H_INCLUDED\n#define JSON_FORWARDS_H_INCLUDED\n\n#if !defined(JSON_IS_AMALGAMATION)\n#include \"config.h\"\n#endif // if !defined(JSON_IS_AMALGAMATION)\n\nnamespace Json {\n\n// writer.h\nclass FastWriter;\nclass StyledWriter;\n\n// reader.h\nclass Reader;\n\n// features.h\nclass Features;\n\n// value.h\ntypedef unsigned int ArrayIndex;\nclass StaticString;\nclass Path;\nclass PathArgument;\nclass Value;\nclass ValueIteratorBase;\nclass ValueIterator;\nclass ValueConstIterator;\n\n} // namespace Json\n\n#endif // JSON_FORWARDS_H_INCLUDED\n\n// //////////////////////////////////////////////////////////////////////\n// End of content of file: include/json/forwards.h\n// //////////////////////////////////////////////////////////////////////\n\n\n\n\n\n\n// //////////////////////////////////////////////////////////////////////\n// Beginning of content of file: include/json/features.h\n// //////////////////////////////////////////////////////////////////////\n\n// Copyright 2007-2010 Baptiste Lepilleur\n// Distributed under MIT license, or public domain if desired and\n// recognized in your jurisdiction.\n// See file LICENSE for detail or copy at http://jsoncpp.sourceforge.net/LICENSE\n\n#ifndef CPPTL_JSON_FEATURES_H_INCLUDED\n#define CPPTL_JSON_FEATURES_H_INCLUDED\n\n#if !defined(JSON_IS_AMALGAMATION)\n#include \"forwards.h\"\n#endif // if !defined(JSON_IS_AMALGAMATION)\n\nnamespace Json {\n\n/** \\brief Configuration passed to reader and writer.\n * This configuration object can be used to force the Reader or Writer\n * to behave in a standard conforming way.\n */\nclass JSON_API Features {\npublic:\n  /** \\brief A configuration that allows all features and assumes all strings\n   * are UTF-8.\n   * - C & C++ comments are allowed\n   * - Root object can be any JSON value\n   * - Assumes Value strings are encoded in UTF-8\n   */\n  static Features all();\n\n  /** \\brief A configuration that is strictly compatible with the JSON\n   * specification.\n   * - Comments are forbidden.\n   * - Root object must be either an array or an object value.\n   * - Assumes Value strings are encoded in UTF-8\n   */\n  static Features strictMode();\n\n  /** \\brief Initialize the configuration like JsonConfig::allFeatures;\n   */\n  Features();\n\n  /// \\c true if comments are allowed. Default: \\c true.\n  bool allowComments_;\n\n  /// \\c true if root must be either an array or an object value. Default: \\c\n  /// false.\n  bool strictRoot_;\n\n  /// \\c true if dropped null placeholders are allowed. Default: \\c false.\n  bool allowDroppedNullPlaceholders_;\n\n  /// \\c true if numeric object key are allowed. Default: \\c false.\n  bool allowNumericKeys_;\n};\n\n} // namespace Json\n\n#endif // CPPTL_JSON_FEATURES_H_INCLUDED\n\n// //////////////////////////////////////////////////////////////////////\n// End of content of file: include/json/features.h\n// //////////////////////////////////////////////////////////////////////\n\n\n\n\n\n\n// //////////////////////////////////////////////////////////////////////\n// Beginning of content of file: include/json/value.h\n// //////////////////////////////////////////////////////////////////////\n\n// Copyright 2007-2010 Baptiste Lepilleur\n// Distributed under MIT license, or public domain if desired and\n// recognized in your jurisdiction.\n// See file LICENSE for detail or copy at http://jsoncpp.sourceforge.net/LICENSE\n\n#ifndef CPPTL_JSON_H_INCLUDED\n#define CPPTL_JSON_H_INCLUDED\n\n#if !defined(JSON_IS_AMALGAMATION)\n#include \"forwards.h\"\n#endif // if !defined(JSON_IS_AMALGAMATION)\n#include <string>\n#include <vector>\n#include <exception>\n\n#ifndef JSON_USE_CPPTL_SMALLMAP\n#include <map>\n#else\n#include <cpptl/smallmap.h>\n#endif\n#ifdef JSON_USE_CPPTL\n#include <cpptl/forwards.h>\n#endif\n\n//Conditional NORETURN attribute on the throw functions would:\n// a) suppress false positives from static code analysis \n// b) possibly improve optimization opportunities.\n#if !defined(JSONCPP_NORETURN)\n#  if defined(_MSC_VER)\n#    define JSONCPP_NORETURN __declspec(noreturn)\n#  elif defined(__GNUC__)\n#    define JSONCPP_NORETURN __attribute__ ((__noreturn__))\n#  else\n#    define JSONCPP_NORETURN\n#  endif\n#endif\n\n// Disable warning C4251: <data member>: <type> needs to have dll-interface to\n// be used by...\n#if defined(JSONCPP_DISABLE_DLL_INTERFACE_WARNING)\n#pragma warning(push)\n#pragma warning(disable : 4251)\n#endif // if defined(JSONCPP_DISABLE_DLL_INTERFACE_WARNING)\n\n/** \\brief JSON (JavaScript Object Notation).\n */\nnamespace Json {\n\n/** Base class for all exceptions we throw.\n *\n * We use nothing but these internally. Of course, STL can throw others.\n */\nclass JSON_API Exception : public std::exception {\npublic:\n  Exception(JSONCPP_STRING const& msg);\n  ~Exception() throw() JSONCPP_OVERRIDE;\n  char const* what() const throw() JSONCPP_OVERRIDE;\nprotected:\n  JSONCPP_STRING msg_;\n};\n\n/** Exceptions which the user cannot easily avoid.\n *\n * E.g. out-of-memory (when we use malloc), stack-overflow, malicious input\n * \n * \\remark derived from Json::Exception\n */\nclass JSON_API RuntimeError : public Exception {\npublic:\n  RuntimeError(JSONCPP_STRING const& msg);\n};\n\n/** Exceptions thrown by JSON_ASSERT/JSON_FAIL macros.\n *\n * These are precondition-violations (user bugs) and internal errors (our bugs).\n * \n * \\remark derived from Json::Exception\n */\nclass JSON_API LogicError : public Exception {\npublic:\n  LogicError(JSONCPP_STRING const& msg);\n};\n\n/// used internally\nJSONCPP_NORETURN void throwRuntimeError(JSONCPP_STRING const& msg);\n/// used internally\nJSONCPP_NORETURN void throwLogicError(JSONCPP_STRING const& msg);\n\n/** \\brief Type of the value held by a Value object.\n */\nenum ValueType {\n  nullValue = 0, ///< 'null' value\n  intValue,      ///< signed integer value\n  uintValue,     ///< unsigned integer value\n  realValue,     ///< double value\n  stringValue,   ///< UTF-8 string value\n  booleanValue,  ///< bool value\n  arrayValue,    ///< array value (ordered list)\n  objectValue    ///< object value (collection of name/value pairs).\n};\n\nenum CommentPlacement {\n  commentBefore = 0,      ///< a comment placed on the line before a value\n  commentAfterOnSameLine, ///< a comment just after a value on the same line\n  commentAfter, ///< a comment on the line after a value (only make sense for\n  /// root value)\n  numberOfCommentPlacement\n};\n\n//# ifdef JSON_USE_CPPTL\n//   typedef CppTL::AnyEnumerator<const char *> EnumMemberNames;\n//   typedef CppTL::AnyEnumerator<const Value &> EnumValues;\n//# endif\n\n/** \\brief Lightweight wrapper to tag static string.\n *\n * Value constructor and objectValue member assignement takes advantage of the\n * StaticString and avoid the cost of string duplication when storing the\n * string or the member name.\n *\n * Example of usage:\n * \\code\n * Json::Value aValue( StaticString(\"some text\") );\n * Json::Value object;\n * static const StaticString code(\"code\");\n * object[code] = 1234;\n * \\endcode\n */\nclass JSON_API StaticString {\npublic:\n  explicit StaticString(const char* czstring) : c_str_(czstring) {}\n\n  operator const char*() const { return c_str_; }\n\n  const char* c_str() const { return c_str_; }\n\nprivate:\n  const char* c_str_;\n};\n\n/** \\brief Represents a <a HREF=\"http://www.json.org\">JSON</a> value.\n *\n * This class is a discriminated union wrapper that can represents a:\n * - signed integer [range: Value::minInt - Value::maxInt]\n * - unsigned integer (range: 0 - Value::maxUInt)\n * - double\n * - UTF-8 string\n * - boolean\n * - 'null'\n * - an ordered list of Value\n * - collection of name/value pairs (javascript object)\n *\n * The type of the held value is represented by a #ValueType and\n * can be obtained using type().\n *\n * Values of an #objectValue or #arrayValue can be accessed using operator[]()\n * methods.\n * Non-const methods will automatically create the a #nullValue element\n * if it does not exist.\n * The sequence of an #arrayValue will be automatically resized and initialized\n * with #nullValue. resize() can be used to enlarge or truncate an #arrayValue.\n *\n * The get() methods can be used to obtain default value in the case the\n * required element does not exist.\n *\n * It is possible to iterate over the list of a #objectValue values using\n * the getMemberNames() method.\n *\n * \\note #Value string-length fit in size_t, but keys must be < 2^30.\n * (The reason is an implementation detail.) A #CharReader will raise an\n * exception if a bound is exceeded to avoid security holes in your app,\n * but the Value API does *not* check bounds. That is the responsibility\n * of the caller.\n */\nclass JSON_API Value {\n  friend class ValueIteratorBase;\npublic:\n  typedef std::vector<JSONCPP_STRING> Members;\n  typedef ValueIterator iterator;\n  typedef ValueConstIterator const_iterator;\n  typedef Json::UInt UInt;\n  typedef Json::Int Int;\n#if defined(JSON_HAS_INT64)\n  typedef Json::UInt64 UInt64;\n  typedef Json::Int64 Int64;\n#endif // defined(JSON_HAS_INT64)\n  typedef Json::LargestInt LargestInt;\n  typedef Json::LargestUInt LargestUInt;\n  typedef Json::ArrayIndex ArrayIndex;\n\n  static const Value& null;  ///< We regret this reference to a global instance; prefer the simpler Value().\n  static const Value& nullRef;  ///< just a kludge for binary-compatibility; same as null\n  /// Minimum signed integer value that can be stored in a Json::Value.\n  static const LargestInt minLargestInt;\n  /// Maximum signed integer value that can be stored in a Json::Value.\n  static const LargestInt maxLargestInt;\n  /// Maximum unsigned integer value that can be stored in a Json::Value.\n  static const LargestUInt maxLargestUInt;\n\n  /// Minimum signed int value that can be stored in a Json::Value.\n  static const Int minInt;\n  /// Maximum signed int value that can be stored in a Json::Value.\n  static const Int maxInt;\n  /// Maximum unsigned int value that can be stored in a Json::Value.\n  static const UInt maxUInt;\n\n#if defined(JSON_HAS_INT64)\n  /// Minimum signed 64 bits int value that can be stored in a Json::Value.\n  static const Int64 minInt64;\n  /// Maximum signed 64 bits int value that can be stored in a Json::Value.\n  static const Int64 maxInt64;\n  /// Maximum unsigned 64 bits int value that can be stored in a Json::Value.\n  static const UInt64 maxUInt64;\n#endif // defined(JSON_HAS_INT64)\n\nprivate:\n#ifndef JSONCPP_DOC_EXCLUDE_IMPLEMENTATION\n  class CZString {\n  public:\n    enum DuplicationPolicy {\n      noDuplication = 0,\n      duplicate,\n      duplicateOnCopy\n    };\n    CZString(ArrayIndex index);\n    CZString(char const* str, unsigned length, DuplicationPolicy allocate);\n    CZString(CZString const& other);\n#if JSON_HAS_RVALUE_REFERENCES\n    CZString(CZString&& other);\n#endif\n    ~CZString();\n    CZString& operator=(CZString other);\n    bool operator<(CZString const& other) const;\n    bool operator==(CZString const& other) const;\n    ArrayIndex index() const;\n    //const char* c_str() const; ///< \\deprecated\n    char const* data() const;\n    unsigned length() const;\n    bool isStaticString() const;\n\n  private:\n    void swap(CZString& other);\n\n    struct StringStorage {\n      unsigned policy_: 2;\n      unsigned length_: 30; // 1GB max\n    };\n\n    char const* cstr_;  // actually, a prefixed string, unless policy is noDup\n    union {\n      ArrayIndex index_;\n      StringStorage storage_;\n    };\n  };\n\npublic:\n#ifndef JSON_USE_CPPTL_SMALLMAP\n  typedef std::map<CZString, Value> ObjectValues;\n#else\n  typedef CppTL::SmallMap<CZString, Value> ObjectValues;\n#endif // ifndef JSON_USE_CPPTL_SMALLMAP\n#endif // ifndef JSONCPP_DOC_EXCLUDE_IMPLEMENTATION\n\npublic:\n  /** \\brief Create a default Value of the given type.\n\n    This is a very useful constructor.\n    To create an empty array, pass arrayValue.\n    To create an empty object, pass objectValue.\n    Another Value can then be set to this one by assignment.\nThis is useful since clear() and resize() will not alter types.\n\n    Examples:\n\\code\nJson::Value null_value; // null\nJson::Value arr_value(Json::arrayValue); // []\nJson::Value obj_value(Json::objectValue); // {}\n\\endcode\n  */\n  Value(ValueType type = nullValue);\n  Value(Int value);\n  Value(UInt value);\n#if defined(JSON_HAS_INT64)\n  Value(Int64 value);\n  Value(UInt64 value);\n#endif // if defined(JSON_HAS_INT64)\n  Value(double value);\n  Value(const char* value); ///< Copy til first 0. (NULL causes to seg-fault.)\n  Value(const char* begin, const char* end); ///< Copy all, incl zeroes.\n  /** \\brief Constructs a value from a static string.\n\n   * Like other value string constructor but do not duplicate the string for\n   * internal storage. The given string must remain alive after the call to this\n   * constructor.\n   * \\note This works only for null-terminated strings. (We cannot change the\n   *   size of this class, so we have nowhere to store the length,\n   *   which might be computed later for various operations.)\n   *\n   * Example of usage:\n   * \\code\n   * static StaticString foo(\"some text\");\n   * Json::Value aValue(foo);\n   * \\endcode\n   */\n  Value(const StaticString& value);\n  Value(const JSONCPP_STRING& value); ///< Copy data() til size(). Embedded zeroes too.\n#ifdef JSON_USE_CPPTL\n  Value(const CppTL::ConstString& value);\n#endif\n  Value(bool value);\n  /// Deep copy.\n  Value(const Value& other);\n#if JSON_HAS_RVALUE_REFERENCES\n  /// Move constructor\n  Value(Value&& other);\n#endif\n  ~Value();\n\n  /// Deep copy, then swap(other).\n  /// \\note Over-write existing comments. To preserve comments, use #swapPayload().\n  Value& operator=(Value other);\n  /// Swap everything.\n  void swap(Value& other);\n  /// Swap values but leave comments and source offsets in place.\n  void swapPayload(Value& other);\n\n  ValueType type() const;\n\n  /// Compare payload only, not comments etc.\n  bool operator<(const Value& other) const;\n  bool operator<=(const Value& other) const;\n  bool operator>=(const Value& other) const;\n  bool operator>(const Value& other) const;\n  bool operator==(const Value& other) const;\n  bool operator!=(const Value& other) const;\n  int compare(const Value& other) const;\n\n  const char* asCString() const; ///< Embedded zeroes could cause you trouble!\n#if JSONCPP_USING_SECURE_MEMORY\n  unsigned getCStringLength() const; //Allows you to understand the length of the CString\n#endif\n  JSONCPP_STRING asString() const; ///< Embedded zeroes are possible.\n  /** Get raw char* of string-value.\n   *  \\return false if !string. (Seg-fault if str or end are NULL.)\n   */\n  bool getString(\n      char const** begin, char const** end) const;\n#ifdef JSON_USE_CPPTL\n  CppTL::ConstString asConstString() const;\n#endif\n  Int asInt() const;\n  UInt asUInt() const;\n#if defined(JSON_HAS_INT64)\n  Int64 asInt64() const;\n  UInt64 asUInt64() const;\n#endif // if defined(JSON_HAS_INT64)\n  LargestInt asLargestInt() const;\n  LargestUInt asLargestUInt() const;\n  float asFloat() const;\n  double asDouble() const;\n  bool asBool() const;\n\n  bool isNull() const;\n  bool isBool() const;\n  bool isInt() const;\n  bool isInt64() const;\n  bool isUInt() const;\n  bool isUInt64() const;\n  bool isIntegral() const;\n  bool isDouble() const;\n  bool isNumeric() const;\n  bool isString() const;\n  bool isArray() const;\n  bool isObject() const;\n\n  bool isConvertibleTo(ValueType other) const;\n\n  /// Number of values in array or object\n  ArrayIndex size() const;\n\n  /// \\brief Return true if empty array, empty object, or null;\n  /// otherwise, false.\n  bool empty() const;\n\n  /// Return isNull()\n  bool operator!() const;\n\n  /// Remove all object members and array elements.\n  /// \\pre type() is arrayValue, objectValue, or nullValue\n  /// \\post type() is unchanged\n  void clear();\n\n  /// Resize the array to size elements.\n  /// New elements are initialized to null.\n  /// May only be called on nullValue or arrayValue.\n  /// \\pre type() is arrayValue or nullValue\n  /// \\post type() is arrayValue\n  void resize(ArrayIndex size);\n\n  /// Access an array element (zero based index ).\n  /// If the array contains less than index element, then null value are\n  /// inserted\n  /// in the array so that its size is index+1.\n  /// (You may need to say 'value[0u]' to get your compiler to distinguish\n  ///  this from the operator[] which takes a string.)\n  Value& operator[](ArrayIndex index);\n\n  /// Access an array element (zero based index ).\n  /// If the array contains less than index element, then null value are\n  /// inserted\n  /// in the array so that its size is index+1.\n  /// (You may need to say 'value[0u]' to get your compiler to distinguish\n  ///  this from the operator[] which takes a string.)\n  Value& operator[](int index);\n\n  /// Access an array element (zero based index )\n  /// (You may need to say 'value[0u]' to get your compiler to distinguish\n  ///  this from the operator[] which takes a string.)\n  const Value& operator[](ArrayIndex index) const;\n\n  /// Access an array element (zero based index )\n  /// (You may need to say 'value[0u]' to get your compiler to distinguish\n  ///  this from the operator[] which takes a string.)\n  const Value& operator[](int index) const;\n\n  /// If the array contains at least index+1 elements, returns the element\n  /// value,\n  /// otherwise returns defaultValue.\n  Value get(ArrayIndex index, const Value& defaultValue) const;\n  /// Return true if index < size().\n  bool isValidIndex(ArrayIndex index) const;\n  /// \\brief Append value to array at the end.\n  ///\n  /// Equivalent to jsonvalue[jsonvalue.size()] = value;\n  Value& append(const Value& value);\n\n  /// Access an object value by name, create a null member if it does not exist.\n  /// \\note Because of our implementation, keys are limited to 2^30 -1 chars.\n  ///  Exceeding that will cause an exception.\n  Value& operator[](const char* key);\n  /// Access an object value by name, returns null if there is no member with\n  /// that name.\n  const Value& operator[](const char* key) const;\n  /// Access an object value by name, create a null member if it does not exist.\n  /// \\param key may contain embedded nulls.\n  Value& operator[](const JSONCPP_STRING& key);\n  /// Access an object value by name, returns null if there is no member with\n  /// that name.\n  /// \\param key may contain embedded nulls.\n  const Value& operator[](const JSONCPP_STRING& key) const;\n  /** \\brief Access an object value by name, create a null member if it does not\n   exist.\n\n   * If the object has no entry for that name, then the member name used to store\n   * the new entry is not duplicated.\n   * Example of use:\n   * \\code\n   * Json::Value object;\n   * static const StaticString code(\"code\");\n   * object[code] = 1234;\n   * \\endcode\n   */\n  Value& operator[](const StaticString& key);\n#ifdef JSON_USE_CPPTL\n  /// Access an object value by name, create a null member if it does not exist.\n  Value& operator[](const CppTL::ConstString& key);\n  /// Access an object value by name, returns null if there is no member with\n  /// that name.\n  const Value& operator[](const CppTL::ConstString& key) const;\n#endif\n  /// Return the member named key if it exist, defaultValue otherwise.\n  /// \\note deep copy\n  Value get(const char* key, const Value& defaultValue) const;\n  /// Return the member named key if it exist, defaultValue otherwise.\n  /// \\note deep copy\n  /// \\note key may contain embedded nulls.\n  Value get(const char* begin, const char* end, const Value& defaultValue) const;\n  /// Return the member named key if it exist, defaultValue otherwise.\n  /// \\note deep copy\n  /// \\param key may contain embedded nulls.\n  Value get(const JSONCPP_STRING& key, const Value& defaultValue) const;\n#ifdef JSON_USE_CPPTL\n  /// Return the member named key if it exist, defaultValue otherwise.\n  /// \\note deep copy\n  Value get(const CppTL::ConstString& key, const Value& defaultValue) const;\n#endif\n  /// Most general and efficient version of isMember()const, get()const,\n  /// and operator[]const\n  /// \\note As stated elsewhere, behavior is undefined if (end-begin) >= 2^30\n  Value const* find(char const* begin, char const* end) const;\n  /// Most general and efficient version of object-mutators.\n  /// \\note As stated elsewhere, behavior is undefined if (end-begin) >= 2^30\n  /// \\return non-zero, but JSON_ASSERT if this is neither object nor nullValue.\n  Value const* demand(char const* begin, char const* end);\n  /// \\brief Remove and return the named member.\n  ///\n  /// Do nothing if it did not exist.\n  /// \\return the removed Value, or null.\n  /// \\pre type() is objectValue or nullValue\n  /// \\post type() is unchanged\n  /// \\deprecated\n  Value removeMember(const char* key);\n  /// Same as removeMember(const char*)\n  /// \\param key may contain embedded nulls.\n  /// \\deprecated\n  Value removeMember(const JSONCPP_STRING& key);\n  /// Same as removeMember(const char* begin, const char* end, Value* removed),\n  /// but 'key' is null-terminated.\n  bool removeMember(const char* key, Value* removed);\n  /** \\brief Remove the named map member.\n\n      Update 'removed' iff removed.\n      \\param key may contain embedded nulls.\n      \\return true iff removed (no exceptions)\n  */\n  bool removeMember(JSONCPP_STRING const& key, Value* removed);\n  /// Same as removeMember(JSONCPP_STRING const& key, Value* removed)\n  bool removeMember(const char* begin, const char* end, Value* removed);\n  /** \\brief Remove the indexed array element.\n\n      O(n) expensive operations.\n      Update 'removed' iff removed.\n      \\return true iff removed (no exceptions)\n  */\n  bool removeIndex(ArrayIndex i, Value* removed);\n\n  /// Return true if the object has a member named key.\n  /// \\note 'key' must be null-terminated.\n  bool isMember(const char* key) const;\n  /// Return true if the object has a member named key.\n  /// \\param key may contain embedded nulls.\n  bool isMember(const JSONCPP_STRING& key) const;\n  /// Same as isMember(JSONCPP_STRING const& key)const\n  bool isMember(const char* begin, const char* end) const;\n#ifdef JSON_USE_CPPTL\n  /// Return true if the object has a member named key.\n  bool isMember(const CppTL::ConstString& key) const;\n#endif\n\n  /// \\brief Return a list of the member names.\n  ///\n  /// If null, return an empty list.\n  /// \\pre type() is objectValue or nullValue\n  /// \\post if type() was nullValue, it remains nullValue\n  Members getMemberNames() const;\n\n  //# ifdef JSON_USE_CPPTL\n  //      EnumMemberNames enumMemberNames() const;\n  //      EnumValues enumValues() const;\n  //# endif\n\n  /// \\deprecated Always pass len.\n  JSONCPP_DEPRECATED(\"Use setComment(JSONCPP_STRING const&) instead.\")\n  void setComment(const char* comment, CommentPlacement placement);\n  /// Comments must be //... or /* ... */\n  void setComment(const char* comment, size_t len, CommentPlacement placement);\n  /// Comments must be //... or /* ... */\n  void setComment(const JSONCPP_STRING& comment, CommentPlacement placement);\n  bool hasComment(CommentPlacement placement) const;\n  /// Include delimiters and embedded newlines.\n  JSONCPP_STRING getComment(CommentPlacement placement) const;\n\n  JSONCPP_STRING toStyledString() const;\n\n  const_iterator begin() const;\n  const_iterator end() const;\n\n  iterator begin();\n  iterator end();\n\n  // Accessors for the [start, limit) range of bytes within the JSON text from\n  // which this value was parsed, if any.\n  void setOffsetStart(ptrdiff_t start);\n  void setOffsetLimit(ptrdiff_t limit);\n  ptrdiff_t getOffsetStart() const;\n  ptrdiff_t getOffsetLimit() const;\n\nprivate:\n  void initBasic(ValueType type, bool allocated = false);\n\n  Value& resolveReference(const char* key);\n  Value& resolveReference(const char* key, const char* end);\n\n  struct CommentInfo {\n    CommentInfo();\n    ~CommentInfo();\n\n    void setComment(const char* text, size_t len);\n\n    char* comment_;\n  };\n\n  // struct MemberNamesTransform\n  //{\n  //   typedef const char *result_type;\n  //   const char *operator()( const CZString &name ) const\n  //   {\n  //      return name.c_str();\n  //   }\n  //};\n\n  union ValueHolder {\n    LargestInt int_;\n    LargestUInt uint_;\n    double real_;\n    bool bool_;\n    char* string_;  // actually ptr to unsigned, followed by str, unless !allocated_\n    ObjectValues* map_;\n  } value_;\n  ValueType type_ : 8;\n  unsigned int allocated_ : 1; // Notes: if declared as bool, bitfield is useless.\n                               // If not allocated_, string_ must be null-terminated.\n  CommentInfo* comments_;\n\n  // [start, limit) byte offsets in the source JSON text from which this Value\n  // was extracted.\n  ptrdiff_t start_;\n  ptrdiff_t limit_;\n};\n\n/** \\brief Experimental and untested: represents an element of the \"path\" to\n * access a node.\n */\nclass JSON_API PathArgument {\npublic:\n  friend class Path;\n\n  PathArgument();\n  PathArgument(ArrayIndex index);\n  PathArgument(const char* key);\n  PathArgument(const JSONCPP_STRING& key);\n\nprivate:\n  enum Kind {\n    kindNone = 0,\n    kindIndex,\n    kindKey\n  };\n  JSONCPP_STRING key_;\n  ArrayIndex index_;\n  Kind kind_;\n};\n\n/** \\brief Experimental and untested: represents a \"path\" to access a node.\n *\n * Syntax:\n * - \".\" => root node\n * - \".[n]\" => elements at index 'n' of root node (an array value)\n * - \".name\" => member named 'name' of root node (an object value)\n * - \".name1.name2.name3\"\n * - \".[0][1][2].name1[3]\"\n * - \".%\" => member name is provided as parameter\n * - \".[%]\" => index is provied as parameter\n */\nclass JSON_API Path {\npublic:\n  Path(const JSONCPP_STRING& path,\n       const PathArgument& a1 = PathArgument(),\n       const PathArgument& a2 = PathArgument(),\n       const PathArgument& a3 = PathArgument(),\n       const PathArgument& a4 = PathArgument(),\n       const PathArgument& a5 = PathArgument());\n\n  const Value& resolve(const Value& root) const;\n  Value resolve(const Value& root, const Value& defaultValue) const;\n  /// Creates the \"path\" to access the specified node and returns a reference on\n  /// the node.\n  Value& make(Value& root) const;\n\nprivate:\n  typedef std::vector<const PathArgument*> InArgs;\n  typedef std::vector<PathArgument> Args;\n\n  void makePath(const JSONCPP_STRING& path, const InArgs& in);\n  void addPathInArg(const JSONCPP_STRING& path,\n                    const InArgs& in,\n                    InArgs::const_iterator& itInArg,\n                    PathArgument::Kind kind);\n  void invalidPath(const JSONCPP_STRING& path, int location);\n\n  Args args_;\n};\n\n/** \\brief base class for Value iterators.\n *\n */\nclass JSON_API ValueIteratorBase {\npublic:\n  typedef std::bidirectional_iterator_tag iterator_category;\n  typedef unsigned int size_t;\n  typedef int difference_type;\n  typedef ValueIteratorBase SelfType;\n\n  bool operator==(const SelfType& other) const { return isEqual(other); }\n\n  bool operator!=(const SelfType& other) const { return !isEqual(other); }\n\n  difference_type operator-(const SelfType& other) const {\n    return other.computeDistance(*this);\n  }\n\n  /// Return either the index or the member name of the referenced value as a\n  /// Value.\n  Value key() const;\n\n  /// Return the index of the referenced Value, or -1 if it is not an arrayValue.\n  UInt index() const;\n\n  /// Return the member name of the referenced Value, or \"\" if it is not an\n  /// objectValue.\n  /// \\note Avoid `c_str()` on result, as embedded zeroes are possible.\n  JSONCPP_STRING name() const;\n\n  /// Return the member name of the referenced Value. \"\" if it is not an\n  /// objectValue.\n  /// \\deprecated This cannot be used for UTF-8 strings, since there can be embedded nulls.\n  JSONCPP_DEPRECATED(\"Use `key = name();` instead.\")\n  char const* memberName() const;\n  /// Return the member name of the referenced Value, or NULL if it is not an\n  /// objectValue.\n  /// \\note Better version than memberName(). Allows embedded nulls.\n  char const* memberName(char const** end) const;\n\nprotected:\n  Value& deref() const;\n\n  void increment();\n\n  void decrement();\n\n  difference_type computeDistance(const SelfType& other) const;\n\n  bool isEqual(const SelfType& other) const;\n\n  void copy(const SelfType& other);\n\nprivate:\n  Value::ObjectValues::iterator current_;\n  // Indicates that iterator is for a null value.\n  bool isNull_;\n\npublic:\n  // For some reason, BORLAND needs these at the end, rather\n  // than earlier. No idea why.\n  ValueIteratorBase();\n  explicit ValueIteratorBase(const Value::ObjectValues::iterator& current);\n};\n\n/** \\brief const iterator for object and array value.\n *\n */\nclass JSON_API ValueConstIterator : public ValueIteratorBase {\n  friend class Value;\n\npublic:\n  typedef const Value value_type;\n  //typedef unsigned int size_t;\n  //typedef int difference_type;\n  typedef const Value& reference;\n  typedef const Value* pointer;\n  typedef ValueConstIterator SelfType;\n\n  ValueConstIterator();\n  ValueConstIterator(ValueIterator const& other);\n\nprivate:\n/*! \\internal Use by Value to create an iterator.\n */\n  explicit ValueConstIterator(const Value::ObjectValues::iterator& current);\npublic:\n  SelfType& operator=(const ValueIteratorBase& other);\n\n  SelfType operator++(int) {\n    SelfType temp(*this);\n    ++*this;\n    return temp;\n  }\n\n  SelfType operator--(int) {\n    SelfType temp(*this);\n    --*this;\n    return temp;\n  }\n\n  SelfType& operator--() {\n    decrement();\n    return *this;\n  }\n\n  SelfType& operator++() {\n    increment();\n    return *this;\n  }\n\n  reference operator*() const { return deref(); }\n\n  pointer operator->() const { return &deref(); }\n};\n\n/** \\brief Iterator for object and array value.\n */\nclass JSON_API ValueIterator : public ValueIteratorBase {\n  friend class Value;\n\npublic:\n  typedef Value value_type;\n  typedef unsigned int size_t;\n  typedef int difference_type;\n  typedef Value& reference;\n  typedef Value* pointer;\n  typedef ValueIterator SelfType;\n\n  ValueIterator();\n  explicit ValueIterator(const ValueConstIterator& other);\n  ValueIterator(const ValueIterator& other);\n\nprivate:\n/*! \\internal Use by Value to create an iterator.\n */\n  explicit ValueIterator(const Value::ObjectValues::iterator& current);\npublic:\n  SelfType& operator=(const SelfType& other);\n\n  SelfType operator++(int) {\n    SelfType temp(*this);\n    ++*this;\n    return temp;\n  }\n\n  SelfType operator--(int) {\n    SelfType temp(*this);\n    --*this;\n    return temp;\n  }\n\n  SelfType& operator--() {\n    decrement();\n    return *this;\n  }\n\n  SelfType& operator++() {\n    increment();\n    return *this;\n  }\n\n  reference operator*() const { return deref(); }\n\n  pointer operator->() const { return &deref(); }\n};\n\n} // namespace Json\n\n\nnamespace std {\n/// Specialize std::swap() for Json::Value.\ntemplate<>\ninline void swap(Json::Value& a, Json::Value& b) { a.swap(b); }\n}\n\n\n#if defined(JSONCPP_DISABLE_DLL_INTERFACE_WARNING)\n#pragma warning(pop)\n#endif // if defined(JSONCPP_DISABLE_DLL_INTERFACE_WARNING)\n\n#endif // CPPTL_JSON_H_INCLUDED\n\n// //////////////////////////////////////////////////////////////////////\n// End of content of file: include/json/value.h\n// //////////////////////////////////////////////////////////////////////\n\n\n\n\n\n\n// //////////////////////////////////////////////////////////////////////\n// Beginning of content of file: include/json/reader.h\n// //////////////////////////////////////////////////////////////////////\n\n// Copyright 2007-2010 Baptiste Lepilleur\n// Distributed under MIT license, or public domain if desired and\n// recognized in your jurisdiction.\n// See file LICENSE for detail or copy at http://jsoncpp.sourceforge.net/LICENSE\n\n#ifndef CPPTL_JSON_READER_H_INCLUDED\n#define CPPTL_JSON_READER_H_INCLUDED\n\n#if !defined(JSON_IS_AMALGAMATION)\n#include \"features.h\"\n#include \"value.h\"\n#endif // if !defined(JSON_IS_AMALGAMATION)\n#include <deque>\n#include <iosfwd>\n#include <stack>\n#include <string>\n#include <istream>\n\n// Disable warning C4251: <data member>: <type> needs to have dll-interface to\n// be used by...\n#if defined(JSONCPP_DISABLE_DLL_INTERFACE_WARNING)\n#pragma warning(push)\n#pragma warning(disable : 4251)\n#endif // if defined(JSONCPP_DISABLE_DLL_INTERFACE_WARNING)\n\nnamespace Json {\n\n/** \\brief Unserialize a <a HREF=\"http://www.json.org\">JSON</a> document into a\n *Value.\n *\n * \\deprecated Use CharReader and CharReaderBuilder.\n */\nclass JSON_API Reader {\npublic:\n  typedef char Char;\n  typedef const Char* Location;\n\n  /** \\brief An error tagged with where in the JSON text it was encountered.\n   *\n   * The offsets give the [start, limit) range of bytes within the text. Note\n   * that this is bytes, not codepoints.\n   *\n   */\n  struct StructuredError {\n    ptrdiff_t offset_start;\n    ptrdiff_t offset_limit;\n    JSONCPP_STRING message;\n  };\n\n  /** \\brief Constructs a Reader allowing all features\n   * for parsing.\n   */\n  Reader();\n\n  /** \\brief Constructs a Reader allowing the specified feature set\n   * for parsing.\n   */\n  Reader(const Features& features);\n\n  /** \\brief Read a Value from a <a HREF=\"http://www.json.org\">JSON</a>\n   * document.\n   * \\param document UTF-8 encoded string containing the document to read.\n   * \\param root [out] Contains the root value of the document if it was\n   *             successfully parsed.\n   * \\param collectComments \\c true to collect comment and allow writing them\n   * back during\n   *                        serialization, \\c false to discard comments.\n   *                        This parameter is ignored if\n   * Features::allowComments_\n   *                        is \\c false.\n   * \\return \\c true if the document was successfully parsed, \\c false if an\n   * error occurred.\n   */\n  bool\n  parse(const std::string& document, Value& root, bool collectComments = true);\n\n  /** \\brief Read a Value from a <a HREF=\"http://www.json.org\">JSON</a>\n   document.\n   * \\param beginDoc Pointer on the beginning of the UTF-8 encoded string of the\n   document to read.\n   * \\param endDoc Pointer on the end of the UTF-8 encoded string of the\n   document to read.\n   *               Must be >= beginDoc.\n   * \\param root [out] Contains the root value of the document if it was\n   *             successfully parsed.\n   * \\param collectComments \\c true to collect comment and allow writing them\n   back during\n   *                        serialization, \\c false to discard comments.\n   *                        This parameter is ignored if\n   Features::allowComments_\n   *                        is \\c false.\n   * \\return \\c true if the document was successfully parsed, \\c false if an\n   error occurred.\n   */\n  bool parse(const char* beginDoc,\n             const char* endDoc,\n             Value& root,\n             bool collectComments = true);\n\n  /// \\brief Parse from input stream.\n  /// \\see Json::operator>>(std::istream&, Json::Value&).\n  bool parse(JSONCPP_ISTREAM& is, Value& root, bool collectComments = true);\n\n  /** \\brief Returns a user friendly string that list errors in the parsed\n   * document.\n   * \\return Formatted error message with the list of errors with their location\n   * in\n   *         the parsed document. An empty string is returned if no error\n   * occurred\n   *         during parsing.\n   * \\deprecated Use getFormattedErrorMessages() instead (typo fix).\n   */\n  JSONCPP_DEPRECATED(\"Use getFormattedErrorMessages() instead.\")\n  JSONCPP_STRING getFormatedErrorMessages() const;\n\n  /** \\brief Returns a user friendly string that list errors in the parsed\n   * document.\n   * \\return Formatted error message with the list of errors with their location\n   * in\n   *         the parsed document. An empty string is returned if no error\n   * occurred\n   *         during parsing.\n   */\n  JSONCPP_STRING getFormattedErrorMessages() const;\n\n  /** \\brief Returns a vector of structured erros encounted while parsing.\n   * \\return A (possibly empty) vector of StructuredError objects. Currently\n   *         only one error can be returned, but the caller should tolerate\n   * multiple\n   *         errors.  This can occur if the parser recovers from a non-fatal\n   *         parse error and then encounters additional errors.\n   */\n  std::vector<StructuredError> getStructuredErrors() const;\n\n  /** \\brief Add a semantic error message.\n   * \\param value JSON Value location associated with the error\n   * \\param message The error message.\n   * \\return \\c true if the error was successfully added, \\c false if the\n   * Value offset exceeds the document size.\n   */\n  bool pushError(const Value& value, const JSONCPP_STRING& message);\n\n  /** \\brief Add a semantic error message with extra context.\n   * \\param value JSON Value location associated with the error\n   * \\param message The error message.\n   * \\param extra Additional JSON Value location to contextualize the error\n   * \\return \\c true if the error was successfully added, \\c false if either\n   * Value offset exceeds the document size.\n   */\n  bool pushError(const Value& value, const JSONCPP_STRING& message, const Value& extra);\n\n  /** \\brief Return whether there are any errors.\n   * \\return \\c true if there are no errors to report \\c false if\n   * errors have occurred.\n   */\n  bool good() const;\n\nprivate:\n  enum TokenType {\n    tokenEndOfStream = 0,\n    tokenObjectBegin,\n    tokenObjectEnd,\n    tokenArrayBegin,\n    tokenArrayEnd,\n    tokenString,\n    tokenNumber,\n    tokenTrue,\n    tokenFalse,\n    tokenNull,\n    tokenArraySeparator,\n    tokenMemberSeparator,\n    tokenComment,\n    tokenError\n  };\n\n  class Token {\n  public:\n    TokenType type_;\n    Location start_;\n    Location end_;\n  };\n\n  class ErrorInfo {\n  public:\n    Token token_;\n    JSONCPP_STRING message_;\n    Location extra_;\n  };\n\n  typedef std::deque<ErrorInfo> Errors;\n\n  bool readToken(Token& token);\n  void skipSpaces();\n  bool match(Location pattern, int patternLength);\n  bool readComment();\n  bool readCStyleComment();\n  bool readCppStyleComment();\n  bool readString();\n  void readNumber();\n  bool readValue();\n  bool readObject(Token& token);\n  bool readArray(Token& token);\n  bool decodeNumber(Token& token);\n  bool decodeNumber(Token& token, Value& decoded);\n  bool decodeString(Token& token);\n  bool decodeString(Token& token, JSONCPP_STRING& decoded);\n  bool decodeDouble(Token& token);\n  bool decodeDouble(Token& token, Value& decoded);\n  bool decodeUnicodeCodePoint(Token& token,\n                              Location& current,\n                              Location end,\n                              unsigned int& unicode);\n  bool decodeUnicodeEscapeSequence(Token& token,\n                                   Location& current,\n                                   Location end,\n                                   unsigned int& unicode);\n  bool addError(const JSONCPP_STRING& message, Token& token, Location extra = 0);\n  bool recoverFromError(TokenType skipUntilToken);\n  bool addErrorAndRecover(const JSONCPP_STRING& message,\n                          Token& token,\n                          TokenType skipUntilToken);\n  void skipUntilSpace();\n  Value& currentValue();\n  Char getNextChar();\n  void\n  getLocationLineAndColumn(Location location, int& line, int& column) const;\n  JSONCPP_STRING getLocationLineAndColumn(Location location) const;\n  void addComment(Location begin, Location end, CommentPlacement placement);\n  void skipCommentTokens(Token& token);\n\n  typedef std::stack<Value*> Nodes;\n  Nodes nodes_;\n  Errors errors_;\n  JSONCPP_STRING document_;\n  Location begin_;\n  Location end_;\n  Location current_;\n  Location lastValueEnd_;\n  Value* lastValue_;\n  JSONCPP_STRING commentsBefore_;\n  Features features_;\n  bool collectComments_;\n};  // Reader\n\n/** Interface for reading JSON from a char array.\n */\nclass JSON_API CharReader {\npublic:\n  virtual ~CharReader() {}\n  /** \\brief Read a Value from a <a HREF=\"http://www.json.org\">JSON</a>\n   document.\n   * The document must be a UTF-8 encoded string containing the document to read.\n   *\n   * \\param beginDoc Pointer on the beginning of the UTF-8 encoded string of the\n   document to read.\n   * \\param endDoc Pointer on the end of the UTF-8 encoded string of the\n   document to read.\n   *        Must be >= beginDoc.\n   * \\param root [out] Contains the root value of the document if it was\n   *             successfully parsed.\n   * \\param errs [out] Formatted error messages (if not NULL)\n   *        a user friendly string that lists errors in the parsed\n   * document.\n   * \\return \\c true if the document was successfully parsed, \\c false if an\n   error occurred.\n   */\n  virtual bool parse(\n      char const* beginDoc, char const* endDoc,\n      Value* root, JSONCPP_STRING* errs) = 0;\n\n  class JSON_API Factory {\n  public:\n    virtual ~Factory() {}\n    /** \\brief Allocate a CharReader via operator new().\n     * \\throw std::exception if something goes wrong (e.g. invalid settings)\n     */\n    virtual CharReader* newCharReader() const = 0;\n  };  // Factory\n};  // CharReader\n\n/** \\brief Build a CharReader implementation.\n\nUsage:\n\\code\n  using namespace Json;\n  CharReaderBuilder builder;\n  builder[\"collectComments\"] = false;\n  Value value;\n  JSONCPP_STRING errs;\n  bool ok = parseFromStream(builder, std::cin, &value, &errs);\n\\endcode\n*/\nclass JSON_API CharReaderBuilder : public CharReader::Factory {\npublic:\n  // Note: We use a Json::Value so that we can add data-members to this class\n  // without a major version bump.\n  /** Configuration of this builder.\n    These are case-sensitive.\n    Available settings (case-sensitive):\n    - `\"collectComments\": false or true`\n      - true to collect comment and allow writing them\n        back during serialization, false to discard comments.\n        This parameter is ignored if allowComments is false.\n    - `\"allowComments\": false or true`\n      - true if comments are allowed.\n    - `\"strictRoot\": false or true`\n      - true if root must be either an array or an object value\n    - `\"allowDroppedNullPlaceholders\": false or true`\n      - true if dropped null placeholders are allowed. (See StreamWriterBuilder.)\n    - `\"allowNumericKeys\": false or true`\n      - true if numeric object keys are allowed.\n    - `\"allowSingleQuotes\": false or true`\n      - true if '' are allowed for strings (both keys and values)\n    - `\"stackLimit\": integer`\n      - Exceeding stackLimit (recursive depth of `readValue()`) will\n        cause an exception.\n      - This is a security issue (seg-faults caused by deeply nested JSON),\n        so the default is low.\n    - `\"failIfExtra\": false or true`\n      - If true, `parse()` returns false when extra non-whitespace trails\n        the JSON value in the input string.\n    - `\"rejectDupKeys\": false or true`\n      - If true, `parse()` returns false when a key is duplicated within an object.\n    - `\"allowSpecialFloats\": false or true`\n      - If true, special float values (NaNs and infinities) are allowed \n        and their values are lossfree restorable.\n\n    You can examine 'settings_` yourself\n    to see the defaults. You can also write and read them just like any\n    JSON Value.\n    \\sa setDefaults()\n    */\n  Json::Value settings_;\n\n  CharReaderBuilder();\n  ~CharReaderBuilder() JSONCPP_OVERRIDE;\n\n  CharReader* newCharReader() const JSONCPP_OVERRIDE;\n\n  /** \\return true if 'settings' are legal and consistent;\n   *   otherwise, indicate bad settings via 'invalid'.\n   */\n  bool validate(Json::Value* invalid) const;\n\n  /** A simple way to update a specific setting.\n   */\n  Value& operator[](JSONCPP_STRING key);\n\n  /** Called by ctor, but you can use this to reset settings_.\n   * \\pre 'settings' != NULL (but Json::null is fine)\n   * \\remark Defaults:\n   * \\snippet src/lib_json/json_reader.cpp CharReaderBuilderDefaults\n   */\n  static void setDefaults(Json::Value* settings);\n  /** Same as old Features::strictMode().\n   * \\pre 'settings' != NULL (but Json::null is fine)\n   * \\remark Defaults:\n   * \\snippet src/lib_json/json_reader.cpp CharReaderBuilderStrictMode\n   */\n  static void strictMode(Json::Value* settings);\n};\n\n/** Consume entire stream and use its begin/end.\n  * Someday we might have a real StreamReader, but for now this\n  * is convenient.\n  */\nbool JSON_API parseFromStream(\n    CharReader::Factory const&,\n    JSONCPP_ISTREAM&,\n    Value* root, std::string* errs);\n\n/** \\brief Read from 'sin' into 'root'.\n\n Always keep comments from the input JSON.\n\n This can be used to read a file into a particular sub-object.\n For example:\n \\code\n Json::Value root;\n cin >> root[\"dir\"][\"file\"];\n cout << root;\n \\endcode\n Result:\n \\verbatim\n {\n \"dir\": {\n     \"file\": {\n     // The input stream JSON would be nested here.\n     }\n }\n }\n \\endverbatim\n \\throw std::exception on parse error.\n \\see Json::operator<<()\n*/\nJSON_API JSONCPP_ISTREAM& operator>>(JSONCPP_ISTREAM&, Value&);\n\n} // namespace Json\n\n#if defined(JSONCPP_DISABLE_DLL_INTERFACE_WARNING)\n#pragma warning(pop)\n#endif // if defined(JSONCPP_DISABLE_DLL_INTERFACE_WARNING)\n\n#endif // CPPTL_JSON_READER_H_INCLUDED\n\n// //////////////////////////////////////////////////////////////////////\n// End of content of file: include/json/reader.h\n// //////////////////////////////////////////////////////////////////////\n\n\n\n\n\n\n// //////////////////////////////////////////////////////////////////////\n// Beginning of content of file: include/json/writer.h\n// //////////////////////////////////////////////////////////////////////\n\n// Copyright 2007-2010 Baptiste Lepilleur\n// Distributed under MIT license, or public domain if desired and\n// recognized in your jurisdiction.\n// See file LICENSE for detail or copy at http://jsoncpp.sourceforge.net/LICENSE\n\n#ifndef JSON_WRITER_H_INCLUDED\n#define JSON_WRITER_H_INCLUDED\n\n#if !defined(JSON_IS_AMALGAMATION)\n#include \"value.h\"\n#endif // if !defined(JSON_IS_AMALGAMATION)\n#include <vector>\n#include <string>\n#include <ostream>\n\n// Disable warning C4251: <data member>: <type> needs to have dll-interface to\n// be used by...\n#if defined(JSONCPP_DISABLE_DLL_INTERFACE_WARNING)\n#pragma warning(push)\n#pragma warning(disable : 4251)\n#endif // if defined(JSONCPP_DISABLE_DLL_INTERFACE_WARNING)\n\nnamespace Json {\n\nclass Value;\n\n/**\n\nUsage:\n\\code\n  using namespace Json;\n  void writeToStdout(StreamWriter::Factory const& factory, Value const& value) {\n    std::unique_ptr<StreamWriter> const writer(\n      factory.newStreamWriter());\n    writer->write(value, &std::cout);\n    std::cout << std::endl;  // add lf and flush\n  }\n\\endcode\n*/\nclass JSON_API StreamWriter {\nprotected:\n  JSONCPP_OSTREAM* sout_;  // not owned; will not delete\npublic:\n  StreamWriter();\n  virtual ~StreamWriter();\n  /** Write Value into document as configured in sub-class.\n      Do not take ownership of sout, but maintain a reference during function.\n      \\pre sout != NULL\n      \\return zero on success (For now, we always return zero, so check the stream instead.)\n      \\throw std::exception possibly, depending on configuration\n   */\n  virtual int write(Value const& root, JSONCPP_OSTREAM* sout) = 0;\n\n  /** \\brief A simple abstract factory.\n   */\n  class JSON_API Factory {\n  public:\n    virtual ~Factory();\n    /** \\brief Allocate a CharReader via operator new().\n     * \\throw std::exception if something goes wrong (e.g. invalid settings)\n     */\n    virtual StreamWriter* newStreamWriter() const = 0;\n  };  // Factory\n};  // StreamWriter\n\n/** \\brief Write into stringstream, then return string, for convenience.\n * A StreamWriter will be created from the factory, used, and then deleted.\n */\nJSONCPP_STRING JSON_API writeString(StreamWriter::Factory const& factory, Value const& root);\n\n\n/** \\brief Build a StreamWriter implementation.\n\nUsage:\n\\code\n  using namespace Json;\n  Value value = ...;\n  StreamWriterBuilder builder;\n  builder[\"commentStyle\"] = \"None\";\n  builder[\"indentation\"] = \"   \";  // or whatever you like\n  std::unique_ptr<Json::StreamWriter> writer(\n      builder.newStreamWriter());\n  writer->write(value, &std::cout);\n  std::cout << std::endl;  // add lf and flush\n\\endcode\n*/\nclass JSON_API StreamWriterBuilder : public StreamWriter::Factory {\npublic:\n  // Note: We use a Json::Value so that we can add data-members to this class\n  // without a major version bump.\n  /** Configuration of this builder.\n    Available settings (case-sensitive):\n    - \"commentStyle\": \"None\" or \"All\"\n    - \"indentation\":  \"<anything>\"\n    - \"enableYAMLCompatibility\": false or true\n      - slightly change the whitespace around colons\n    - \"dropNullPlaceholders\": false or true\n      - Drop the \"null\" string from the writer's output for nullValues.\n        Strictly speaking, this is not valid JSON. But when the output is being\n        fed to a browser's Javascript, it makes for smaller output and the\n        browser can handle the output just fine.\n    - \"useSpecialFloats\": false or true\n      - If true, outputs non-finite floating point values in the following way:\n        NaN values as \"NaN\", positive infinity as \"Infinity\", and negative infinity\n        as \"-Infinity\".\n\n    You can examine 'settings_` yourself\n    to see the defaults. You can also write and read them just like any\n    JSON Value.\n    \\sa setDefaults()\n    */\n  Json::Value settings_;\n\n  StreamWriterBuilder();\n  ~StreamWriterBuilder() JSONCPP_OVERRIDE;\n\n  /**\n   * \\throw std::exception if something goes wrong (e.g. invalid settings)\n   */\n  StreamWriter* newStreamWriter() const JSONCPP_OVERRIDE;\n\n  /** \\return true if 'settings' are legal and consistent;\n   *   otherwise, indicate bad settings via 'invalid'.\n   */\n  bool validate(Json::Value* invalid) const;\n  /** A simple way to update a specific setting.\n   */\n  Value& operator[](JSONCPP_STRING key);\n\n  /** Called by ctor, but you can use this to reset settings_.\n   * \\pre 'settings' != NULL (but Json::null is fine)\n   * \\remark Defaults:\n   * \\snippet src/lib_json/json_writer.cpp StreamWriterBuilderDefaults\n   */\n  static void setDefaults(Json::Value* settings);\n};\n\n/** \\brief Abstract class for writers.\n * \\deprecated Use StreamWriter. (And really, this is an implementation detail.)\n */\nclass JSON_API Writer {\npublic:\n  virtual ~Writer();\n\n  virtual JSONCPP_STRING write(const Value& root) = 0;\n};\n\n/** \\brief Outputs a Value in <a HREF=\"http://www.json.org\">JSON</a> format\n *without formatting (not human friendly).\n *\n * The JSON document is written in a single line. It is not intended for 'human'\n *consumption,\n * but may be usefull to support feature such as RPC where bandwith is limited.\n * \\sa Reader, Value\n * \\deprecated Use StreamWriterBuilder.\n */\nclass JSON_API FastWriter : public Writer {\n\npublic:\n  FastWriter();\n  ~FastWriter() JSONCPP_OVERRIDE {}\n\n  void enableYAMLCompatibility();\n\n  /** \\brief Drop the \"null\" string from the writer's output for nullValues.\n   * Strictly speaking, this is not valid JSON. But when the output is being\n   * fed to a browser's Javascript, it makes for smaller output and the\n   * browser can handle the output just fine.\n   */\n  void dropNullPlaceholders();\n\n  void omitEndingLineFeed();\n\npublic: // overridden from Writer\n  JSONCPP_STRING write(const Value& root) JSONCPP_OVERRIDE;\n\nprivate:\n  void writeValue(const Value& value);\n\n  JSONCPP_STRING document_;\n  bool yamlCompatiblityEnabled_;\n  bool dropNullPlaceholders_;\n  bool omitEndingLineFeed_;\n};\n\n/** \\brief Writes a Value in <a HREF=\"http://www.json.org\">JSON</a> format in a\n *human friendly way.\n *\n * The rules for line break and indent are as follow:\n * - Object value:\n *     - if empty then print {} without indent and line break\n *     - if not empty the print '{', line break & indent, print one value per\n *line\n *       and then unindent and line break and print '}'.\n * - Array value:\n *     - if empty then print [] without indent and line break\n *     - if the array contains no object value, empty array or some other value\n *types,\n *       and all the values fit on one lines, then print the array on a single\n *line.\n *     - otherwise, it the values do not fit on one line, or the array contains\n *       object or non empty array, then print one value per line.\n *\n * If the Value have comments then they are outputed according to their\n *#CommentPlacement.\n *\n * \\sa Reader, Value, Value::setComment()\n * \\deprecated Use StreamWriterBuilder.\n */\nclass JSON_API StyledWriter : public Writer {\npublic:\n  StyledWriter();\n  ~StyledWriter() JSONCPP_OVERRIDE {}\n\npublic: // overridden from Writer\n  /** \\brief Serialize a Value in <a HREF=\"http://www.json.org\">JSON</a> format.\n   * \\param root Value to serialize.\n   * \\return String containing the JSON document that represents the root value.\n   */\n  JSONCPP_STRING write(const Value& root) JSONCPP_OVERRIDE;\n\nprivate:\n  void writeValue(const Value& value);\n  void writeArrayValue(const Value& value);\n  bool isMultineArray(const Value& value);\n  void pushValue(const JSONCPP_STRING& value);\n  void writeIndent();\n  void writeWithIndent(const JSONCPP_STRING& value);\n  void indent();\n  void unindent();\n  void writeCommentBeforeValue(const Value& root);\n  void writeCommentAfterValueOnSameLine(const Value& root);\n  bool hasCommentForValue(const Value& value);\n  static JSONCPP_STRING normalizeEOL(const JSONCPP_STRING& text);\n\n  typedef std::vector<JSONCPP_STRING> ChildValues;\n\n  ChildValues childValues_;\n  JSONCPP_STRING document_;\n  JSONCPP_STRING indentString_;\n  unsigned int rightMargin_;\n  unsigned int indentSize_;\n  bool addChildValues_;\n};\n\n/** \\brief Writes a Value in <a HREF=\"http://www.json.org\">JSON</a> format in a\n human friendly way,\n     to a stream rather than to a string.\n *\n * The rules for line break and indent are as follow:\n * - Object value:\n *     - if empty then print {} without indent and line break\n *     - if not empty the print '{', line break & indent, print one value per\n line\n *       and then unindent and line break and print '}'.\n * - Array value:\n *     - if empty then print [] without indent and line break\n *     - if the array contains no object value, empty array or some other value\n types,\n *       and all the values fit on one lines, then print the array on a single\n line.\n *     - otherwise, it the values do not fit on one line, or the array contains\n *       object or non empty array, then print one value per line.\n *\n * If the Value have comments then they are outputed according to their\n #CommentPlacement.\n *\n * \\param indentation Each level will be indented by this amount extra.\n * \\sa Reader, Value, Value::setComment()\n * \\deprecated Use StreamWriterBuilder.\n */\nclass JSON_API StyledStreamWriter {\npublic:\n  StyledStreamWriter(JSONCPP_STRING indentation = \"\\t\");\n  ~StyledStreamWriter() {}\n\npublic:\n  /** \\brief Serialize a Value in <a HREF=\"http://www.json.org\">JSON</a> format.\n   * \\param out Stream to write to. (Can be ostringstream, e.g.)\n   * \\param root Value to serialize.\n   * \\note There is no point in deriving from Writer, since write() should not\n   * return a value.\n   */\n  void write(JSONCPP_OSTREAM& out, const Value& root);\n\nprivate:\n  void writeValue(const Value& value);\n  void writeArrayValue(const Value& value);\n  bool isMultineArray(const Value& value);\n  void pushValue(const JSONCPP_STRING& value);\n  void writeIndent();\n  void writeWithIndent(const JSONCPP_STRING& value);\n  void indent();\n  void unindent();\n  void writeCommentBeforeValue(const Value& root);\n  void writeCommentAfterValueOnSameLine(const Value& root);\n  bool hasCommentForValue(const Value& value);\n  static JSONCPP_STRING normalizeEOL(const JSONCPP_STRING& text);\n\n  typedef std::vector<JSONCPP_STRING> ChildValues;\n\n  ChildValues childValues_;\n  JSONCPP_OSTREAM* document_;\n  JSONCPP_STRING indentString_;\n  unsigned int rightMargin_;\n  JSONCPP_STRING indentation_;\n  bool addChildValues_ : 1;\n  bool indented_ : 1;\n};\n\n#if defined(JSON_HAS_INT64)\nJSONCPP_STRING JSON_API valueToString(Int value);\nJSONCPP_STRING JSON_API valueToString(UInt value);\n#endif // if defined(JSON_HAS_INT64)\nJSONCPP_STRING JSON_API valueToString(LargestInt value);\nJSONCPP_STRING JSON_API valueToString(LargestUInt value);\nJSONCPP_STRING JSON_API valueToString(double value);\nJSONCPP_STRING JSON_API valueToString(bool value);\nJSONCPP_STRING JSON_API valueToQuotedString(const char* value);\n\n/// \\brief Output using the StyledStreamWriter.\n/// \\see Json::operator>>()\nJSON_API JSONCPP_OSTREAM& operator<<(JSONCPP_OSTREAM&, const Value& root);\n\n} // namespace Json\n\n#if defined(JSONCPP_DISABLE_DLL_INTERFACE_WARNING)\n#pragma warning(pop)\n#endif // if defined(JSONCPP_DISABLE_DLL_INTERFACE_WARNING)\n\n#endif // JSON_WRITER_H_INCLUDED\n\n// //////////////////////////////////////////////////////////////////////\n// End of content of file: include/json/writer.h\n// //////////////////////////////////////////////////////////////////////\n\n\n\n\n\n\n// //////////////////////////////////////////////////////////////////////\n// Beginning of content of file: include/json/assertions.h\n// //////////////////////////////////////////////////////////////////////\n\n// Copyright 2007-2010 Baptiste Lepilleur\n// Distributed under MIT license, or public domain if desired and\n// recognized in your jurisdiction.\n// See file LICENSE for detail or copy at http://jsoncpp.sourceforge.net/LICENSE\n\n#ifndef CPPTL_JSON_ASSERTIONS_H_INCLUDED\n#define CPPTL_JSON_ASSERTIONS_H_INCLUDED\n\n#include <stdlib.h>\n#include <sstream>\n\n#if !defined(JSON_IS_AMALGAMATION)\n#include \"config.h\"\n#endif // if !defined(JSON_IS_AMALGAMATION)\n\n/** It should not be possible for a maliciously designed file to\n *  cause an abort() or seg-fault, so these macros are used only\n *  for pre-condition violations and internal logic errors.\n */\n#if JSON_USE_EXCEPTION\n\n// @todo <= add detail about condition in exception\n# define JSON_ASSERT(condition)                                                \\\n  {if (!(condition)) {Json::throwLogicError( \"assert json failed\" );}}\n\n# define JSON_FAIL_MESSAGE(message)                                            \\\n  {                                                                            \\\n    JSONCPP_OSTRINGSTREAM oss; oss << message;                                    \\\n    Json::throwLogicError(oss.str());                                          \\\n    abort();                                                                   \\\n  }\n\n#else // JSON_USE_EXCEPTION\n\n# define JSON_ASSERT(condition) assert(condition)\n\n// The call to assert() will show the failure message in debug builds. In\n// release builds we abort, for a core-dump or debugger.\n# define JSON_FAIL_MESSAGE(message)                                            \\\n  {                                                                            \\\n    JSONCPP_OSTRINGSTREAM oss; oss << message;                                    \\\n    assert(false && oss.str().c_str());                                        \\\n    abort();                                                                   \\\n  }\n\n\n#endif\n\n#define JSON_ASSERT_MESSAGE(condition, message)                                \\\n  if (!(condition)) {                                                          \\\n    JSON_FAIL_MESSAGE(message);                                                \\\n  }\n\n#endif // CPPTL_JSON_ASSERTIONS_H_INCLUDED\n\n// //////////////////////////////////////////////////////////////////////\n// End of content of file: include/json/assertions.h\n// //////////////////////////////////////////////////////////////////////\n\n\n\n\n\n#endif //ifndef JSON_AMALGATED_H_INCLUDED\n"
  },
  {
    "path": "source/jsoncpp.cpp",
    "content": "/// Json-cpp amalgated source (http://jsoncpp.sourceforge.net/).\n/// It is intended to be used with #include \"json/json.h\"\n\n// //////////////////////////////////////////////////////////////////////\n// Beginning of content of file: LICENSE\n// //////////////////////////////////////////////////////////////////////\n\n/*\nThe JsonCpp library's source code, including accompanying documentation, \ntests and demonstration applications, are licensed under the following\nconditions...\n\nThe author (Baptiste Lepilleur) explicitly disclaims copyright in all \njurisdictions which recognize such a disclaimer. In such jurisdictions, \nthis software is released into the Public Domain.\n\nIn jurisdictions which do not recognize Public Domain property (e.g. Germany as of\n2010), this software is Copyright (c) 2007-2010 by Baptiste Lepilleur, and is\nreleased under the terms of the MIT License (see below).\n\nIn jurisdictions which recognize Public Domain property, the user of this \nsoftware may choose to accept it either as 1) Public Domain, 2) under the \nconditions of the MIT License (see below), or 3) under the terms of dual \nPublic Domain/MIT License conditions described here, as they choose.\n\nThe MIT License is about as close to Public Domain as a license can get, and is\ndescribed in clear, concise terms at:\n\n   http://en.wikipedia.org/wiki/MIT_License\n   \nThe full text of the MIT License follows:\n\n========================================================================\nCopyright (c) 2007-2010 Baptiste Lepilleur\n\nPermission is hereby granted, free of charge, to any person\nobtaining a copy of this software and associated documentation\nfiles (the \"Software\"), to deal in the Software without\nrestriction, including without limitation the rights to use, copy,\nmodify, merge, publish, distribute, sublicense, and/or sell copies\nof the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\nNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS\nBE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN\nACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\nCONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n========================================================================\n(END LICENSE TEXT)\n\nThe MIT license is compatible with both the GPL and commercial\nsoftware, affording one all of the rights of Public Domain with the\nminor nuisance of being required to keep the above copyright notice\nand license text in the source code. Note also that by accepting the\nPublic Domain \"license\" you can re-license your copy using whatever\nlicense you like.\n\n*/\n\n// //////////////////////////////////////////////////////////////////////\n// End of content of file: LICENSE\n// //////////////////////////////////////////////////////////////////////\n\n\n\n\n\n\n#include \"json/json.h\"\n\n#ifndef JSON_IS_AMALGAMATION\n#error \"Compile with -I PATH_TO_JSON_DIRECTORY\"\n#endif\n\n\n// //////////////////////////////////////////////////////////////////////\n// Beginning of content of file: src/lib_json/json_tool.h\n// //////////////////////////////////////////////////////////////////////\n\n// Copyright 2007-2010 Baptiste Lepilleur\n// Distributed under MIT license, or public domain if desired and\n// recognized in your jurisdiction.\n// See file LICENSE for detail or copy at http://jsoncpp.sourceforge.net/LICENSE\n\n#ifndef LIB_JSONCPP_JSON_TOOL_H_INCLUDED\n#define LIB_JSONCPP_JSON_TOOL_H_INCLUDED\n\n/* This header provides common string manipulation support, such as UTF-8,\n * portable conversion from/to string...\n *\n * It is an internal header that must not be exposed.\n */\n\nnamespace Json {\n\n/// Converts a unicode code-point to UTF-8.\nstatic inline JSONCPP_STRING codePointToUTF8(unsigned int cp) {\n  JSONCPP_STRING result;\n\n  // based on description from http://en.wikipedia.org/wiki/UTF-8\n\n  if (cp <= 0x7f) {\n    result.resize(1);\n    result[0] = static_cast<char>(cp);\n  } else if (cp <= 0x7FF) {\n    result.resize(2);\n    result[1] = static_cast<char>(0x80 | (0x3f & cp));\n    result[0] = static_cast<char>(0xC0 | (0x1f & (cp >> 6)));\n  } else if (cp <= 0xFFFF) {\n    result.resize(3);\n    result[2] = static_cast<char>(0x80 | (0x3f & cp));\n    result[1] = static_cast<char>(0x80 | (0x3f & (cp >> 6)));\n    result[0] = static_cast<char>(0xE0 | (0xf & (cp >> 12)));\n  } else if (cp <= 0x10FFFF) {\n    result.resize(4);\n    result[3] = static_cast<char>(0x80 | (0x3f & cp));\n    result[2] = static_cast<char>(0x80 | (0x3f & (cp >> 6)));\n    result[1] = static_cast<char>(0x80 | (0x3f & (cp >> 12)));\n    result[0] = static_cast<char>(0xF0 | (0x7 & (cp >> 18)));\n  }\n\n  return result;\n}\n\n/// Returns true if ch is a control character (in range [1,31]).\nstatic inline bool isControlCharacter(char ch) { return ch > 0 && ch <= 0x1F; }\n\nenum {\n  /// Constant that specify the size of the buffer that must be passed to\n  /// uintToString.\n  uintToStringBufferSize = 3 * sizeof(LargestUInt) + 1\n};\n\n// Defines a char buffer for use with uintToString().\ntypedef char UIntToStringBuffer[uintToStringBufferSize];\n\n/** Converts an unsigned integer to string.\n * @param value Unsigned interger to convert to string\n * @param current Input/Output string buffer.\n *        Must have at least uintToStringBufferSize chars free.\n */\nstatic inline void uintToString(LargestUInt value, char*& current) {\n  *--current = 0;\n  do {\n    *--current = static_cast<char>(value % 10U + static_cast<unsigned>('0'));\n    value /= 10;\n  } while (value != 0);\n}\n\n/** Change ',' to '.' everywhere in buffer.\n *\n * We had a sophisticated way, but it did not work in WinCE.\n * @see https://github.com/open-source-parsers/jsoncpp/pull/9\n */\nstatic inline void fixNumericLocale(char* begin, char* end) {\n  while (begin < end) {\n    if (*begin == ',') {\n      *begin = '.';\n    }\n    ++begin;\n  }\n}\n\n} // namespace Json {\n\n#endif // LIB_JSONCPP_JSON_TOOL_H_INCLUDED\n\n// //////////////////////////////////////////////////////////////////////\n// End of content of file: src/lib_json/json_tool.h\n// //////////////////////////////////////////////////////////////////////\n\n\n\n\n\n\n// //////////////////////////////////////////////////////////////////////\n// Beginning of content of file: src/lib_json/json_reader.cpp\n// //////////////////////////////////////////////////////////////////////\n\n// Copyright 2007-2011 Baptiste Lepilleur\n// Distributed under MIT license, or public domain if desired and\n// recognized in your jurisdiction.\n// See file LICENSE for detail or copy at http://jsoncpp.sourceforge.net/LICENSE\n\n#if !defined(JSON_IS_AMALGAMATION)\n#include <json/assertions.h>\n#include <json/reader.h>\n#include <json/value.h>\n#include \"json_tool.h\"\n#endif // if !defined(JSON_IS_AMALGAMATION)\n#include <utility>\n#include <cstdio>\n#include <cassert>\n#include <cstring>\n#include <istream>\n#include <sstream>\n#include <memory>\n#include <set>\n#include <limits>\n\n#if defined(_MSC_VER)\n#if !defined(WINCE) && defined(__STDC_SECURE_LIB__) && _MSC_VER >= 1500 // VC++ 9.0 and above \n#define snprintf sprintf_s\n#elif _MSC_VER >= 1900 // VC++ 14.0 and above\n#define snprintf std::snprintf\n#else\n#define snprintf _snprintf\n#endif\n#elif defined(__ANDROID__) || defined(__QNXNTO__)\n#define snprintf snprintf\n#elif __cplusplus >= 201103L\n#if !defined(__MINGW32__) && !defined(__CYGWIN__)\n//#define snprintf std::snprintf\n#endif\n#endif\n\n#if defined(__QNXNTO__)\n#define sscanf std::sscanf\n#endif\n\n#if defined(_MSC_VER) && _MSC_VER >= 1400 // VC++ 8.0\n// Disable warning about strdup being deprecated.\n#pragma warning(disable : 4996)\n#endif\n\nstatic int const stackLimit_g = 1000;\nstatic int       stackDepth_g = 0;  // see readValue()\n\nnamespace Json {\n\n#if __cplusplus >= 201103L || (defined(_CPPLIB_VER) && _CPPLIB_VER >= 520)\ntypedef std::unique_ptr<CharReader> CharReaderPtr;\n#else\ntypedef std::auto_ptr<CharReader>   CharReaderPtr;\n#endif\n\n// Implementation of class Features\n// ////////////////////////////////\n\nFeatures::Features()\n    : allowComments_(true), strictRoot_(false),\n      allowDroppedNullPlaceholders_(false), allowNumericKeys_(false) {}\n\nFeatures Features::all() { return Features(); }\n\nFeatures Features::strictMode() {\n  Features features;\n  features.allowComments_ = false;\n  features.strictRoot_ = true;\n  features.allowDroppedNullPlaceholders_ = false;\n  features.allowNumericKeys_ = false;\n  return features;\n}\n\n// Implementation of class Reader\n// ////////////////////////////////\n\nstatic bool containsNewLine(Reader::Location begin, Reader::Location end) {\n  for (; begin < end; ++begin)\n    if (*begin == '\\n' || *begin == '\\r')\n      return true;\n  return false;\n}\n\n// Class Reader\n// //////////////////////////////////////////////////////////////////\n\nReader::Reader()\n    : errors_(), document_(), begin_(), end_(), current_(), lastValueEnd_(),\n      lastValue_(), commentsBefore_(), features_(Features::all()),\n      collectComments_() {}\n\nReader::Reader(const Features& features)\n    : errors_(), document_(), begin_(), end_(), current_(), lastValueEnd_(),\n      lastValue_(), commentsBefore_(), features_(features), collectComments_() {\n}\n\nbool\nReader::parse(const std::string& document, Value& root, bool collectComments) {\n  JSONCPP_STRING documentCopy(document.data(), document.data() + document.capacity());\n  std::swap(documentCopy, document_);\n  const char* begin = document_.c_str();\n  const char* end = begin + document_.length();\n  return parse(begin, end, root, collectComments);\n}\n\nbool Reader::parse(std::istream& sin, Value& root, bool collectComments) {\n  // std::istream_iterator<char> begin(sin);\n  // std::istream_iterator<char> end;\n  // Those would allow streamed input from a file, if parse() were a\n  // template function.\n\n  // Since JSONCPP_STRING is reference-counted, this at least does not\n  // create an extra copy.\n  JSONCPP_STRING doc;\n  std::getline(sin, doc, (char)EOF);\n  return parse(doc.data(), doc.data() + doc.size(), root, collectComments);\n}\n\nbool Reader::parse(const char* beginDoc,\n                   const char* endDoc,\n                   Value& root,\n                   bool collectComments) {\n  if (!features_.allowComments_) {\n    collectComments = false;\n  }\n\n  begin_ = beginDoc;\n  end_ = endDoc;\n  collectComments_ = collectComments;\n  current_ = begin_;\n  lastValueEnd_ = 0;\n  lastValue_ = 0;\n  commentsBefore_ = \"\";\n  errors_.clear();\n  while (!nodes_.empty())\n    nodes_.pop();\n  nodes_.push(&root);\n\n  stackDepth_g = 0;  // Yes, this is bad coding, but options are limited.\n  bool successful = readValue();\n  Token token;\n  skipCommentTokens(token);\n  if (collectComments_ && !commentsBefore_.empty())\n    root.setComment(commentsBefore_, commentAfter);\n  if (features_.strictRoot_) {\n    if (!root.isArray() && !root.isObject()) {\n      // Set error location to start of doc, ideally should be first token found\n      // in doc\n      token.type_ = tokenError;\n      token.start_ = beginDoc;\n      token.end_ = endDoc;\n      addError(\n          \"A valid JSON document must be either an array or an object value.\",\n          token);\n      return false;\n    }\n  }\n  return successful;\n}\n\nbool Reader::readValue() {\n  // This is a non-reentrant way to support a stackLimit. Terrible!\n  // But this deprecated class has a security problem: Bad input can\n  // cause a seg-fault. This seems like a fair, binary-compatible way\n  // to prevent the problem.\n  if (stackDepth_g >= stackLimit_g) throwRuntimeError(\"Exceeded stackLimit in readValue().\");\n  ++stackDepth_g;\n\n  Token token;\n  skipCommentTokens(token);\n  bool successful = true;\n\n  if (collectComments_ && !commentsBefore_.empty()) {\n    currentValue().setComment(commentsBefore_, commentBefore);\n    commentsBefore_ = \"\";\n  }\n\n  switch (token.type_) {\n  case tokenObjectBegin:\n    successful = readObject(token);\n    currentValue().setOffsetLimit(current_ - begin_);\n    break;\n  case tokenArrayBegin:\n    successful = readArray(token);\n    currentValue().setOffsetLimit(current_ - begin_);\n    break;\n  case tokenNumber:\n    successful = decodeNumber(token);\n    break;\n  case tokenString:\n    successful = decodeString(token);\n    break;\n  case tokenTrue:\n    {\n    Value v(true);\n    currentValue().swapPayload(v);\n    currentValue().setOffsetStart(token.start_ - begin_);\n    currentValue().setOffsetLimit(token.end_ - begin_);\n    }\n    break;\n  case tokenFalse:\n    {\n    Value v(false);\n    currentValue().swapPayload(v);\n    currentValue().setOffsetStart(token.start_ - begin_);\n    currentValue().setOffsetLimit(token.end_ - begin_);\n    }\n    break;\n  case tokenNull:\n    {\n    Value v;\n    currentValue().swapPayload(v);\n    currentValue().setOffsetStart(token.start_ - begin_);\n    currentValue().setOffsetLimit(token.end_ - begin_);\n    }\n    break;\n  case tokenArraySeparator:\n  case tokenObjectEnd:\n  case tokenArrayEnd:\n    if (features_.allowDroppedNullPlaceholders_) {\n      // \"Un-read\" the current token and mark the current value as a null\n      // token.\n      current_--;\n      Value v;\n      currentValue().swapPayload(v);\n      currentValue().setOffsetStart(current_ - begin_ - 1);\n      currentValue().setOffsetLimit(current_ - begin_);\n      break;\n    } // Else, fall through...\n  default:\n    currentValue().setOffsetStart(token.start_ - begin_);\n    currentValue().setOffsetLimit(token.end_ - begin_);\n    return addError(\"Syntax error: value, object or array expected.\", token);\n  }\n\n  if (collectComments_) {\n    lastValueEnd_ = current_;\n    lastValue_ = &currentValue();\n  }\n\n  --stackDepth_g;\n  return successful;\n}\n\nvoid Reader::skipCommentTokens(Token& token) {\n  if (features_.allowComments_) {\n    do {\n      readToken(token);\n    } while (token.type_ == tokenComment);\n  } else {\n    readToken(token);\n  }\n}\n\nbool Reader::readToken(Token& token) {\n  skipSpaces();\n  token.start_ = current_;\n  Char c = getNextChar();\n  bool ok = true;\n  switch (c) {\n  case '{':\n    token.type_ = tokenObjectBegin;\n    break;\n  case '}':\n    token.type_ = tokenObjectEnd;\n    break;\n  case '[':\n    token.type_ = tokenArrayBegin;\n    break;\n  case ']':\n    token.type_ = tokenArrayEnd;\n    break;\n  case '\"':\n    token.type_ = tokenString;\n    ok = readString();\n    break;\n  case '/':\n    token.type_ = tokenComment;\n    ok = readComment();\n    break;\n  case '0':\n  case '1':\n  case '2':\n  case '3':\n  case '4':\n  case '5':\n  case '6':\n  case '7':\n  case '8':\n  case '9':\n  case '-':\n    token.type_ = tokenNumber;\n    readNumber();\n    break;\n  case 't':\n    token.type_ = tokenTrue;\n    ok = match(\"rue\", 3);\n    break;\n  case 'f':\n    token.type_ = tokenFalse;\n    ok = match(\"alse\", 4);\n    break;\n  case 'n':\n    token.type_ = tokenNull;\n    ok = match(\"ull\", 3);\n    break;\n  case ',':\n    token.type_ = tokenArraySeparator;\n    break;\n  case ':':\n    token.type_ = tokenMemberSeparator;\n    break;\n  case 0:\n    token.type_ = tokenEndOfStream;\n    break;\n  default:\n    ok = false;\n    break;\n  }\n  if (!ok)\n    token.type_ = tokenError;\n  token.end_ = current_;\n  return true;\n}\n\nvoid Reader::skipSpaces() {\n  while (current_ != end_) {\n    Char c = *current_;\n    if (c == ' ' || c == '\\t' || c == '\\r' || c == '\\n')\n      ++current_;\n    else\n      break;\n  }\n}\n\nbool Reader::match(Location pattern, int patternLength) {\n  if (end_ - current_ < patternLength)\n    return false;\n  int index = patternLength;\n  while (index--)\n    if (current_[index] != pattern[index])\n      return false;\n  current_ += patternLength;\n  return true;\n}\n\nbool Reader::readComment() {\n  Location commentBegin = current_ - 1;\n  Char c = getNextChar();\n  bool successful = false;\n  if (c == '*')\n    successful = readCStyleComment();\n  else if (c == '/')\n    successful = readCppStyleComment();\n  if (!successful)\n    return false;\n\n  if (collectComments_) {\n    CommentPlacement placement = commentBefore;\n    if (lastValueEnd_ && !containsNewLine(lastValueEnd_, commentBegin)) {\n      if (c != '*' || !containsNewLine(commentBegin, current_))\n        placement = commentAfterOnSameLine;\n    }\n\n    addComment(commentBegin, current_, placement);\n  }\n  return true;\n}\n\nstatic JSONCPP_STRING normalizeEOL(Reader::Location begin, Reader::Location end) {\n  JSONCPP_STRING normalized;\n  normalized.reserve(static_cast<size_t>(end - begin));\n  Reader::Location current = begin;\n  while (current != end) {\n    char c = *current++;\n    if (c == '\\r') {\n      if (current != end && *current == '\\n')\n         // convert dos EOL\n         ++current;\n      // convert Mac EOL\n      normalized += '\\n';\n    } else {\n      normalized += c;\n    }\n  }\n  return normalized;\n}\n\nvoid\nReader::addComment(Location begin, Location end, CommentPlacement placement) {\n  assert(collectComments_);\n  const JSONCPP_STRING& normalized = normalizeEOL(begin, end);\n  if (placement == commentAfterOnSameLine) {\n    assert(lastValue_ != 0);\n    lastValue_->setComment(normalized, placement);\n  } else {\n    commentsBefore_ += normalized;\n  }\n}\n\nbool Reader::readCStyleComment() {\n  while (current_ != end_) {\n    Char c = getNextChar();\n    if (c == '*' && *current_ == '/')\n      break;\n  }\n  return getNextChar() == '/';\n}\n\nbool Reader::readCppStyleComment() {\n  while (current_ != end_) {\n    Char c = getNextChar();\n    if (c == '\\n')\n      break;\n    if (c == '\\r') {\n      // Consume DOS EOL. It will be normalized in addComment.\n      if (current_ != end_ && *current_ == '\\n')\n        getNextChar();\n      // Break on Moc OS 9 EOL.\n      break;\n    }\n  }\n  return true;\n}\n\nvoid Reader::readNumber() {\n  const char *p = current_;\n  char c = '0'; // stopgap for already consumed character\n  // integral part\n  while (c >= '0' && c <= '9')\n    c = (current_ = p) < end_ ? *p++ : 0;\n  // fractional part\n  if (c == '.') {\n    c = (current_ = p) < end_ ? *p++ : 0;\n    while (c >= '0' && c <= '9')\n      c = (current_ = p) < end_ ? *p++ : 0;\n  }\n  // exponential part\n  if (c == 'e' || c == 'E') {\n    c = (current_ = p) < end_ ? *p++ : 0;\n    if (c == '+' || c == '-')\n      c = (current_ = p) < end_ ? *p++ : 0;\n    while (c >= '0' && c <= '9')\n      c = (current_ = p) < end_ ? *p++ : 0;\n  }\n}\n\nbool Reader::readString() {\n  Char c = 0;\n  while (current_ != end_) {\n    c = getNextChar();\n    if (c == '\\\\')\n      getNextChar();\n    else if (c == '\"')\n      break;\n  }\n  return c == '\"';\n}\n\nbool Reader::readObject(Token& tokenStart) {\n  Token tokenName;\n  JSONCPP_STRING name;\n  Value init(objectValue);\n  currentValue().swapPayload(init);\n  currentValue().setOffsetStart(tokenStart.start_ - begin_);\n  while (readToken(tokenName)) {\n    bool initialTokenOk = true;\n    while (tokenName.type_ == tokenComment && initialTokenOk)\n      initialTokenOk = readToken(tokenName);\n    if (!initialTokenOk)\n      break;\n    if (tokenName.type_ == tokenObjectEnd && name.empty()) // empty object\n      return true;\n    name = \"\";\n    if (tokenName.type_ == tokenString) {\n      if (!decodeString(tokenName, name))\n        return recoverFromError(tokenObjectEnd);\n    } else if (tokenName.type_ == tokenNumber && features_.allowNumericKeys_) {\n      Value numberName;\n      if (!decodeNumber(tokenName, numberName))\n        return recoverFromError(tokenObjectEnd);\n      name = JSONCPP_STRING(numberName.asCString());\n    } else {\n      break;\n    }\n\n    Token colon;\n    if (!readToken(colon) || colon.type_ != tokenMemberSeparator) {\n      return addErrorAndRecover(\n          \"Missing ':' after object member name\", colon, tokenObjectEnd);\n    }\n    Value& value = currentValue()[name];\n    nodes_.push(&value);\n    bool ok = readValue();\n    nodes_.pop();\n    if (!ok) // error already set\n      return recoverFromError(tokenObjectEnd);\n\n    Token comma;\n    if (!readToken(comma) ||\n        (comma.type_ != tokenObjectEnd && comma.type_ != tokenArraySeparator &&\n         comma.type_ != tokenComment)) {\n      return addErrorAndRecover(\n          \"Missing ',' or '}' in object declaration\", comma, tokenObjectEnd);\n    }\n    bool finalizeTokenOk = true;\n    while (comma.type_ == tokenComment && finalizeTokenOk)\n      finalizeTokenOk = readToken(comma);\n    if (comma.type_ == tokenObjectEnd)\n      return true;\n  }\n  return addErrorAndRecover(\n      \"Missing '}' or object member name\", tokenName, tokenObjectEnd);\n}\n\nbool Reader::readArray(Token& tokenStart) {\n  Value init(arrayValue);\n  currentValue().swapPayload(init);\n  currentValue().setOffsetStart(tokenStart.start_ - begin_);\n  skipSpaces();\n  if (*current_ == ']') // empty array\n  {\n    Token endArray;\n    readToken(endArray);\n    return true;\n  }\n  int index = 0;\n  for (;;) {\n    Value& value = currentValue()[index++];\n    nodes_.push(&value);\n    bool ok = readValue();\n    nodes_.pop();\n    if (!ok) // error already set\n      return recoverFromError(tokenArrayEnd);\n\n    Token token;\n    // Accept Comment after last item in the array.\n    ok = readToken(token);\n    while (token.type_ == tokenComment && ok) {\n      ok = readToken(token);\n    }\n    bool badTokenType =\n        (token.type_ != tokenArraySeparator && token.type_ != tokenArrayEnd);\n    if (!ok || badTokenType) {\n      return addErrorAndRecover(\n          \"Missing ',' or ']' in array declaration\", token, tokenArrayEnd);\n    }\n    if (token.type_ == tokenArrayEnd)\n      break;\n  }\n  return true;\n}\n\nbool Reader::decodeNumber(Token& token) {\n  Value decoded;\n  if (!decodeNumber(token, decoded))\n    return false;\n  currentValue().swapPayload(decoded);\n  currentValue().setOffsetStart(token.start_ - begin_);\n  currentValue().setOffsetLimit(token.end_ - begin_);\n  return true;\n}\n\nbool Reader::decodeNumber(Token& token, Value& decoded) {\n  // Attempts to parse the number as an integer. If the number is\n  // larger than the maximum supported value of an integer then\n  // we decode the number as a double.\n  Location current = token.start_;\n  bool isNegative = *current == '-';\n  if (isNegative)\n    ++current;\n  // TODO: Help the compiler do the div and mod at compile time or get rid of them.\n  Value::LargestUInt maxIntegerValue =\n      isNegative ? Value::LargestUInt(Value::maxLargestInt) + 1\n                 : Value::maxLargestUInt;\n  Value::LargestUInt threshold = maxIntegerValue / 10;\n  Value::LargestUInt value = 0;\n  while (current < token.end_) {\n    Char c = *current++;\n    if (c < '0' || c > '9')\n      return decodeDouble(token, decoded);\n    Value::UInt digit(static_cast<Value::UInt>(c - '0'));\n    if (value >= threshold) {\n      // We've hit or exceeded the max value divided by 10 (rounded down). If\n      // a) we've only just touched the limit, b) this is the last digit, and\n      // c) it's small enough to fit in that rounding delta, we're okay.\n      // Otherwise treat this number as a double to avoid overflow.\n      if (value > threshold || current != token.end_ ||\n          digit > maxIntegerValue % 10) {\n        return decodeDouble(token, decoded);\n      }\n    }\n    value = value * 10 + digit;\n  }\n  if (isNegative && value == maxIntegerValue)\n    decoded = Value::minLargestInt;\n  else if (isNegative)\n    decoded = -Value::LargestInt(value);\n  else if (value <= Value::LargestUInt(Value::maxInt))\n    decoded = Value::LargestInt(value);\n  else\n    decoded = value;\n  return true;\n}\n\nbool Reader::decodeDouble(Token& token) {\n  Value decoded;\n  if (!decodeDouble(token, decoded))\n    return false;\n  currentValue().swapPayload(decoded);\n  currentValue().setOffsetStart(token.start_ - begin_);\n  currentValue().setOffsetLimit(token.end_ - begin_);\n  return true;\n}\n\nbool Reader::decodeDouble(Token& token, Value& decoded) {\n  double value = 0;\n  JSONCPP_STRING buffer(token.start_, token.end_);\n  JSONCPP_ISTRINGSTREAM is(buffer);\n  if (!(is >> value))\n    return addError(\"'\" + JSONCPP_STRING(token.start_, token.end_) +\n                        \"' is not a number.\",\n                    token);\n  decoded = value;\n  return true;\n}\n\nbool Reader::decodeString(Token& token) {\n  JSONCPP_STRING decoded_string;\n  if (!decodeString(token, decoded_string))\n    return false;\n  Value decoded(decoded_string);\n  currentValue().swapPayload(decoded);\n  currentValue().setOffsetStart(token.start_ - begin_);\n  currentValue().setOffsetLimit(token.end_ - begin_);\n  return true;\n}\n\nbool Reader::decodeString(Token& token, JSONCPP_STRING& decoded) {\n  decoded.reserve(static_cast<size_t>(token.end_ - token.start_ - 2));\n  Location current = token.start_ + 1; // skip '\"'\n  Location end = token.end_ - 1;       // do not include '\"'\n  while (current != end) {\n    Char c = *current++;\n    if (c == '\"')\n      break;\n    else if (c == '\\\\') {\n      if (current == end)\n        return addError(\"Empty escape sequence in string\", token, current);\n      Char escape = *current++;\n      switch (escape) {\n      case '\"':\n        decoded += '\"';\n        break;\n      case '/':\n        decoded += '/';\n        break;\n      case '\\\\':\n        decoded += '\\\\';\n        break;\n      case 'b':\n        decoded += '\\b';\n        break;\n      case 'f':\n        decoded += '\\f';\n        break;\n      case 'n':\n        decoded += '\\n';\n        break;\n      case 'r':\n        decoded += '\\r';\n        break;\n      case 't':\n        decoded += '\\t';\n        break;\n      case 'u': {\n        unsigned int unicode;\n        if (!decodeUnicodeCodePoint(token, current, end, unicode))\n          return false;\n        decoded += codePointToUTF8(unicode);\n      } break;\n      default:\n        return addError(\"Bad escape sequence in string\", token, current);\n      }\n    } else {\n      decoded += c;\n    }\n  }\n  return true;\n}\n\nbool Reader::decodeUnicodeCodePoint(Token& token,\n                                    Location& current,\n                                    Location end,\n                                    unsigned int& unicode) {\n\n  if (!decodeUnicodeEscapeSequence(token, current, end, unicode))\n    return false;\n  if (unicode >= 0xD800 && unicode <= 0xDBFF) {\n    // surrogate pairs\n    if (end - current < 6)\n      return addError(\n          \"additional six characters expected to parse unicode surrogate pair.\",\n          token,\n          current);\n    unsigned int surrogatePair;\n    if (*(current++) == '\\\\' && *(current++) == 'u') {\n      if (decodeUnicodeEscapeSequence(token, current, end, surrogatePair)) {\n        unicode = 0x10000 + ((unicode & 0x3FF) << 10) + (surrogatePair & 0x3FF);\n      } else\n        return false;\n    } else\n      return addError(\"expecting another \\\\u token to begin the second half of \"\n                      \"a unicode surrogate pair\",\n                      token,\n                      current);\n  }\n  return true;\n}\n\nbool Reader::decodeUnicodeEscapeSequence(Token& token,\n                                         Location& current,\n                                         Location end,\n                                         unsigned int& ret_unicode) {\n  if (end - current < 4)\n    return addError(\n        \"Bad unicode escape sequence in string: four digits expected.\",\n        token,\n        current);\n  int unicode = 0;\n  for (int index = 0; index < 4; ++index) {\n    Char c = *current++;\n    unicode *= 16;\n    if (c >= '0' && c <= '9')\n      unicode += c - '0';\n    else if (c >= 'a' && c <= 'f')\n      unicode += c - 'a' + 10;\n    else if (c >= 'A' && c <= 'F')\n      unicode += c - 'A' + 10;\n    else\n      return addError(\n          \"Bad unicode escape sequence in string: hexadecimal digit expected.\",\n          token,\n          current);\n  }\n  ret_unicode = static_cast<unsigned int>(unicode);\n  return true;\n}\n\nbool\nReader::addError(const JSONCPP_STRING& message, Token& token, Location extra) {\n  ErrorInfo info;\n  info.token_ = token;\n  info.message_ = message;\n  info.extra_ = extra;\n  errors_.push_back(info);\n  return false;\n}\n\nbool Reader::recoverFromError(TokenType skipUntilToken) {\n  size_t const errorCount = errors_.size();\n  Token skip;\n  for (;;) {\n    if (!readToken(skip))\n      errors_.resize(errorCount); // discard errors caused by recovery\n    if (skip.type_ == skipUntilToken || skip.type_ == tokenEndOfStream)\n      break;\n  }\n  errors_.resize(errorCount);\n  return false;\n}\n\nbool Reader::addErrorAndRecover(const JSONCPP_STRING& message,\n                                Token& token,\n                                TokenType skipUntilToken) {\n  addError(message, token);\n  return recoverFromError(skipUntilToken);\n}\n\nValue& Reader::currentValue() { return *(nodes_.top()); }\n\nReader::Char Reader::getNextChar() {\n  if (current_ == end_)\n    return 0;\n  return *current_++;\n}\n\nvoid Reader::getLocationLineAndColumn(Location location,\n                                      int& line,\n                                      int& column) const {\n  Location current = begin_;\n  Location lastLineStart = current;\n  line = 0;\n  while (current < location && current != end_) {\n    Char c = *current++;\n    if (c == '\\r') {\n      if (*current == '\\n')\n        ++current;\n      lastLineStart = current;\n      ++line;\n    } else if (c == '\\n') {\n      lastLineStart = current;\n      ++line;\n    }\n  }\n  // column & line start at 1\n  column = int(location - lastLineStart) + 1;\n  ++line;\n}\n\nJSONCPP_STRING Reader::getLocationLineAndColumn(Location location) const {\n  int line, column;\n  getLocationLineAndColumn(location, line, column);\n  char buffer[18 + 16 + 16 + 1];\n  snprintf(buffer, sizeof(buffer), \"Line %d, Column %d\", line, column);\n  return buffer;\n}\n\n// Deprecated. Preserved for backward compatibility\nJSONCPP_STRING Reader::getFormatedErrorMessages() const {\n  return getFormattedErrorMessages();\n}\n\nJSONCPP_STRING Reader::getFormattedErrorMessages() const {\n  JSONCPP_STRING formattedMessage;\n  for (Errors::const_iterator itError = errors_.begin();\n       itError != errors_.end();\n       ++itError) {\n    const ErrorInfo& error = *itError;\n    formattedMessage +=\n        \"* \" + getLocationLineAndColumn(error.token_.start_) + \"\\n\";\n    formattedMessage += \"  \" + error.message_ + \"\\n\";\n    if (error.extra_)\n      formattedMessage +=\n          \"See \" + getLocationLineAndColumn(error.extra_) + \" for detail.\\n\";\n  }\n  return formattedMessage;\n}\n\nstd::vector<Reader::StructuredError> Reader::getStructuredErrors() const {\n  std::vector<Reader::StructuredError> allErrors;\n  for (Errors::const_iterator itError = errors_.begin();\n       itError != errors_.end();\n       ++itError) {\n    const ErrorInfo& error = *itError;\n    Reader::StructuredError structured;\n    structured.offset_start = error.token_.start_ - begin_;\n    structured.offset_limit = error.token_.end_ - begin_;\n    structured.message = error.message_;\n    allErrors.push_back(structured);\n  }\n  return allErrors;\n}\n\nbool Reader::pushError(const Value& value, const JSONCPP_STRING& message) {\n  ptrdiff_t const length = end_ - begin_;\n  if(value.getOffsetStart() > length\n    || value.getOffsetLimit() > length)\n    return false;\n  Token token;\n  token.type_ = tokenError;\n  token.start_ = begin_ + value.getOffsetStart();\n  token.end_ = end_ + value.getOffsetLimit();\n  ErrorInfo info;\n  info.token_ = token;\n  info.message_ = message;\n  info.extra_ = 0;\n  errors_.push_back(info);\n  return true;\n}\n\nbool Reader::pushError(const Value& value, const JSONCPP_STRING& message, const Value& extra) {\n  ptrdiff_t const length = end_ - begin_;\n  if(value.getOffsetStart() > length\n    || value.getOffsetLimit() > length\n    || extra.getOffsetLimit() > length)\n    return false;\n  Token token;\n  token.type_ = tokenError;\n  token.start_ = begin_ + value.getOffsetStart();\n  token.end_ = begin_ + value.getOffsetLimit();\n  ErrorInfo info;\n  info.token_ = token;\n  info.message_ = message;\n  info.extra_ = begin_ + extra.getOffsetStart();\n  errors_.push_back(info);\n  return true;\n}\n\nbool Reader::good() const {\n  return !errors_.size();\n}\n\n// exact copy of Features\nclass OurFeatures {\npublic:\n  static OurFeatures all();\n  bool allowComments_;\n  bool strictRoot_;\n  bool allowDroppedNullPlaceholders_;\n  bool allowNumericKeys_;\n  bool allowSingleQuotes_;\n  bool failIfExtra_;\n  bool rejectDupKeys_;\n  bool allowSpecialFloats_;\n  int stackLimit_;\n};  // OurFeatures\n\n// exact copy of Implementation of class Features\n// ////////////////////////////////\n\nOurFeatures OurFeatures::all() { return OurFeatures(); }\n\n// Implementation of class Reader\n// ////////////////////////////////\n\n// exact copy of Reader, renamed to OurReader\nclass OurReader {\npublic:\n  typedef char Char;\n  typedef const Char* Location;\n  struct StructuredError {\n    ptrdiff_t offset_start;\n    ptrdiff_t offset_limit;\n    JSONCPP_STRING message;\n  };\n\n  OurReader(OurFeatures const& features);\n  bool parse(const char* beginDoc,\n             const char* endDoc,\n             Value& root,\n             bool collectComments = true);\n  JSONCPP_STRING getFormattedErrorMessages() const;\n  std::vector<StructuredError> getStructuredErrors() const;\n  bool pushError(const Value& value, const JSONCPP_STRING& message);\n  bool pushError(const Value& value, const JSONCPP_STRING& message, const Value& extra);\n  bool good() const;\n\nprivate:\n  OurReader(OurReader const&);  // no impl\n  void operator=(OurReader const&);  // no impl\n\n  enum TokenType {\n    tokenEndOfStream = 0,\n    tokenObjectBegin,\n    tokenObjectEnd,\n    tokenArrayBegin,\n    tokenArrayEnd,\n    tokenString,\n    tokenNumber,\n    tokenTrue,\n    tokenFalse,\n    tokenNull,\n    tokenNaN,\n    tokenPosInf,\n    tokenNegInf,\n    tokenArraySeparator,\n    tokenMemberSeparator,\n    tokenComment,\n    tokenError\n  };\n\n  class Token {\n  public:\n    TokenType type_;\n    Location start_;\n    Location end_;\n  };\n\n  class ErrorInfo {\n  public:\n    Token token_;\n    JSONCPP_STRING message_;\n    Location extra_;\n  };\n\n  typedef std::deque<ErrorInfo> Errors;\n\n  bool readToken(Token& token);\n  void skipSpaces();\n  bool match(Location pattern, int patternLength);\n  bool readComment();\n  bool readCStyleComment();\n  bool readCppStyleComment();\n  bool readString();\n  bool readStringSingleQuote();\n  bool readNumber(bool checkInf);\n  bool readValue();\n  bool readObject(Token& token);\n  bool readArray(Token& token);\n  bool decodeNumber(Token& token);\n  bool decodeNumber(Token& token, Value& decoded);\n  bool decodeString(Token& token);\n  bool decodeString(Token& token, JSONCPP_STRING& decoded);\n  bool decodeDouble(Token& token);\n  bool decodeDouble(Token& token, Value& decoded);\n  bool decodeUnicodeCodePoint(Token& token,\n                              Location& current,\n                              Location end,\n                              unsigned int& unicode);\n  bool decodeUnicodeEscapeSequence(Token& token,\n                                   Location& current,\n                                   Location end,\n                                   unsigned int& unicode);\n  bool addError(const JSONCPP_STRING& message, Token& token, Location extra = 0);\n  bool recoverFromError(TokenType skipUntilToken);\n  bool addErrorAndRecover(const JSONCPP_STRING& message,\n                          Token& token,\n                          TokenType skipUntilToken);\n  void skipUntilSpace();\n  Value& currentValue();\n  Char getNextChar();\n  void\n  getLocationLineAndColumn(Location location, int& line, int& column) const;\n  JSONCPP_STRING getLocationLineAndColumn(Location location) const;\n  void addComment(Location begin, Location end, CommentPlacement placement);\n  void skipCommentTokens(Token& token);\n\n  typedef std::stack<Value*> Nodes;\n  Nodes nodes_;\n  Errors errors_;\n  JSONCPP_STRING document_;\n  Location begin_;\n  Location end_;\n  Location current_;\n  Location lastValueEnd_;\n  Value* lastValue_;\n  JSONCPP_STRING commentsBefore_;\n  int stackDepth_;\n\n  OurFeatures const features_;\n  bool collectComments_;\n};  // OurReader\n\n// complete copy of Read impl, for OurReader\n\nOurReader::OurReader(OurFeatures const& features)\n    : errors_(), document_(), begin_(), end_(), current_(), lastValueEnd_(),\n      lastValue_(), commentsBefore_(),\n      stackDepth_(0),\n      features_(features), collectComments_() {\n}\n\nbool OurReader::parse(const char* beginDoc,\n                   const char* endDoc,\n                   Value& root,\n                   bool collectComments) {\n  if (!features_.allowComments_) {\n    collectComments = false;\n  }\n\n  begin_ = beginDoc;\n  end_ = endDoc;\n  collectComments_ = collectComments;\n  current_ = begin_;\n  lastValueEnd_ = 0;\n  lastValue_ = 0;\n  commentsBefore_ = \"\";\n  errors_.clear();\n  while (!nodes_.empty())\n    nodes_.pop();\n  nodes_.push(&root);\n\n  stackDepth_ = 0;\n  bool successful = readValue();\n  Token token;\n  skipCommentTokens(token);\n  if (features_.failIfExtra_) {\n    if (token.type_ != tokenError && token.type_ != tokenEndOfStream) {\n      addError(\"Extra non-whitespace after JSON value.\", token);\n      return false;\n    }\n  }\n  if (collectComments_ && !commentsBefore_.empty())\n    root.setComment(commentsBefore_, commentAfter);\n  if (features_.strictRoot_) {\n    if (!root.isArray() && !root.isObject()) {\n      // Set error location to start of doc, ideally should be first token found\n      // in doc\n      token.type_ = tokenError;\n      token.start_ = beginDoc;\n      token.end_ = endDoc;\n      addError(\n          \"A valid JSON document must be either an array or an object value.\",\n          token);\n      return false;\n    }\n  }\n  return successful;\n}\n\nbool OurReader::readValue() {\n  if (stackDepth_ >= features_.stackLimit_) throwRuntimeError(\"Exceeded stackLimit in readValue().\");\n  ++stackDepth_;\n  Token token;\n  skipCommentTokens(token);\n  bool successful = true;\n\n  if (collectComments_ && !commentsBefore_.empty()) {\n    currentValue().setComment(commentsBefore_, commentBefore);\n    commentsBefore_ = \"\";\n  }\n\n  switch (token.type_) {\n  case tokenObjectBegin:\n    successful = readObject(token);\n    currentValue().setOffsetLimit(current_ - begin_);\n    break;\n  case tokenArrayBegin:\n    successful = readArray(token);\n    currentValue().setOffsetLimit(current_ - begin_);\n    break;\n  case tokenNumber:\n    successful = decodeNumber(token);\n    break;\n  case tokenString:\n    successful = decodeString(token);\n    break;\n  case tokenTrue:\n    {\n    Value v(true);\n    currentValue().swapPayload(v);\n    currentValue().setOffsetStart(token.start_ - begin_);\n    currentValue().setOffsetLimit(token.end_ - begin_);\n    }\n    break;\n  case tokenFalse:\n    {\n    Value v(false);\n    currentValue().swapPayload(v);\n    currentValue().setOffsetStart(token.start_ - begin_);\n    currentValue().setOffsetLimit(token.end_ - begin_);\n    }\n    break;\n  case tokenNull:\n    {\n    Value v;\n    currentValue().swapPayload(v);\n    currentValue().setOffsetStart(token.start_ - begin_);\n    currentValue().setOffsetLimit(token.end_ - begin_);\n    }\n    break;\n  case tokenNaN:\n    {\n    Value v(std::numeric_limits<double>::quiet_NaN());\n    currentValue().swapPayload(v);\n    currentValue().setOffsetStart(token.start_ - begin_);\n    currentValue().setOffsetLimit(token.end_ - begin_);\n    }\n    break;\n  case tokenPosInf:\n    {\n    Value v(std::numeric_limits<double>::infinity());\n    currentValue().swapPayload(v);\n    currentValue().setOffsetStart(token.start_ - begin_);\n    currentValue().setOffsetLimit(token.end_ - begin_);\n    }\n    break;\n  case tokenNegInf:\n    {\n    Value v(-std::numeric_limits<double>::infinity());\n    currentValue().swapPayload(v);\n    currentValue().setOffsetStart(token.start_ - begin_);\n    currentValue().setOffsetLimit(token.end_ - begin_);\n    }\n    break;\n  case tokenArraySeparator:\n  case tokenObjectEnd:\n  case tokenArrayEnd:\n    if (features_.allowDroppedNullPlaceholders_) {\n      // \"Un-read\" the current token and mark the current value as a null\n      // token.\n      current_--;\n      Value v;\n      currentValue().swapPayload(v);\n      currentValue().setOffsetStart(current_ - begin_ - 1);\n      currentValue().setOffsetLimit(current_ - begin_);\n      break;\n    } // else, fall through ...\n  default:\n    currentValue().setOffsetStart(token.start_ - begin_);\n    currentValue().setOffsetLimit(token.end_ - begin_);\n    return addError(\"Syntax error: value, object or array expected.\", token);\n  }\n\n  if (collectComments_) {\n    lastValueEnd_ = current_;\n    lastValue_ = &currentValue();\n  }\n\n  --stackDepth_;\n  return successful;\n}\n\nvoid OurReader::skipCommentTokens(Token& token) {\n  if (features_.allowComments_) {\n    do {\n      readToken(token);\n    } while (token.type_ == tokenComment);\n  } else {\n    readToken(token);\n  }\n}\n\nbool OurReader::readToken(Token& token) {\n  skipSpaces();\n  token.start_ = current_;\n  Char c = getNextChar();\n  bool ok = true;\n  switch (c) {\n  case '{':\n    token.type_ = tokenObjectBegin;\n    break;\n  case '}':\n    token.type_ = tokenObjectEnd;\n    break;\n  case '[':\n    token.type_ = tokenArrayBegin;\n    break;\n  case ']':\n    token.type_ = tokenArrayEnd;\n    break;\n  case '\"':\n    token.type_ = tokenString;\n    ok = readString();\n    break;\n  case '\\'':\n    if (features_.allowSingleQuotes_) {\n    token.type_ = tokenString;\n    ok = readStringSingleQuote();\n    break;\n    } // else continue\n  case '/':\n    token.type_ = tokenComment;\n    ok = readComment();\n    break;\n  case '0':\n  case '1':\n  case '2':\n  case '3':\n  case '4':\n  case '5':\n  case '6':\n  case '7':\n  case '8':\n  case '9':\n    token.type_ = tokenNumber;\n    readNumber(false);\n    break;\n  case '-':\n    if (readNumber(true)) {\n      token.type_ = tokenNumber;\n    } else {\n      token.type_ = tokenNegInf;\n      ok = features_.allowSpecialFloats_ && match(\"nfinity\", 7);\n    }\n    break;\n  case 't':\n    token.type_ = tokenTrue;\n    ok = match(\"rue\", 3);\n    break;\n  case 'f':\n    token.type_ = tokenFalse;\n    ok = match(\"alse\", 4);\n    break;\n  case 'n':\n    token.type_ = tokenNull;\n    ok = match(\"ull\", 3);\n    break;\n  case 'N':\n    if (features_.allowSpecialFloats_) {\n      token.type_ = tokenNaN;\n      ok = match(\"aN\", 2);\n    } else {\n      ok = false;\n    }\n    break;\n  case 'I':\n    if (features_.allowSpecialFloats_) {\n      token.type_ = tokenPosInf;\n      ok = match(\"nfinity\", 7);\n    } else {\n      ok = false;\n    }\n    break;\n  case ',':\n    token.type_ = tokenArraySeparator;\n    break;\n  case ':':\n    token.type_ = tokenMemberSeparator;\n    break;\n  case 0:\n    token.type_ = tokenEndOfStream;\n    break;\n  default:\n    ok = false;\n    break;\n  }\n  if (!ok)\n    token.type_ = tokenError;\n  token.end_ = current_;\n  return true;\n}\n\nvoid OurReader::skipSpaces() {\n  while (current_ != end_) {\n    Char c = *current_;\n    if (c == ' ' || c == '\\t' || c == '\\r' || c == '\\n')\n      ++current_;\n    else\n      break;\n  }\n}\n\nbool OurReader::match(Location pattern, int patternLength) {\n  if (end_ - current_ < patternLength)\n    return false;\n  int index = patternLength;\n  while (index--)\n    if (current_[index] != pattern[index])\n      return false;\n  current_ += patternLength;\n  return true;\n}\n\nbool OurReader::readComment() {\n  Location commentBegin = current_ - 1;\n  Char c = getNextChar();\n  bool successful = false;\n  if (c == '*')\n    successful = readCStyleComment();\n  else if (c == '/')\n    successful = readCppStyleComment();\n  if (!successful)\n    return false;\n\n  if (collectComments_) {\n    CommentPlacement placement = commentBefore;\n    if (lastValueEnd_ && !containsNewLine(lastValueEnd_, commentBegin)) {\n      if (c != '*' || !containsNewLine(commentBegin, current_))\n        placement = commentAfterOnSameLine;\n    }\n\n    addComment(commentBegin, current_, placement);\n  }\n  return true;\n}\n\nvoid\nOurReader::addComment(Location begin, Location end, CommentPlacement placement) {\n  assert(collectComments_);\n  const JSONCPP_STRING& normalized = normalizeEOL(begin, end);\n  if (placement == commentAfterOnSameLine) {\n    assert(lastValue_ != 0);\n    lastValue_->setComment(normalized, placement);\n  } else {\n    commentsBefore_ += normalized;\n  }\n}\n\nbool OurReader::readCStyleComment() {\n  while (current_ != end_) {\n    Char c = getNextChar();\n    if (c == '*' && *current_ == '/')\n      break;\n  }\n  return getNextChar() == '/';\n}\n\nbool OurReader::readCppStyleComment() {\n  while (current_ != end_) {\n    Char c = getNextChar();\n    if (c == '\\n')\n      break;\n    if (c == '\\r') {\n      // Consume DOS EOL. It will be normalized in addComment.\n      if (current_ != end_ && *current_ == '\\n')\n        getNextChar();\n      // Break on Moc OS 9 EOL.\n      break;\n    }\n  }\n  return true;\n}\n\nbool OurReader::readNumber(bool checkInf) {\n  const char *p = current_;\n  if (checkInf && p != end_ && *p == 'I') {\n    current_ = ++p;\n    return false;\n  }\n  char c = '0'; // stopgap for already consumed character\n  // integral part\n  while (c >= '0' && c <= '9')\n    c = (current_ = p) < end_ ? *p++ : 0;\n  // fractional part\n  if (c == '.') {\n    c = (current_ = p) < end_ ? *p++ : 0;\n    while (c >= '0' && c <= '9')\n      c = (current_ = p) < end_ ? *p++ : 0;\n  }\n  // exponential part\n  if (c == 'e' || c == 'E') {\n    c = (current_ = p) < end_ ? *p++ : 0;\n    if (c == '+' || c == '-')\n      c = (current_ = p) < end_ ? *p++ : 0;\n    while (c >= '0' && c <= '9')\n      c = (current_ = p) < end_ ? *p++ : 0;\n  }\n  return true;\n}\nbool OurReader::readString() {\n  Char c = 0;\n  while (current_ != end_) {\n    c = getNextChar();\n    if (c == '\\\\')\n      getNextChar();\n    else if (c == '\"')\n      break;\n  }\n  return c == '\"';\n}\n\n\nbool OurReader::readStringSingleQuote() {\n  Char c = 0;\n  while (current_ != end_) {\n    c = getNextChar();\n    if (c == '\\\\')\n      getNextChar();\n    else if (c == '\\'')\n      break;\n  }\n  return c == '\\'';\n}\n\nbool OurReader::readObject(Token& tokenStart) {\n  Token tokenName;\n  JSONCPP_STRING name;\n  Value init(objectValue);\n  currentValue().swapPayload(init);\n  currentValue().setOffsetStart(tokenStart.start_ - begin_);\n  while (readToken(tokenName)) {\n    bool initialTokenOk = true;\n    while (tokenName.type_ == tokenComment && initialTokenOk)\n      initialTokenOk = readToken(tokenName);\n    if (!initialTokenOk)\n      break;\n    if (tokenName.type_ == tokenObjectEnd && name.empty()) // empty object\n      return true;\n    name = \"\";\n    if (tokenName.type_ == tokenString) {\n      if (!decodeString(tokenName, name))\n        return recoverFromError(tokenObjectEnd);\n    } else if (tokenName.type_ == tokenNumber && features_.allowNumericKeys_) {\n      Value numberName;\n      if (!decodeNumber(tokenName, numberName))\n        return recoverFromError(tokenObjectEnd);\n      name = numberName.asString();\n    } else {\n      break;\n    }\n\n    Token colon;\n    if (!readToken(colon) || colon.type_ != tokenMemberSeparator) {\n      return addErrorAndRecover(\n          \"Missing ':' after object member name\", colon, tokenObjectEnd);\n    }\n    if (name.length() >= (1U<<30)) throwRuntimeError(\"keylength >= 2^30\");\n    if (features_.rejectDupKeys_ && currentValue().isMember(name)) {\n      JSONCPP_STRING msg = \"Duplicate key: '\" + name + \"'\";\n      return addErrorAndRecover(\n          msg, tokenName, tokenObjectEnd);\n    }\n    Value& value = currentValue()[name];\n    nodes_.push(&value);\n    bool ok = readValue();\n    nodes_.pop();\n    if (!ok) // error already set\n      return recoverFromError(tokenObjectEnd);\n\n    Token comma;\n    if (!readToken(comma) ||\n        (comma.type_ != tokenObjectEnd && comma.type_ != tokenArraySeparator &&\n         comma.type_ != tokenComment)) {\n      return addErrorAndRecover(\n          \"Missing ',' or '}' in object declaration\", comma, tokenObjectEnd);\n    }\n    bool finalizeTokenOk = true;\n    while (comma.type_ == tokenComment && finalizeTokenOk)\n      finalizeTokenOk = readToken(comma);\n    if (comma.type_ == tokenObjectEnd)\n      return true;\n  }\n  return addErrorAndRecover(\n      \"Missing '}' or object member name\", tokenName, tokenObjectEnd);\n}\n\nbool OurReader::readArray(Token& tokenStart) {\n  Value init(arrayValue);\n  currentValue().swapPayload(init);\n  currentValue().setOffsetStart(tokenStart.start_ - begin_);\n  skipSpaces();\n  if (*current_ == ']') // empty array\n  {\n    Token endArray;\n    readToken(endArray);\n    return true;\n  }\n  int index = 0;\n  for (;;) {\n    Value& value = currentValue()[index++];\n    nodes_.push(&value);\n    bool ok = readValue();\n    nodes_.pop();\n    if (!ok) // error already set\n      return recoverFromError(tokenArrayEnd);\n\n    Token token;\n    // Accept Comment after last item in the array.\n    ok = readToken(token);\n    while (token.type_ == tokenComment && ok) {\n      ok = readToken(token);\n    }\n    bool badTokenType =\n        (token.type_ != tokenArraySeparator && token.type_ != tokenArrayEnd);\n    if (!ok || badTokenType) {\n      return addErrorAndRecover(\n          \"Missing ',' or ']' in array declaration\", token, tokenArrayEnd);\n    }\n    if (token.type_ == tokenArrayEnd)\n      break;\n  }\n  return true;\n}\n\nbool OurReader::decodeNumber(Token& token) {\n  Value decoded;\n  if (!decodeNumber(token, decoded))\n    return false;\n  currentValue().swapPayload(decoded);\n  currentValue().setOffsetStart(token.start_ - begin_);\n  currentValue().setOffsetLimit(token.end_ - begin_);\n  return true;\n}\n\nbool OurReader::decodeNumber(Token& token, Value& decoded) {\n  // Attempts to parse the number as an integer. If the number is\n  // larger than the maximum supported value of an integer then\n  // we decode the number as a double.\n  Location current = token.start_;\n  bool isNegative = *current == '-';\n  if (isNegative)\n    ++current;\n  // TODO: Help the compiler do the div and mod at compile time or get rid of them.\n  Value::LargestUInt maxIntegerValue =\n      isNegative ? Value::LargestUInt(-Value::minLargestInt)\n                 : Value::maxLargestUInt;\n  Value::LargestUInt threshold = maxIntegerValue / 10;\n  Value::LargestUInt value = 0;\n  while (current < token.end_) {\n    Char c = *current++;\n    if (c < '0' || c > '9')\n      return decodeDouble(token, decoded);\n    Value::UInt digit(static_cast<Value::UInt>(c - '0'));\n    if (value >= threshold) {\n      // We've hit or exceeded the max value divided by 10 (rounded down). If\n      // a) we've only just touched the limit, b) this is the last digit, and\n      // c) it's small enough to fit in that rounding delta, we're okay.\n      // Otherwise treat this number as a double to avoid overflow.\n      if (value > threshold || current != token.end_ ||\n          digit > maxIntegerValue % 10) {\n        return decodeDouble(token, decoded);\n      }\n    }\n    value = value * 10 + digit;\n  }\n  if (isNegative)\n    decoded = -Value::LargestInt(value);\n  else if (value <= Value::LargestUInt(Value::maxInt))\n    decoded = Value::LargestInt(value);\n  else\n    decoded = value;\n  return true;\n}\n\nbool OurReader::decodeDouble(Token& token) {\n  Value decoded;\n  if (!decodeDouble(token, decoded))\n    return false;\n  currentValue().swapPayload(decoded);\n  currentValue().setOffsetStart(token.start_ - begin_);\n  currentValue().setOffsetLimit(token.end_ - begin_);\n  return true;\n}\n\nbool OurReader::decodeDouble(Token& token, Value& decoded) {\n  double value = 0;\n  const int bufferSize = 32;\n  int count;\n  ptrdiff_t const length = token.end_ - token.start_;\n\n  // Sanity check to avoid buffer overflow exploits.\n  if (length < 0) {\n    return addError(\"Unable to parse token length\", token);\n  }\n  size_t const ulength = static_cast<size_t>(length);\n\n  // Avoid using a string constant for the format control string given to\n  // sscanf, as this can cause hard to debug crashes on OS X. See here for more\n  // info:\n  //\n  //     http://developer.apple.com/library/mac/#DOCUMENTATION/DeveloperTools/gcc-4.0.1/gcc/Incompatibilities.html\n  char format[] = \"%lf\";\n\n  if (length <= bufferSize) {\n    Char buffer[bufferSize + 1];\n    memcpy(buffer, token.start_, ulength);\n    buffer[length] = 0;\n    count = sscanf(buffer, format, &value);\n  } else {\n    JSONCPP_STRING buffer(token.start_, token.end_);\n    count = sscanf(buffer.c_str(), format, &value);\n  }\n\n  if (count != 1)\n    return addError(\"'\" + JSONCPP_STRING(token.start_, token.end_) +\n                        \"' is not a number.\",\n                    token);\n  decoded = value;\n  return true;\n}\n\nbool OurReader::decodeString(Token& token) {\n  JSONCPP_STRING decoded_string;\n  if (!decodeString(token, decoded_string))\n    return false;\n  Value decoded(decoded_string);\n  currentValue().swapPayload(decoded);\n  currentValue().setOffsetStart(token.start_ - begin_);\n  currentValue().setOffsetLimit(token.end_ - begin_);\n  return true;\n}\n\nbool OurReader::decodeString(Token& token, JSONCPP_STRING& decoded) {\n  decoded.reserve(static_cast<size_t>(token.end_ - token.start_ - 2));\n  Location current = token.start_ + 1; // skip '\"'\n  Location end = token.end_ - 1;       // do not include '\"'\n  while (current != end) {\n    Char c = *current++;\n    if (c == '\"')\n      break;\n    else if (c == '\\\\') {\n      if (current == end)\n        return addError(\"Empty escape sequence in string\", token, current);\n      Char escape = *current++;\n      switch (escape) {\n      case '\"':\n        decoded += '\"';\n        break;\n      case '/':\n        decoded += '/';\n        break;\n      case '\\\\':\n        decoded += '\\\\';\n        break;\n      case 'b':\n        decoded += '\\b';\n        break;\n      case 'f':\n        decoded += '\\f';\n        break;\n      case 'n':\n        decoded += '\\n';\n        break;\n      case 'r':\n        decoded += '\\r';\n        break;\n      case 't':\n        decoded += '\\t';\n        break;\n      case 'u': {\n        unsigned int unicode;\n        if (!decodeUnicodeCodePoint(token, current, end, unicode))\n          return false;\n        decoded += codePointToUTF8(unicode);\n      } break;\n      default:\n        return addError(\"Bad escape sequence in string\", token, current);\n      }\n    } else {\n      decoded += c;\n    }\n  }\n  return true;\n}\n\nbool OurReader::decodeUnicodeCodePoint(Token& token,\n                                    Location& current,\n                                    Location end,\n                                    unsigned int& unicode) {\n\n  if (!decodeUnicodeEscapeSequence(token, current, end, unicode))\n    return false;\n  if (unicode >= 0xD800 && unicode <= 0xDBFF) {\n    // surrogate pairs\n    if (end - current < 6)\n      return addError(\n          \"additional six characters expected to parse unicode surrogate pair.\",\n          token,\n          current);\n    unsigned int surrogatePair;\n    if (*(current++) == '\\\\' && *(current++) == 'u') {\n      if (decodeUnicodeEscapeSequence(token, current, end, surrogatePair)) {\n        unicode = 0x10000 + ((unicode & 0x3FF) << 10) + (surrogatePair & 0x3FF);\n      } else\n        return false;\n    } else\n      return addError(\"expecting another \\\\u token to begin the second half of \"\n                      \"a unicode surrogate pair\",\n                      token,\n                      current);\n  }\n  return true;\n}\n\nbool OurReader::decodeUnicodeEscapeSequence(Token& token,\n                                         Location& current,\n                                         Location end,\n                                         unsigned int& ret_unicode) {\n  if (end - current < 4)\n    return addError(\n        \"Bad unicode escape sequence in string: four digits expected.\",\n        token,\n        current);\n  int unicode = 0;\n  for (int index = 0; index < 4; ++index) {\n    Char c = *current++;\n    unicode *= 16;\n    if (c >= '0' && c <= '9')\n      unicode += c - '0';\n    else if (c >= 'a' && c <= 'f')\n      unicode += c - 'a' + 10;\n    else if (c >= 'A' && c <= 'F')\n      unicode += c - 'A' + 10;\n    else\n      return addError(\n          \"Bad unicode escape sequence in string: hexadecimal digit expected.\",\n          token,\n          current);\n  }\n  ret_unicode = static_cast<unsigned int>(unicode);\n  return true;\n}\n\nbool\nOurReader::addError(const JSONCPP_STRING& message, Token& token, Location extra) {\n  ErrorInfo info;\n  info.token_ = token;\n  info.message_ = message;\n  info.extra_ = extra;\n  errors_.push_back(info);\n  return false;\n}\n\nbool OurReader::recoverFromError(TokenType skipUntilToken) {\n  size_t errorCount = errors_.size();\n  Token skip;\n  for (;;) {\n    if (!readToken(skip))\n      errors_.resize(errorCount); // discard errors caused by recovery\n    if (skip.type_ == skipUntilToken || skip.type_ == tokenEndOfStream)\n      break;\n  }\n  errors_.resize(errorCount);\n  return false;\n}\n\nbool OurReader::addErrorAndRecover(const JSONCPP_STRING& message,\n                                Token& token,\n                                TokenType skipUntilToken) {\n  addError(message, token);\n  return recoverFromError(skipUntilToken);\n}\n\nValue& OurReader::currentValue() { return *(nodes_.top()); }\n\nOurReader::Char OurReader::getNextChar() {\n  if (current_ == end_)\n    return 0;\n  return *current_++;\n}\n\nvoid OurReader::getLocationLineAndColumn(Location location,\n                                      int& line,\n                                      int& column) const {\n  Location current = begin_;\n  Location lastLineStart = current;\n  line = 0;\n  while (current < location && current != end_) {\n    Char c = *current++;\n    if (c == '\\r') {\n      if (*current == '\\n')\n        ++current;\n      lastLineStart = current;\n      ++line;\n    } else if (c == '\\n') {\n      lastLineStart = current;\n      ++line;\n    }\n  }\n  // column & line start at 1\n  column = int(location - lastLineStart) + 1;\n  ++line;\n}\n\nJSONCPP_STRING OurReader::getLocationLineAndColumn(Location location) const {\n  int line, column;\n  getLocationLineAndColumn(location, line, column);\n  char buffer[18 + 16 + 16 + 1];\n  snprintf(buffer, sizeof(buffer), \"Line %d, Column %d\", line, column);\n  return buffer;\n}\n\nJSONCPP_STRING OurReader::getFormattedErrorMessages() const {\n  JSONCPP_STRING formattedMessage;\n  for (Errors::const_iterator itError = errors_.begin();\n       itError != errors_.end();\n       ++itError) {\n    const ErrorInfo& error = *itError;\n    formattedMessage +=\n        \"* \" + getLocationLineAndColumn(error.token_.start_) + \"\\n\";\n    formattedMessage += \"  \" + error.message_ + \"\\n\";\n    if (error.extra_)\n      formattedMessage +=\n          \"See \" + getLocationLineAndColumn(error.extra_) + \" for detail.\\n\";\n  }\n  return formattedMessage;\n}\n\nstd::vector<OurReader::StructuredError> OurReader::getStructuredErrors() const {\n  std::vector<OurReader::StructuredError> allErrors;\n  for (Errors::const_iterator itError = errors_.begin();\n       itError != errors_.end();\n       ++itError) {\n    const ErrorInfo& error = *itError;\n    OurReader::StructuredError structured;\n    structured.offset_start = error.token_.start_ - begin_;\n    structured.offset_limit = error.token_.end_ - begin_;\n    structured.message = error.message_;\n    allErrors.push_back(structured);\n  }\n  return allErrors;\n}\n\nbool OurReader::pushError(const Value& value, const JSONCPP_STRING& message) {\n  ptrdiff_t length = end_ - begin_;\n  if(value.getOffsetStart() > length\n    || value.getOffsetLimit() > length)\n    return false;\n  Token token;\n  token.type_ = tokenError;\n  token.start_ = begin_ + value.getOffsetStart();\n  token.end_ = end_ + value.getOffsetLimit();\n  ErrorInfo info;\n  info.token_ = token;\n  info.message_ = message;\n  info.extra_ = 0;\n  errors_.push_back(info);\n  return true;\n}\n\nbool OurReader::pushError(const Value& value, const JSONCPP_STRING& message, const Value& extra) {\n  ptrdiff_t length = end_ - begin_;\n  if(value.getOffsetStart() > length\n    || value.getOffsetLimit() > length\n    || extra.getOffsetLimit() > length)\n    return false;\n  Token token;\n  token.type_ = tokenError;\n  token.start_ = begin_ + value.getOffsetStart();\n  token.end_ = begin_ + value.getOffsetLimit();\n  ErrorInfo info;\n  info.token_ = token;\n  info.message_ = message;\n  info.extra_ = begin_ + extra.getOffsetStart();\n  errors_.push_back(info);\n  return true;\n}\n\nbool OurReader::good() const {\n  return !errors_.size();\n}\n\n\nclass OurCharReader : public CharReader {\n  bool const collectComments_;\n  OurReader reader_;\npublic:\n  OurCharReader(\n    bool collectComments,\n    OurFeatures const& features)\n  : collectComments_(collectComments)\n  , reader_(features)\n  {}\n  bool parse(\n      char const* beginDoc, char const* endDoc,\n      Value* root, JSONCPP_STRING* errs) JSONCPP_OVERRIDE {\n    bool ok = reader_.parse(beginDoc, endDoc, *root, collectComments_);\n    if (errs) {\n      *errs = reader_.getFormattedErrorMessages();\n    }\n    return ok;\n  }\n};\n\nCharReaderBuilder::CharReaderBuilder()\n{\n  setDefaults(&settings_);\n}\nCharReaderBuilder::~CharReaderBuilder()\n{}\nCharReader* CharReaderBuilder::newCharReader() const\n{\n  bool collectComments = settings_[\"collectComments\"].asBool();\n  OurFeatures features = OurFeatures::all();\n  features.allowComments_ = settings_[\"allowComments\"].asBool();\n  features.strictRoot_ = settings_[\"strictRoot\"].asBool();\n  features.allowDroppedNullPlaceholders_ = settings_[\"allowDroppedNullPlaceholders\"].asBool();\n  features.allowNumericKeys_ = settings_[\"allowNumericKeys\"].asBool();\n  features.allowSingleQuotes_ = settings_[\"allowSingleQuotes\"].asBool();\n  features.stackLimit_ = settings_[\"stackLimit\"].asInt();\n  features.failIfExtra_ = settings_[\"failIfExtra\"].asBool();\n  features.rejectDupKeys_ = settings_[\"rejectDupKeys\"].asBool();\n  features.allowSpecialFloats_ = settings_[\"allowSpecialFloats\"].asBool();\n  return new OurCharReader(collectComments, features);\n}\nstatic void getValidReaderKeys(std::set<JSONCPP_STRING>* valid_keys)\n{\n  valid_keys->clear();\n  valid_keys->insert(\"collectComments\");\n  valid_keys->insert(\"allowComments\");\n  valid_keys->insert(\"strictRoot\");\n  valid_keys->insert(\"allowDroppedNullPlaceholders\");\n  valid_keys->insert(\"allowNumericKeys\");\n  valid_keys->insert(\"allowSingleQuotes\");\n  valid_keys->insert(\"stackLimit\");\n  valid_keys->insert(\"failIfExtra\");\n  valid_keys->insert(\"rejectDupKeys\");\n  valid_keys->insert(\"allowSpecialFloats\");\n}\nbool CharReaderBuilder::validate(Json::Value* invalid) const\n{\n  Json::Value my_invalid;\n  if (!invalid) invalid = &my_invalid;  // so we do not need to test for NULL\n  Json::Value& inv = *invalid;\n  std::set<JSONCPP_STRING> valid_keys;\n  getValidReaderKeys(&valid_keys);\n  Value::Members keys = settings_.getMemberNames();\n  size_t n = keys.size();\n  for (size_t i = 0; i < n; ++i) {\n    JSONCPP_STRING const& key = keys[i];\n    if (valid_keys.find(key) == valid_keys.end()) {\n      inv[key] = settings_[key];\n    }\n  }\n  return 0u == inv.size();\n}\nValue& CharReaderBuilder::operator[](JSONCPP_STRING key)\n{\n  return settings_[key];\n}\n// static\nvoid CharReaderBuilder::strictMode(Json::Value* settings)\n{\n//! [CharReaderBuilderStrictMode]\n  (*settings)[\"allowComments\"] = false;\n  (*settings)[\"strictRoot\"] = true;\n  (*settings)[\"allowDroppedNullPlaceholders\"] = false;\n  (*settings)[\"allowNumericKeys\"] = false;\n  (*settings)[\"allowSingleQuotes\"] = false;\n  (*settings)[\"stackLimit\"] = 1000;\n  (*settings)[\"failIfExtra\"] = true;\n  (*settings)[\"rejectDupKeys\"] = true;\n  (*settings)[\"allowSpecialFloats\"] = false;\n//! [CharReaderBuilderStrictMode]\n}\n// static\nvoid CharReaderBuilder::setDefaults(Json::Value* settings)\n{\n//! [CharReaderBuilderDefaults]\n  (*settings)[\"collectComments\"] = true;\n  (*settings)[\"allowComments\"] = true;\n  (*settings)[\"strictRoot\"] = false;\n  (*settings)[\"allowDroppedNullPlaceholders\"] = false;\n  (*settings)[\"allowNumericKeys\"] = false;\n  (*settings)[\"allowSingleQuotes\"] = false;\n  (*settings)[\"stackLimit\"] = 1000;\n  (*settings)[\"failIfExtra\"] = false;\n  (*settings)[\"rejectDupKeys\"] = false;\n  (*settings)[\"allowSpecialFloats\"] = false;\n//! [CharReaderBuilderDefaults]\n}\n\n//////////////////////////////////\n// global functions\n\nbool parseFromStream(\n    CharReader::Factory const& fact, JSONCPP_ISTREAM& sin,\n    Value* root, JSONCPP_STRING* errs)\n{\n  JSONCPP_OSTRINGSTREAM ssin;\n  ssin << sin.rdbuf();\n  JSONCPP_STRING doc = ssin.str();\n  char const* begin = doc.data();\n  char const* end = begin + doc.size();\n  // Note that we do not actually need a null-terminator.\n  CharReaderPtr const reader(fact.newCharReader());\n  return reader->parse(begin, end, root, errs);\n}\n\nJSONCPP_ISTREAM& operator>>(JSONCPP_ISTREAM& sin, Value& root) {\n  CharReaderBuilder b;\n  JSONCPP_STRING errs;\n  bool ok = parseFromStream(b, sin, &root, &errs);\n  if (!ok) {\n    fprintf(stderr,\n            \"Error from reader: %s\",\n            errs.c_str());\n\n    throwRuntimeError(errs);\n  }\n  return sin;\n}\n\n} // namespace Json\n\n// //////////////////////////////////////////////////////////////////////\n// End of content of file: src/lib_json/json_reader.cpp\n// //////////////////////////////////////////////////////////////////////\n\n\n\n\n\n\n// //////////////////////////////////////////////////////////////////////\n// Beginning of content of file: src/lib_json/json_valueiterator.inl\n// //////////////////////////////////////////////////////////////////////\n\n// Copyright 2007-2010 Baptiste Lepilleur\n// Distributed under MIT license, or public domain if desired and\n// recognized in your jurisdiction.\n// See file LICENSE for detail or copy at http://jsoncpp.sourceforge.net/LICENSE\n\n// included by json_value.cpp\n\nnamespace Json {\n\n// //////////////////////////////////////////////////////////////////\n// //////////////////////////////////////////////////////////////////\n// //////////////////////////////////////////////////////////////////\n// class ValueIteratorBase\n// //////////////////////////////////////////////////////////////////\n// //////////////////////////////////////////////////////////////////\n// //////////////////////////////////////////////////////////////////\n\nValueIteratorBase::ValueIteratorBase()\n    : current_(), isNull_(true) {\n}\n\nValueIteratorBase::ValueIteratorBase(\n    const Value::ObjectValues::iterator& current)\n    : current_(current), isNull_(false) {}\n\nValue& ValueIteratorBase::deref() const {\n  return current_->second;\n}\n\nvoid ValueIteratorBase::increment() {\n  ++current_;\n}\n\nvoid ValueIteratorBase::decrement() {\n  --current_;\n}\n\nValueIteratorBase::difference_type\nValueIteratorBase::computeDistance(const SelfType& other) const {\n#ifdef JSON_USE_CPPTL_SMALLMAP\n  return other.current_ - current_;\n#else\n  // Iterator for null value are initialized using the default\n  // constructor, which initialize current_ to the default\n  // std::map::iterator. As begin() and end() are two instance\n  // of the default std::map::iterator, they can not be compared.\n  // To allow this, we handle this comparison specifically.\n  if (isNull_ && other.isNull_) {\n    return 0;\n  }\n\n  // Usage of std::distance is not portable (does not compile with Sun Studio 12\n  // RogueWave STL,\n  // which is the one used by default).\n  // Using a portable hand-made version for non random iterator instead:\n  //   return difference_type( std::distance( current_, other.current_ ) );\n  difference_type myDistance = 0;\n  for (Value::ObjectValues::iterator it = current_; it != other.current_;\n       ++it) {\n    ++myDistance;\n  }\n  return myDistance;\n#endif\n}\n\nbool ValueIteratorBase::isEqual(const SelfType& other) const {\n  if (isNull_) {\n    return other.isNull_;\n  }\n  return current_ == other.current_;\n}\n\nvoid ValueIteratorBase::copy(const SelfType& other) {\n  current_ = other.current_;\n  isNull_ = other.isNull_;\n}\n\nValue ValueIteratorBase::key() const {\n  const Value::CZString czstring = (*current_).first;\n  if (czstring.data()) {\n    if (czstring.isStaticString())\n      return Value(StaticString(czstring.data()));\n    return Value(czstring.data(), czstring.data() + czstring.length());\n  }\n  return Value(czstring.index());\n}\n\nUInt ValueIteratorBase::index() const {\n  const Value::CZString czstring = (*current_).first;\n  if (!czstring.data())\n    return czstring.index();\n  return Value::UInt(-1);\n}\n\nJSONCPP_STRING ValueIteratorBase::name() const {\n  char const* keey;\n  char const* end;\n  keey = memberName(&end);\n  if (!keey) return JSONCPP_STRING();\n  return JSONCPP_STRING(keey, end);\n}\n\nchar const* ValueIteratorBase::memberName() const {\n  const char* cname = (*current_).first.data();\n  return cname ? cname : \"\";\n}\n\nchar const* ValueIteratorBase::memberName(char const** end) const {\n  const char* cname = (*current_).first.data();\n  if (!cname) {\n    *end = NULL;\n    return NULL;\n  }\n  *end = cname + (*current_).first.length();\n  return cname;\n}\n\n// //////////////////////////////////////////////////////////////////\n// //////////////////////////////////////////////////////////////////\n// //////////////////////////////////////////////////////////////////\n// class ValueConstIterator\n// //////////////////////////////////////////////////////////////////\n// //////////////////////////////////////////////////////////////////\n// //////////////////////////////////////////////////////////////////\n\nValueConstIterator::ValueConstIterator() {}\n\nValueConstIterator::ValueConstIterator(\n    const Value::ObjectValues::iterator& current)\n    : ValueIteratorBase(current) {}\n\nValueConstIterator::ValueConstIterator(ValueIterator const& other)\n    : ValueIteratorBase(other) {}\n\nValueConstIterator& ValueConstIterator::\noperator=(const ValueIteratorBase& other) {\n  copy(other);\n  return *this;\n}\n\n// //////////////////////////////////////////////////////////////////\n// //////////////////////////////////////////////////////////////////\n// //////////////////////////////////////////////////////////////////\n// class ValueIterator\n// //////////////////////////////////////////////////////////////////\n// //////////////////////////////////////////////////////////////////\n// //////////////////////////////////////////////////////////////////\n\nValueIterator::ValueIterator() {}\n\nValueIterator::ValueIterator(const Value::ObjectValues::iterator& current)\n    : ValueIteratorBase(current) {}\n\nValueIterator::ValueIterator(const ValueConstIterator& other)\n    : ValueIteratorBase(other) {\n  throwRuntimeError(\"ConstIterator to Iterator should never be allowed.\");\n}\n\nValueIterator::ValueIterator(const ValueIterator& other)\n    : ValueIteratorBase(other) {}\n\nValueIterator& ValueIterator::operator=(const SelfType& other) {\n  copy(other);\n  return *this;\n}\n\n} // namespace Json\n\n// //////////////////////////////////////////////////////////////////////\n// End of content of file: src/lib_json/json_valueiterator.inl\n// //////////////////////////////////////////////////////////////////////\n\n\n\n\n\n\n// //////////////////////////////////////////////////////////////////////\n// Beginning of content of file: src/lib_json/json_value.cpp\n// //////////////////////////////////////////////////////////////////////\n\n// Copyright 2011 Baptiste Lepilleur\n// Distributed under MIT license, or public domain if desired and\n// recognized in your jurisdiction.\n// See file LICENSE for detail or copy at http://jsoncpp.sourceforge.net/LICENSE\n\n#if !defined(JSON_IS_AMALGAMATION)\n#include <json/assertions.h>\n#include <json/value.h>\n#include <json/writer.h>\n#endif // if !defined(JSON_IS_AMALGAMATION)\n#include <math.h>\n#include <sstream>\n#include <utility>\n#include <cstring>\n#include <cassert>\n#ifdef JSON_USE_CPPTL\n#include <cpptl/conststring.h>\n#endif\n#include <cstddef> // size_t\n#include <algorithm> // min()\n\n#define JSON_ASSERT_UNREACHABLE assert(false)\n\nnamespace Json {\n\n// This is a walkaround to avoid the static initialization of Value::null.\n// kNull must be word-aligned to avoid crashing on ARM.  We use an alignment of\n// 8 (instead of 4) as a bit of future-proofing.\n#if defined(__ARMEL__)\n#define ALIGNAS(byte_alignment) __attribute__((aligned(byte_alignment)))\n#else\n#define ALIGNAS(byte_alignment)\n#endif\nstatic const unsigned char ALIGNAS(8) kNull[sizeof(Value)] = { 0 };\nconst unsigned char& kNullRef = kNull[0];\nconst Value& Value::null = reinterpret_cast<const Value&>(kNullRef);\nconst Value& Value::nullRef = null;\n\nconst Int Value::minInt = Int(~(UInt(-1) / 2));\nconst Int Value::maxInt = Int(UInt(-1) / 2);\nconst UInt Value::maxUInt = UInt(-1);\n#if defined(JSON_HAS_INT64)\nconst Int64 Value::minInt64 = Int64(~(UInt64(-1) / 2));\nconst Int64 Value::maxInt64 = Int64(UInt64(-1) / 2);\nconst UInt64 Value::maxUInt64 = UInt64(-1);\n// The constant is hard-coded because some compiler have trouble\n// converting Value::maxUInt64 to a double correctly (AIX/xlC).\n// Assumes that UInt64 is a 64 bits integer.\nstatic const double maxUInt64AsDouble = 18446744073709551615.0;\n#endif // defined(JSON_HAS_INT64)\nconst LargestInt Value::minLargestInt = LargestInt(~(LargestUInt(-1) / 2));\nconst LargestInt Value::maxLargestInt = LargestInt(LargestUInt(-1) / 2);\nconst LargestUInt Value::maxLargestUInt = LargestUInt(-1);\n\n#if !defined(JSON_USE_INT64_DOUBLE_CONVERSION)\ntemplate <typename T, typename U>\nstatic inline bool InRange(double d, T min, U max) {\n  // The casts can lose precision, but we are looking only for\n  // an approximate range. Might fail on edge cases though. ~cdunn\n  //return d >= static_cast<double>(min) && d <= static_cast<double>(max);\n  return d >= min && d <= max;\n}\n#else  // if !defined(JSON_USE_INT64_DOUBLE_CONVERSION)\nstatic inline double integerToDouble(Json::UInt64 value) {\n  return static_cast<double>(Int64(value / 2)) * 2.0 + static_cast<double>(Int64(value & 1));\n}\n\ntemplate <typename T> static inline double integerToDouble(T value) {\n  return static_cast<double>(value);\n}\n\ntemplate <typename T, typename U>\nstatic inline bool InRange(double d, T min, U max) {\n  return d >= integerToDouble(min) && d <= integerToDouble(max);\n}\n#endif // if !defined(JSON_USE_INT64_DOUBLE_CONVERSION)\n\n/** Duplicates the specified string value.\n * @param value Pointer to the string to duplicate. Must be zero-terminated if\n *              length is \"unknown\".\n * @param length Length of the value. if equals to unknown, then it will be\n *               computed using strlen(value).\n * @return Pointer on the duplicate instance of string.\n */\nstatic inline char* duplicateStringValue(const char* value,\n                                         size_t length)\n{\n  // Avoid an integer overflow in the call to malloc below by limiting length\n  // to a sane value.\n  if (length >= static_cast<size_t>(Value::maxInt))\n    length = Value::maxInt - 1;\n\n  char* newString = static_cast<char*>(malloc(length + 1));\n  if (newString == NULL) {\n    throwRuntimeError(\n        \"in Json::Value::duplicateStringValue(): \"\n        \"Failed to allocate string value buffer\");\n  }\n  memcpy(newString, value, length);\n  newString[length] = 0;\n  return newString;\n}\n\n/* Record the length as a prefix.\n */\nstatic inline char* duplicateAndPrefixStringValue(\n    const char* value,\n    unsigned int length)\n{\n  // Avoid an integer overflow in the call to malloc below by limiting length\n  // to a sane value.\n  JSON_ASSERT_MESSAGE(length <= static_cast<unsigned>(Value::maxInt) - sizeof(unsigned) - 1U,\n                      \"in Json::Value::duplicateAndPrefixStringValue(): \"\n                      \"length too big for prefixing\");\n  unsigned actualLength = length + static_cast<unsigned>(sizeof(unsigned)) + 1U;\n  char* newString = static_cast<char*>(malloc(actualLength));\n  if (newString == 0) {\n    throwRuntimeError(\n        \"in Json::Value::duplicateAndPrefixStringValue(): \"\n        \"Failed to allocate string value buffer\");\n  }\n  *reinterpret_cast<unsigned*>(newString) = length;\n  memcpy(newString + sizeof(unsigned), value, length);\n  newString[actualLength - 1U] = 0; // to avoid buffer over-run accidents by users later\n  return newString;\n}\ninline static void decodePrefixedString(\n    bool isPrefixed, char const* prefixed,\n    unsigned* length, char const** value)\n{\n  if (!isPrefixed) {\n    *length = static_cast<unsigned>(strlen(prefixed));\n    *value = prefixed;\n  } else {\n    *length = *reinterpret_cast<unsigned const*>(prefixed);\n    *value = prefixed + sizeof(unsigned);\n  }\n}\n/** Free the string duplicated by duplicateStringValue()/duplicateAndPrefixStringValue().\n */\n#if JSONCPP_USING_SECURE_MEMORY\nstatic inline void releasePrefixedStringValue(char* value) {\n  unsigned length = 0;\n  char const* valueDecoded;\n  decodePrefixedString(true, value, &length, &valueDecoded);\n  size_t const size = sizeof(unsigned) + length + 1U;\n  memset(value, 0, size);\n  free(value);\n}\nstatic inline void releaseStringValue(char* value, unsigned length) {\n  // length==0 => we allocated the strings memory\n  size_t size = (length==0) ? strlen(value) : length;\n  memset(value, 0, size);\n  free(value);\n}\n#else // !JSONCPP_USING_SECURE_MEMORY\nstatic inline void releasePrefixedStringValue(char* value) {\n  free(value);\n}\nstatic inline void releaseStringValue(char* value, unsigned) {\n  free(value);\n}\n#endif // JSONCPP_USING_SECURE_MEMORY\n\n} // namespace Json\n\n// //////////////////////////////////////////////////////////////////\n// //////////////////////////////////////////////////////////////////\n// //////////////////////////////////////////////////////////////////\n// ValueInternals...\n// //////////////////////////////////////////////////////////////////\n// //////////////////////////////////////////////////////////////////\n// //////////////////////////////////////////////////////////////////\n#if !defined(JSON_IS_AMALGAMATION)\n\n#include \"json_valueiterator.inl\"\n#endif // if !defined(JSON_IS_AMALGAMATION)\n\nnamespace Json {\n\nException::Exception(JSONCPP_STRING const& msg)\n  : msg_(msg)\n{}\nException::~Exception() throw()\n{}\nchar const* Exception::what() const throw()\n{\n  return msg_.c_str();\n}\nRuntimeError::RuntimeError(JSONCPP_STRING const& msg)\n  : Exception(msg)\n{}\nLogicError::LogicError(JSONCPP_STRING const& msg)\n  : Exception(msg)\n{}\nJSONCPP_NORETURN void throwRuntimeError(JSONCPP_STRING const& msg)\n{\n  throw RuntimeError(msg);\n}\nJSONCPP_NORETURN void throwLogicError(JSONCPP_STRING const& msg)\n{\n  throw LogicError(msg);\n}\n\n// //////////////////////////////////////////////////////////////////\n// //////////////////////////////////////////////////////////////////\n// //////////////////////////////////////////////////////////////////\n// class Value::CommentInfo\n// //////////////////////////////////////////////////////////////////\n// //////////////////////////////////////////////////////////////////\n// //////////////////////////////////////////////////////////////////\n\nValue::CommentInfo::CommentInfo() : comment_(0)\n{}\n\nValue::CommentInfo::~CommentInfo() {\n  if (comment_)\n    releaseStringValue(comment_, 0u);\n}\n\nvoid Value::CommentInfo::setComment(const char* text, size_t len) {\n  if (comment_) {\n    releaseStringValue(comment_, 0u);\n    comment_ = 0;\n  }\n  JSON_ASSERT(text != 0);\n  JSON_ASSERT_MESSAGE(\n      text[0] == '\\0' || text[0] == '/',\n      \"in Json::Value::setComment(): Comments must start with /\");\n  // It seems that /**/ style comments are acceptable as well.\n  comment_ = duplicateStringValue(text, len);\n}\n\n// //////////////////////////////////////////////////////////////////\n// //////////////////////////////////////////////////////////////////\n// //////////////////////////////////////////////////////////////////\n// class Value::CZString\n// //////////////////////////////////////////////////////////////////\n// //////////////////////////////////////////////////////////////////\n// //////////////////////////////////////////////////////////////////\n\n// Notes: policy_ indicates if the string was allocated when\n// a string is stored.\n\nValue::CZString::CZString(ArrayIndex aindex) : cstr_(0), index_(aindex) {}\n\nValue::CZString::CZString(char const* str, unsigned ulength, DuplicationPolicy allocate)\n    : cstr_(str) {\n  // allocate != duplicate\n  storage_.policy_ = allocate & 0x3;\n  storage_.length_ = ulength & 0x3FFFFFFF;\n}\n\nValue::CZString::CZString(const CZString& other) {\n  cstr_ = (other.storage_.policy_ != noDuplication && other.cstr_ != 0\n\t\t\t\t ? duplicateStringValue(other.cstr_, other.storage_.length_)\n\t\t\t\t : other.cstr_);\n  storage_.policy_ = static_cast<unsigned>(other.cstr_\n                 ? (static_cast<DuplicationPolicy>(other.storage_.policy_) == noDuplication\n                     ? noDuplication : duplicate)\n                 : static_cast<DuplicationPolicy>(other.storage_.policy_)) & 3U;\n  storage_.length_ = other.storage_.length_;\n}\n\n#if JSON_HAS_RVALUE_REFERENCES\nValue::CZString::CZString(CZString&& other)\n  : cstr_(other.cstr_), index_(other.index_) {\n  other.cstr_ = nullptr;\n}\n#endif\n\nValue::CZString::~CZString() {\n  if (cstr_ && storage_.policy_ == duplicate) {\n\t  releaseStringValue(const_cast<char*>(cstr_), storage_.length_ + 1u); //+1 for null terminating character for sake of completeness but not actually necessary\n  }\n}\n\nvoid Value::CZString::swap(CZString& other) {\n  std::swap(cstr_, other.cstr_);\n  std::swap(index_, other.index_);\n}\n\nValue::CZString& Value::CZString::operator=(CZString other) {\n  swap(other);\n  return *this;\n}\n\nbool Value::CZString::operator<(const CZString& other) const {\n  if (!cstr_) return index_ < other.index_;\n  //return strcmp(cstr_, other.cstr_) < 0;\n  // Assume both are strings.\n  unsigned this_len = this->storage_.length_;\n  unsigned other_len = other.storage_.length_;\n  unsigned min_len = std::min(this_len, other_len);\n  JSON_ASSERT(this->cstr_ && other.cstr_);\n  int comp = memcmp(this->cstr_, other.cstr_, min_len);\n  if (comp < 0) return true;\n  if (comp > 0) return false;\n  return (this_len < other_len);\n}\n\nbool Value::CZString::operator==(const CZString& other) const {\n  if (!cstr_) return index_ == other.index_;\n  //return strcmp(cstr_, other.cstr_) == 0;\n  // Assume both are strings.\n  unsigned this_len = this->storage_.length_;\n  unsigned other_len = other.storage_.length_;\n  if (this_len != other_len) return false;\n  JSON_ASSERT(this->cstr_ && other.cstr_);\n  int comp = memcmp(this->cstr_, other.cstr_, this_len);\n  return comp == 0;\n}\n\nArrayIndex Value::CZString::index() const { return index_; }\n\n//const char* Value::CZString::c_str() const { return cstr_; }\nconst char* Value::CZString::data() const { return cstr_; }\nunsigned Value::CZString::length() const { return storage_.length_; }\nbool Value::CZString::isStaticString() const { return storage_.policy_ == noDuplication; }\n\n// //////////////////////////////////////////////////////////////////\n// //////////////////////////////////////////////////////////////////\n// //////////////////////////////////////////////////////////////////\n// class Value::Value\n// //////////////////////////////////////////////////////////////////\n// //////////////////////////////////////////////////////////////////\n// //////////////////////////////////////////////////////////////////\n\n/*! \\internal Default constructor initialization must be equivalent to:\n * memset( this, 0, sizeof(Value) )\n * This optimization is used in ValueInternalMap fast allocator.\n */\nValue::Value(ValueType vtype) {\n  initBasic(vtype);\n  switch (vtype) {\n  case nullValue:\n    break;\n  case intValue:\n  case uintValue:\n    value_.int_ = 0;\n    break;\n  case realValue:\n    value_.real_ = 0.0;\n    break;\n  case stringValue:\n    value_.string_ = 0;\n    break;\n  case arrayValue:\n  case objectValue:\n    value_.map_ = new ObjectValues();\n    break;\n  case booleanValue:\n    value_.bool_ = false;\n    break;\n  default:\n    JSON_ASSERT_UNREACHABLE;\n  }\n}\n\nValue::Value(Int value) {\n  initBasic(intValue);\n  value_.int_ = value;\n}\n\nValue::Value(UInt value) {\n  initBasic(uintValue);\n  value_.uint_ = value;\n}\n#if defined(JSON_HAS_INT64)\nValue::Value(Int64 value) {\n  initBasic(intValue);\n  value_.int_ = value;\n}\nValue::Value(UInt64 value) {\n  initBasic(uintValue);\n  value_.uint_ = value;\n}\n#endif // defined(JSON_HAS_INT64)\n\nValue::Value(double value) {\n  initBasic(realValue);\n  value_.real_ = value;\n}\n\nValue::Value(const char* value) {\n  initBasic(stringValue, true);\n  value_.string_ = duplicateAndPrefixStringValue(value, static_cast<unsigned>(strlen(value)));\n}\n\nValue::Value(const char* beginValue, const char* endValue) {\n  initBasic(stringValue, true);\n  value_.string_ =\n      duplicateAndPrefixStringValue(beginValue, static_cast<unsigned>(endValue - beginValue));\n}\n\nValue::Value(const JSONCPP_STRING& value) {\n  initBasic(stringValue, true);\n  value_.string_ =\n      duplicateAndPrefixStringValue(value.data(), static_cast<unsigned>(value.length()));\n}\n\nValue::Value(const StaticString& value) {\n  initBasic(stringValue);\n  value_.string_ = const_cast<char*>(value.c_str());\n}\n\n#ifdef JSON_USE_CPPTL\nValue::Value(const CppTL::ConstString& value) {\n  initBasic(stringValue, true);\n  value_.string_ = duplicateAndPrefixStringValue(value, static_cast<unsigned>(value.length()));\n}\n#endif\n\nValue::Value(bool value) {\n  initBasic(booleanValue);\n  value_.bool_ = value;\n}\n\nValue::Value(Value const& other)\n    : type_(other.type_), allocated_(false)\n      ,\n      comments_(0), start_(other.start_), limit_(other.limit_)\n{\n  switch (type_) {\n  case nullValue:\n  case intValue:\n  case uintValue:\n  case realValue:\n  case booleanValue:\n    value_ = other.value_;\n    break;\n  case stringValue:\n    if (other.value_.string_ && other.allocated_) {\n      unsigned len;\n      char const* str;\n      decodePrefixedString(other.allocated_, other.value_.string_,\n          &len, &str);\n      value_.string_ = duplicateAndPrefixStringValue(str, len);\n      allocated_ = true;\n    } else {\n      value_.string_ = other.value_.string_;\n      allocated_ = false;\n    }\n    break;\n  case arrayValue:\n  case objectValue:\n    value_.map_ = new ObjectValues(*other.value_.map_);\n    break;\n  default:\n    JSON_ASSERT_UNREACHABLE;\n  }\n  if (other.comments_) {\n    comments_ = new CommentInfo[numberOfCommentPlacement];\n    for (int comment = 0; comment < numberOfCommentPlacement; ++comment) {\n      const CommentInfo& otherComment = other.comments_[comment];\n      if (otherComment.comment_)\n        comments_[comment].setComment(\n            otherComment.comment_, strlen(otherComment.comment_));\n    }\n  }\n}\n\n#if JSON_HAS_RVALUE_REFERENCES\n// Move constructor\nValue::Value(Value&& other) {\n  initBasic(nullValue);\n  swap(other);\n}\n#endif\n\nValue::~Value() {\n  switch (type_) {\n  case nullValue:\n  case intValue:\n  case uintValue:\n  case realValue:\n  case booleanValue:\n    break;\n  case stringValue:\n    if (allocated_)\n      releasePrefixedStringValue(value_.string_);\n    break;\n  case arrayValue:\n  case objectValue:\n    delete value_.map_;\n    break;\n  default:\n    JSON_ASSERT_UNREACHABLE;\n  }\n\n  if (comments_)\n    delete[] comments_;\n\n  value_.uint_ = 0;\n}\n\nValue& Value::operator=(Value other) {\n  swap(other);\n  return *this;\n}\n\nvoid Value::swapPayload(Value& other) {\n  ValueType temp = type_;\n  type_ = other.type_;\n  other.type_ = temp;\n  std::swap(value_, other.value_);\n  int temp2 = allocated_;\n  allocated_ = other.allocated_;\n  other.allocated_ = temp2 & 0x1;\n}\n\nvoid Value::swap(Value& other) {\n  swapPayload(other);\n  std::swap(comments_, other.comments_);\n  std::swap(start_, other.start_);\n  std::swap(limit_, other.limit_);\n}\n\nValueType Value::type() const { return type_; }\n\nint Value::compare(const Value& other) const {\n  if (*this < other)\n    return -1;\n  if (*this > other)\n    return 1;\n  return 0;\n}\n\nbool Value::operator<(const Value& other) const {\n  int typeDelta = type_ - other.type_;\n  if (typeDelta)\n    return typeDelta < 0 ? true : false;\n  switch (type_) {\n  case nullValue:\n    return false;\n  case intValue:\n    return value_.int_ < other.value_.int_;\n  case uintValue:\n    return value_.uint_ < other.value_.uint_;\n  case realValue:\n    return value_.real_ < other.value_.real_;\n  case booleanValue:\n    return value_.bool_ < other.value_.bool_;\n  case stringValue:\n  {\n    if ((value_.string_ == 0) || (other.value_.string_ == 0)) {\n      if (other.value_.string_) return true;\n      else return false;\n    }\n    unsigned this_len;\n    unsigned other_len;\n    char const* this_str;\n    char const* other_str;\n    decodePrefixedString(this->allocated_, this->value_.string_, &this_len, &this_str);\n    decodePrefixedString(other.allocated_, other.value_.string_, &other_len, &other_str);\n    unsigned min_len = std::min(this_len, other_len);\n    JSON_ASSERT(this_str && other_str);\n    int comp = memcmp(this_str, other_str, min_len);\n    if (comp < 0) return true;\n    if (comp > 0) return false;\n    return (this_len < other_len);\n  }\n  case arrayValue:\n  case objectValue: {\n    int delta = int(value_.map_->size() - other.value_.map_->size());\n    if (delta)\n      return delta < 0;\n    return (*value_.map_) < (*other.value_.map_);\n  }\n  default:\n    JSON_ASSERT_UNREACHABLE;\n  }\n  return false; // unreachable\n}\n\nbool Value::operator<=(const Value& other) const { return !(other < *this); }\n\nbool Value::operator>=(const Value& other) const { return !(*this < other); }\n\nbool Value::operator>(const Value& other) const { return other < *this; }\n\nbool Value::operator==(const Value& other) const {\n  // if ( type_ != other.type_ )\n  // GCC 2.95.3 says:\n  // attempt to take address of bit-field structure member `Json::Value::type_'\n  // Beats me, but a temp solves the problem.\n  int temp = other.type_;\n  if (type_ != temp)\n    return false;\n  switch (type_) {\n  case nullValue:\n    return true;\n  case intValue:\n    return value_.int_ == other.value_.int_;\n  case uintValue:\n    return value_.uint_ == other.value_.uint_;\n  case realValue:\n    return value_.real_ == other.value_.real_;\n  case booleanValue:\n    return value_.bool_ == other.value_.bool_;\n  case stringValue:\n  {\n    if ((value_.string_ == 0) || (other.value_.string_ == 0)) {\n      return (value_.string_ == other.value_.string_);\n    }\n    unsigned this_len;\n    unsigned other_len;\n    char const* this_str;\n    char const* other_str;\n    decodePrefixedString(this->allocated_, this->value_.string_, &this_len, &this_str);\n    decodePrefixedString(other.allocated_, other.value_.string_, &other_len, &other_str);\n    if (this_len != other_len) return false;\n    JSON_ASSERT(this_str && other_str);\n    int comp = memcmp(this_str, other_str, this_len);\n    return comp == 0;\n  }\n  case arrayValue:\n  case objectValue:\n    return value_.map_->size() == other.value_.map_->size() &&\n           (*value_.map_) == (*other.value_.map_);\n  default:\n    JSON_ASSERT_UNREACHABLE;\n  }\n  return false; // unreachable\n}\n\nbool Value::operator!=(const Value& other) const { return !(*this == other); }\n\nconst char* Value::asCString() const {\n  JSON_ASSERT_MESSAGE(type_ == stringValue,\n                      \"in Json::Value::asCString(): requires stringValue\");\n  if (value_.string_ == 0) return 0;\n  unsigned this_len;\n  char const* this_str;\n  decodePrefixedString(this->allocated_, this->value_.string_, &this_len, &this_str);\n  return this_str;\n}\n\n#if JSONCPP_USING_SECURE_MEMORY\nunsigned Value::getCStringLength() const {\n  JSON_ASSERT_MESSAGE(type_ == stringValue,\n\t                  \"in Json::Value::asCString(): requires stringValue\");\n  if (value_.string_ == 0) return 0;\n  unsigned this_len;\n  char const* this_str;\n  decodePrefixedString(this->allocated_, this->value_.string_, &this_len, &this_str);\n  return this_len;\n}\n#endif\n\nbool Value::getString(char const** str, char const** cend) const {\n  if (type_ != stringValue) return false;\n  if (value_.string_ == 0) return false;\n  unsigned length;\n  decodePrefixedString(this->allocated_, this->value_.string_, &length, str);\n  *cend = *str + length;\n  return true;\n}\n\nJSONCPP_STRING Value::asString() const {\n  switch (type_) {\n  case nullValue:\n    return \"\";\n  case stringValue:\n  {\n    if (value_.string_ == 0) return \"\";\n    unsigned this_len;\n    char const* this_str;\n    decodePrefixedString(this->allocated_, this->value_.string_, &this_len, &this_str);\n    return JSONCPP_STRING(this_str, this_len);\n  }\n  case booleanValue:\n    return value_.bool_ ? \"true\" : \"false\";\n  case intValue:\n    return valueToString(value_.int_);\n  case uintValue:\n    return valueToString(value_.uint_);\n  case realValue:\n    return valueToString(value_.real_);\n  default:\n    JSON_FAIL_MESSAGE(\"Type is not convertible to string\");\n  }\n}\n\n#ifdef JSON_USE_CPPTL\nCppTL::ConstString Value::asConstString() const {\n  unsigned len;\n  char const* str;\n  decodePrefixedString(allocated_, value_.string_,\n      &len, &str);\n  return CppTL::ConstString(str, len);\n}\n#endif\n\nValue::Int Value::asInt() const {\n  switch (type_) {\n  case intValue:\n    JSON_ASSERT_MESSAGE(isInt(), \"LargestInt out of Int range\");\n    return Int(value_.int_);\n  case uintValue:\n    JSON_ASSERT_MESSAGE(isInt(), \"LargestUInt out of Int range\");\n    return Int(value_.uint_);\n  case realValue:\n    JSON_ASSERT_MESSAGE(InRange(value_.real_, minInt, maxInt),\n                        \"double out of Int range\");\n    return Int(value_.real_);\n  case nullValue:\n    return 0;\n  case booleanValue:\n    return value_.bool_ ? 1 : 0;\n  default:\n    break;\n  }\n  JSON_FAIL_MESSAGE(\"Value is not convertible to Int.\");\n}\n\nValue::UInt Value::asUInt() const {\n  switch (type_) {\n  case intValue:\n    JSON_ASSERT_MESSAGE(isUInt(), \"LargestInt out of UInt range\");\n    return UInt(value_.int_);\n  case uintValue:\n    JSON_ASSERT_MESSAGE(isUInt(), \"LargestUInt out of UInt range\");\n    return UInt(value_.uint_);\n  case realValue:\n    JSON_ASSERT_MESSAGE(InRange(value_.real_, 0, maxUInt),\n                        \"double out of UInt range\");\n    return UInt(value_.real_);\n  case nullValue:\n    return 0;\n  case booleanValue:\n    return value_.bool_ ? 1 : 0;\n  default:\n    break;\n  }\n  JSON_FAIL_MESSAGE(\"Value is not convertible to UInt.\");\n}\n\n#if defined(JSON_HAS_INT64)\n\nValue::Int64 Value::asInt64() const {\n  switch (type_) {\n  case intValue:\n    return Int64(value_.int_);\n  case uintValue:\n    JSON_ASSERT_MESSAGE(isInt64(), \"LargestUInt out of Int64 range\");\n    return Int64(value_.uint_);\n  case realValue:\n    JSON_ASSERT_MESSAGE(InRange(value_.real_, minInt64, maxInt64),\n                        \"double out of Int64 range\");\n    return Int64(value_.real_);\n  case nullValue:\n    return 0;\n  case booleanValue:\n    return value_.bool_ ? 1 : 0;\n  default:\n    break;\n  }\n  JSON_FAIL_MESSAGE(\"Value is not convertible to Int64.\");\n}\n\nValue::UInt64 Value::asUInt64() const {\n  switch (type_) {\n  case intValue:\n    JSON_ASSERT_MESSAGE(isUInt64(), \"LargestInt out of UInt64 range\");\n    return UInt64(value_.int_);\n  case uintValue:\n    return UInt64(value_.uint_);\n  case realValue:\n    JSON_ASSERT_MESSAGE(InRange(value_.real_, 0, maxUInt64),\n                        \"double out of UInt64 range\");\n    return UInt64(value_.real_);\n  case nullValue:\n    return 0;\n  case booleanValue:\n    return value_.bool_ ? 1 : 0;\n  default:\n    break;\n  }\n  JSON_FAIL_MESSAGE(\"Value is not convertible to UInt64.\");\n}\n#endif // if defined(JSON_HAS_INT64)\n\nLargestInt Value::asLargestInt() const {\n#if defined(JSON_NO_INT64)\n  return asInt();\n#else\n  return asInt64();\n#endif\n}\n\nLargestUInt Value::asLargestUInt() const {\n#if defined(JSON_NO_INT64)\n  return asUInt();\n#else\n  return asUInt64();\n#endif\n}\n\ndouble Value::asDouble() const {\n  switch (type_) {\n  case intValue:\n    return static_cast<double>(value_.int_);\n  case uintValue:\n#if !defined(JSON_USE_INT64_DOUBLE_CONVERSION)\n    return static_cast<double>(value_.uint_);\n#else  // if !defined(JSON_USE_INT64_DOUBLE_CONVERSION)\n    return integerToDouble(value_.uint_);\n#endif // if !defined(JSON_USE_INT64_DOUBLE_CONVERSION)\n  case realValue:\n    return value_.real_;\n  case nullValue:\n    return 0.0;\n  case booleanValue:\n    return value_.bool_ ? 1.0 : 0.0;\n  default:\n    break;\n  }\n  JSON_FAIL_MESSAGE(\"Value is not convertible to double.\");\n}\n\nfloat Value::asFloat() const {\n  switch (type_) {\n  case intValue:\n    return static_cast<float>(value_.int_);\n  case uintValue:\n#if !defined(JSON_USE_INT64_DOUBLE_CONVERSION)\n    return static_cast<float>(value_.uint_);\n#else  // if !defined(JSON_USE_INT64_DOUBLE_CONVERSION)\n    // This can fail (silently?) if the value is bigger than MAX_FLOAT.\n    return static_cast<float>(integerToDouble(value_.uint_));\n#endif // if !defined(JSON_USE_INT64_DOUBLE_CONVERSION)\n  case realValue:\n    return static_cast<float>(value_.real_);\n  case nullValue:\n    return 0.0;\n  case booleanValue:\n    return value_.bool_ ? 1.0f : 0.0f;\n  default:\n    break;\n  }\n  JSON_FAIL_MESSAGE(\"Value is not convertible to float.\");\n}\n\nbool Value::asBool() const {\n  switch (type_) {\n  case booleanValue:\n    return value_.bool_;\n  case nullValue:\n    return false;\n  case intValue:\n    return value_.int_ ? true : false;\n  case uintValue:\n    return value_.uint_ ? true : false;\n  case realValue:\n    // This is kind of strange. Not recommended.\n    return (value_.real_ != 0.0) ? true : false;\n  default:\n    break;\n  }\n  JSON_FAIL_MESSAGE(\"Value is not convertible to bool.\");\n}\n\nbool Value::isConvertibleTo(ValueType other) const {\n  switch (other) {\n  case nullValue:\n    return (isNumeric() && asDouble() == 0.0) ||\n           (type_ == booleanValue && value_.bool_ == false) ||\n           (type_ == stringValue && asString() == \"\") ||\n           (type_ == arrayValue && value_.map_->size() == 0) ||\n           (type_ == objectValue && value_.map_->size() == 0) ||\n           type_ == nullValue;\n  case intValue:\n    return isInt() ||\n           (type_ == realValue && InRange(value_.real_, minInt, maxInt)) ||\n           type_ == booleanValue || type_ == nullValue;\n  case uintValue:\n    return isUInt() ||\n           (type_ == realValue && InRange(value_.real_, 0, maxUInt)) ||\n           type_ == booleanValue || type_ == nullValue;\n  case realValue:\n    return isNumeric() || type_ == booleanValue || type_ == nullValue;\n  case booleanValue:\n    return isNumeric() || type_ == booleanValue || type_ == nullValue;\n  case stringValue:\n    return isNumeric() || type_ == booleanValue || type_ == stringValue ||\n           type_ == nullValue;\n  case arrayValue:\n    return type_ == arrayValue || type_ == nullValue;\n  case objectValue:\n    return type_ == objectValue || type_ == nullValue;\n  }\n  JSON_ASSERT_UNREACHABLE;\n  return false;\n}\n\n/// Number of values in array or object\nArrayIndex Value::size() const {\n  switch (type_) {\n  case nullValue:\n  case intValue:\n  case uintValue:\n  case realValue:\n  case booleanValue:\n  case stringValue:\n    return 0;\n  case arrayValue: // size of the array is highest index + 1\n    if (!value_.map_->empty()) {\n      ObjectValues::const_iterator itLast = value_.map_->end();\n      --itLast;\n      return (*itLast).first.index() + 1;\n    }\n    return 0;\n  case objectValue:\n    return ArrayIndex(value_.map_->size());\n  }\n  JSON_ASSERT_UNREACHABLE;\n  return 0; // unreachable;\n}\n\nbool Value::empty() const {\n  if (isNull() || isArray() || isObject())\n    return size() == 0u;\n  else\n    return false;\n}\n\nbool Value::operator!() const { return isNull(); }\n\nvoid Value::clear() {\n  JSON_ASSERT_MESSAGE(type_ == nullValue || type_ == arrayValue ||\n                          type_ == objectValue,\n                      \"in Json::Value::clear(): requires complex value\");\n  start_ = 0;\n  limit_ = 0;\n  switch (type_) {\n  case arrayValue:\n  case objectValue:\n    value_.map_->clear();\n    break;\n  default:\n    break;\n  }\n}\n\nvoid Value::resize(ArrayIndex newSize) {\n  JSON_ASSERT_MESSAGE(type_ == nullValue || type_ == arrayValue,\n                      \"in Json::Value::resize(): requires arrayValue\");\n  if (type_ == nullValue)\n    *this = Value(arrayValue);\n  ArrayIndex oldSize = size();\n  if (newSize == 0)\n    clear();\n  else if (newSize > oldSize)\n    (*this)[newSize - 1];\n  else {\n    for (ArrayIndex index = newSize; index < oldSize; ++index) {\n      value_.map_->erase(index);\n    }\n    JSON_ASSERT(size() == newSize);\n  }\n}\n\nValue& Value::operator[](ArrayIndex index) {\n  JSON_ASSERT_MESSAGE(\n      type_ == nullValue || type_ == arrayValue,\n      \"in Json::Value::operator[](ArrayIndex): requires arrayValue\");\n  if (type_ == nullValue)\n    *this = Value(arrayValue);\n  CZString key(index);\n  ObjectValues::iterator it = value_.map_->lower_bound(key);\n  if (it != value_.map_->end() && (*it).first == key)\n    return (*it).second;\n\n  ObjectValues::value_type defaultValue(key, nullRef);\n  it = value_.map_->insert(it, defaultValue);\n  return (*it).second;\n}\n\nValue& Value::operator[](int index) {\n  JSON_ASSERT_MESSAGE(\n      index >= 0,\n      \"in Json::Value::operator[](int index): index cannot be negative\");\n  return (*this)[ArrayIndex(index)];\n}\n\nconst Value& Value::operator[](ArrayIndex index) const {\n  JSON_ASSERT_MESSAGE(\n      type_ == nullValue || type_ == arrayValue,\n      \"in Json::Value::operator[](ArrayIndex)const: requires arrayValue\");\n  if (type_ == nullValue)\n    return nullRef;\n  CZString key(index);\n  ObjectValues::const_iterator it = value_.map_->find(key);\n  if (it == value_.map_->end())\n    return nullRef;\n  return (*it).second;\n}\n\nconst Value& Value::operator[](int index) const {\n  JSON_ASSERT_MESSAGE(\n      index >= 0,\n      \"in Json::Value::operator[](int index) const: index cannot be negative\");\n  return (*this)[ArrayIndex(index)];\n}\n\nvoid Value::initBasic(ValueType vtype, bool allocated) {\n  type_ = vtype;\n  allocated_ = allocated;\n  comments_ = 0;\n  start_ = 0;\n  limit_ = 0;\n}\n\n// Access an object value by name, create a null member if it does not exist.\n// @pre Type of '*this' is object or null.\n// @param key is null-terminated.\nValue& Value::resolveReference(const char* key) {\n  JSON_ASSERT_MESSAGE(\n      type_ == nullValue || type_ == objectValue,\n      \"in Json::Value::resolveReference(): requires objectValue\");\n  if (type_ == nullValue)\n    *this = Value(objectValue);\n  CZString actualKey(\n      key, static_cast<unsigned>(strlen(key)), CZString::noDuplication); // NOTE!\n  ObjectValues::iterator it = value_.map_->lower_bound(actualKey);\n  if (it != value_.map_->end() && (*it).first == actualKey)\n    return (*it).second;\n\n  ObjectValues::value_type defaultValue(actualKey, nullRef);\n  it = value_.map_->insert(it, defaultValue);\n  Value& value = (*it).second;\n  return value;\n}\n\n// @param key is not null-terminated.\nValue& Value::resolveReference(char const* key, char const* cend)\n{\n  JSON_ASSERT_MESSAGE(\n      type_ == nullValue || type_ == objectValue,\n      \"in Json::Value::resolveReference(key, end): requires objectValue\");\n  if (type_ == nullValue)\n    *this = Value(objectValue);\n  CZString actualKey(\n      key, static_cast<unsigned>(cend-key), CZString::duplicateOnCopy);\n  ObjectValues::iterator it = value_.map_->lower_bound(actualKey);\n  if (it != value_.map_->end() && (*it).first == actualKey)\n    return (*it).second;\n\n  ObjectValues::value_type defaultValue(actualKey, nullRef);\n  it = value_.map_->insert(it, defaultValue);\n  Value& value = (*it).second;\n  return value;\n}\n\nValue Value::get(ArrayIndex index, const Value& defaultValue) const {\n  const Value* value = &((*this)[index]);\n  return value == &nullRef ? defaultValue : *value;\n}\n\nbool Value::isValidIndex(ArrayIndex index) const { return index < size(); }\n\nValue const* Value::find(char const* key, char const* cend) const\n{\n  JSON_ASSERT_MESSAGE(\n      type_ == nullValue || type_ == objectValue,\n      \"in Json::Value::find(key, end, found): requires objectValue or nullValue\");\n  if (type_ == nullValue) return NULL;\n  CZString actualKey(key, static_cast<unsigned>(cend-key), CZString::noDuplication);\n  ObjectValues::const_iterator it = value_.map_->find(actualKey);\n  if (it == value_.map_->end()) return NULL;\n  return &(*it).second;\n}\nconst Value& Value::operator[](const char* key) const\n{\n  Value const* found = find(key, key + strlen(key));\n  if (!found) return nullRef;\n  return *found;\n}\nValue const& Value::operator[](JSONCPP_STRING const& key) const\n{\n  Value const* found = find(key.data(), key.data() + key.length());\n  if (!found) return nullRef;\n  return *found;\n}\n\nValue& Value::operator[](const char* key) {\n  return resolveReference(key, key + strlen(key));\n}\n\nValue& Value::operator[](const JSONCPP_STRING& key) {\n  return resolveReference(key.data(), key.data() + key.length());\n}\n\nValue& Value::operator[](const StaticString& key) {\n  return resolveReference(key.c_str());\n}\n\n#ifdef JSON_USE_CPPTL\nValue& Value::operator[](const CppTL::ConstString& key) {\n  return resolveReference(key.c_str(), key.end_c_str());\n}\nValue const& Value::operator[](CppTL::ConstString const& key) const\n{\n  Value const* found = find(key.c_str(), key.end_c_str());\n  if (!found) return nullRef;\n  return *found;\n}\n#endif\n\nValue& Value::append(const Value& value) { return (*this)[size()] = value; }\n\nValue Value::get(char const* key, char const* cend, Value const& defaultValue) const\n{\n  Value const* found = find(key, cend);\n  return !found ? defaultValue : *found;\n}\nValue Value::get(char const* key, Value const& defaultValue) const\n{\n  return get(key, key + strlen(key), defaultValue);\n}\nValue Value::get(JSONCPP_STRING const& key, Value const& defaultValue) const\n{\n  return get(key.data(), key.data() + key.length(), defaultValue);\n}\n\n\nbool Value::removeMember(const char* key, const char* cend, Value* removed)\n{\n  if (type_ != objectValue) {\n    return false;\n  }\n  CZString actualKey(key, static_cast<unsigned>(cend-key), CZString::noDuplication);\n  ObjectValues::iterator it = value_.map_->find(actualKey);\n  if (it == value_.map_->end())\n    return false;\n  *removed = it->second;\n  value_.map_->erase(it);\n  return true;\n}\nbool Value::removeMember(const char* key, Value* removed)\n{\n  return removeMember(key, key + strlen(key), removed);\n}\nbool Value::removeMember(JSONCPP_STRING const& key, Value* removed)\n{\n  return removeMember(key.data(), key.data() + key.length(), removed);\n}\nValue Value::removeMember(const char* key)\n{\n  JSON_ASSERT_MESSAGE(type_ == nullValue || type_ == objectValue,\n                      \"in Json::Value::removeMember(): requires objectValue\");\n  if (type_ == nullValue)\n    return nullRef;\n\n  Value removed;  // null\n  removeMember(key, key + strlen(key), &removed);\n  return removed; // still null if removeMember() did nothing\n}\nValue Value::removeMember(const JSONCPP_STRING& key)\n{\n  return removeMember(key.c_str());\n}\n\nbool Value::removeIndex(ArrayIndex index, Value* removed) {\n  if (type_ != arrayValue) {\n    return false;\n  }\n  CZString key(index);\n  ObjectValues::iterator it = value_.map_->find(key);\n  if (it == value_.map_->end()) {\n    return false;\n  }\n  *removed = it->second;\n  ArrayIndex oldSize = size();\n  // shift left all items left, into the place of the \"removed\"\n  for (ArrayIndex i = index; i < (oldSize - 1); ++i){\n    CZString keey(i);\n    (*value_.map_)[keey] = (*this)[i + 1];\n  }\n  // erase the last one (\"leftover\")\n  CZString keyLast(oldSize - 1);\n  ObjectValues::iterator itLast = value_.map_->find(keyLast);\n  value_.map_->erase(itLast);\n  return true;\n}\n\n#ifdef JSON_USE_CPPTL\nValue Value::get(const CppTL::ConstString& key,\n                 const Value& defaultValue) const {\n  return get(key.c_str(), key.end_c_str(), defaultValue);\n}\n#endif\n\nbool Value::isMember(char const* key, char const* cend) const\n{\n  Value const* value = find(key, cend);\n  return NULL != value;\n}\nbool Value::isMember(char const* key) const\n{\n  return isMember(key, key + strlen(key));\n}\nbool Value::isMember(JSONCPP_STRING const& key) const\n{\n  return isMember(key.data(), key.data() + key.length());\n}\n\n#ifdef JSON_USE_CPPTL\nbool Value::isMember(const CppTL::ConstString& key) const {\n  return isMember(key.c_str(), key.end_c_str());\n}\n#endif\n\nValue::Members Value::getMemberNames() const {\n  JSON_ASSERT_MESSAGE(\n      type_ == nullValue || type_ == objectValue,\n      \"in Json::Value::getMemberNames(), value must be objectValue\");\n  if (type_ == nullValue)\n    return Value::Members();\n  Members members;\n  members.reserve(value_.map_->size());\n  ObjectValues::const_iterator it = value_.map_->begin();\n  ObjectValues::const_iterator itEnd = value_.map_->end();\n  for (; it != itEnd; ++it) {\n    members.push_back(JSONCPP_STRING((*it).first.data(),\n                                  (*it).first.length()));\n  }\n  return members;\n}\n//\n//# ifdef JSON_USE_CPPTL\n// EnumMemberNames\n// Value::enumMemberNames() const\n//{\n//   if ( type_ == objectValue )\n//   {\n//      return CppTL::Enum::any(  CppTL::Enum::transform(\n//         CppTL::Enum::keys( *(value_.map_), CppTL::Type<const CZString &>() ),\n//         MemberNamesTransform() ) );\n//   }\n//   return EnumMemberNames();\n//}\n//\n//\n// EnumValues\n// Value::enumValues() const\n//{\n//   if ( type_ == objectValue  ||  type_ == arrayValue )\n//      return CppTL::Enum::anyValues( *(value_.map_),\n//                                     CppTL::Type<const Value &>() );\n//   return EnumValues();\n//}\n//\n//# endif\n\nstatic bool IsIntegral(double d) {\n  double integral_part;\n  return modf(d, &integral_part) == 0.0;\n}\n\nbool Value::isNull() const { return type_ == nullValue; }\n\nbool Value::isBool() const { return type_ == booleanValue; }\n\nbool Value::isInt() const {\n  switch (type_) {\n  case intValue:\n    return value_.int_ >= minInt && value_.int_ <= maxInt;\n  case uintValue:\n    return value_.uint_ <= UInt(maxInt);\n  case realValue:\n    return value_.real_ >= minInt && value_.real_ <= maxInt &&\n           IsIntegral(value_.real_);\n  default:\n    break;\n  }\n  return false;\n}\n\nbool Value::isUInt() const {\n  switch (type_) {\n  case intValue:\n    return value_.int_ >= 0 && LargestUInt(value_.int_) <= LargestUInt(maxUInt);\n  case uintValue:\n    return value_.uint_ <= maxUInt;\n  case realValue:\n    return value_.real_ >= 0 && value_.real_ <= maxUInt &&\n           IsIntegral(value_.real_);\n  default:\n    break;\n  }\n  return false;\n}\n\nbool Value::isInt64() const {\n#if defined(JSON_HAS_INT64)\n  switch (type_) {\n  case intValue:\n    return true;\n  case uintValue:\n    return value_.uint_ <= UInt64(maxInt64);\n  case realValue:\n    // Note that maxInt64 (= 2^63 - 1) is not exactly representable as a\n    // double, so double(maxInt64) will be rounded up to 2^63. Therefore we\n    // require the value to be strictly less than the limit.\n    return value_.real_ >= double(minInt64) &&\n           value_.real_ < double(maxInt64) && IsIntegral(value_.real_);\n  default:\n    break;\n  }\n#endif // JSON_HAS_INT64\n  return false;\n}\n\nbool Value::isUInt64() const {\n#if defined(JSON_HAS_INT64)\n  switch (type_) {\n  case intValue:\n    return value_.int_ >= 0;\n  case uintValue:\n    return true;\n  case realValue:\n    // Note that maxUInt64 (= 2^64 - 1) is not exactly representable as a\n    // double, so double(maxUInt64) will be rounded up to 2^64. Therefore we\n    // require the value to be strictly less than the limit.\n    return value_.real_ >= 0 && value_.real_ < maxUInt64AsDouble &&\n           IsIntegral(value_.real_);\n  default:\n    break;\n  }\n#endif // JSON_HAS_INT64\n  return false;\n}\n\nbool Value::isIntegral() const {\n#if defined(JSON_HAS_INT64)\n  return isInt64() || isUInt64();\n#else\n  return isInt() || isUInt();\n#endif\n}\n\nbool Value::isDouble() const { return type_ == realValue || isIntegral(); }\n\nbool Value::isNumeric() const { return isIntegral() || isDouble(); }\n\nbool Value::isString() const { return type_ == stringValue; }\n\nbool Value::isArray() const { return type_ == arrayValue; }\n\nbool Value::isObject() const { return type_ == objectValue; }\n\nvoid Value::setComment(const char* comment, size_t len, CommentPlacement placement) {\n  if (!comments_)\n    comments_ = new CommentInfo[numberOfCommentPlacement];\n  if ((len > 0) && (comment[len-1] == '\\n')) {\n    // Always discard trailing newline, to aid indentation.\n    len -= 1;\n  }\n  comments_[placement].setComment(comment, len);\n}\n\nvoid Value::setComment(const char* comment, CommentPlacement placement) {\n  setComment(comment, strlen(comment), placement);\n}\n\nvoid Value::setComment(const JSONCPP_STRING& comment, CommentPlacement placement) {\n  setComment(comment.c_str(), comment.length(), placement);\n}\n\nbool Value::hasComment(CommentPlacement placement) const {\n  return comments_ != 0 && comments_[placement].comment_ != 0;\n}\n\nJSONCPP_STRING Value::getComment(CommentPlacement placement) const {\n  if (hasComment(placement))\n    return comments_[placement].comment_;\n  return \"\";\n}\n\nvoid Value::setOffsetStart(ptrdiff_t start) { start_ = start; }\n\nvoid Value::setOffsetLimit(ptrdiff_t limit) { limit_ = limit; }\n\nptrdiff_t Value::getOffsetStart() const { return start_; }\n\nptrdiff_t Value::getOffsetLimit() const { return limit_; }\n\nJSONCPP_STRING Value::toStyledString() const {\n  StyledWriter writer;\n  return writer.write(*this);\n}\n\nValue::const_iterator Value::begin() const {\n  switch (type_) {\n  case arrayValue:\n  case objectValue:\n    if (value_.map_)\n      return const_iterator(value_.map_->begin());\n    break;\n  default:\n    break;\n  }\n  return const_iterator();\n}\n\nValue::const_iterator Value::end() const {\n  switch (type_) {\n  case arrayValue:\n  case objectValue:\n    if (value_.map_)\n      return const_iterator(value_.map_->end());\n    break;\n  default:\n    break;\n  }\n  return const_iterator();\n}\n\nValue::iterator Value::begin() {\n  switch (type_) {\n  case arrayValue:\n  case objectValue:\n    if (value_.map_)\n      return iterator(value_.map_->begin());\n    break;\n  default:\n    break;\n  }\n  return iterator();\n}\n\nValue::iterator Value::end() {\n  switch (type_) {\n  case arrayValue:\n  case objectValue:\n    if (value_.map_)\n      return iterator(value_.map_->end());\n    break;\n  default:\n    break;\n  }\n  return iterator();\n}\n\n// class PathArgument\n// //////////////////////////////////////////////////////////////////\n\nPathArgument::PathArgument() : key_(), index_(), kind_(kindNone) {}\n\nPathArgument::PathArgument(ArrayIndex index)\n    : key_(), index_(index), kind_(kindIndex) {}\n\nPathArgument::PathArgument(const char* key)\n    : key_(key), index_(), kind_(kindKey) {}\n\nPathArgument::PathArgument(const JSONCPP_STRING& key)\n    : key_(key.c_str()), index_(), kind_(kindKey) {}\n\n// class Path\n// //////////////////////////////////////////////////////////////////\n\nPath::Path(const JSONCPP_STRING& path,\n           const PathArgument& a1,\n           const PathArgument& a2,\n           const PathArgument& a3,\n           const PathArgument& a4,\n           const PathArgument& a5) {\n  InArgs in;\n  in.push_back(&a1);\n  in.push_back(&a2);\n  in.push_back(&a3);\n  in.push_back(&a4);\n  in.push_back(&a5);\n  makePath(path, in);\n}\n\nvoid Path::makePath(const JSONCPP_STRING& path, const InArgs& in) {\n  const char* current = path.c_str();\n  const char* end = current + path.length();\n  InArgs::const_iterator itInArg = in.begin();\n  while (current != end) {\n    if (*current == '[') {\n      ++current;\n      if (*current == '%')\n        addPathInArg(path, in, itInArg, PathArgument::kindIndex);\n      else {\n        ArrayIndex index = 0;\n        for (; current != end && *current >= '0' && *current <= '9'; ++current)\n          index = index * 10 + ArrayIndex(*current - '0');\n        args_.push_back(index);\n      }\n      if (current == end || *current++ != ']')\n        invalidPath(path, int(current - path.c_str()));\n    } else if (*current == '%') {\n      addPathInArg(path, in, itInArg, PathArgument::kindKey);\n      ++current;\n    } else if (*current == '.') {\n      ++current;\n    } else {\n      const char* beginName = current;\n      while (current != end && !strchr(\"[.\", *current))\n        ++current;\n      args_.push_back(JSONCPP_STRING(beginName, current));\n    }\n  }\n}\n\nvoid Path::addPathInArg(const JSONCPP_STRING& /*path*/,\n                        const InArgs& in,\n                        InArgs::const_iterator& itInArg,\n                        PathArgument::Kind kind) {\n  if (itInArg == in.end()) {\n    // Error: missing argument %d\n  } else if ((*itInArg)->kind_ != kind) {\n    // Error: bad argument type\n  } else {\n    args_.push_back(**itInArg);\n  }\n}\n\nvoid Path::invalidPath(const JSONCPP_STRING& /*path*/, int /*location*/) {\n  // Error: invalid path.\n}\n\nconst Value& Path::resolve(const Value& root) const {\n  const Value* node = &root;\n  for (Args::const_iterator it = args_.begin(); it != args_.end(); ++it) {\n    const PathArgument& arg = *it;\n    if (arg.kind_ == PathArgument::kindIndex) {\n      if (!node->isArray() || !node->isValidIndex(arg.index_)) {\n        // Error: unable to resolve path (array value expected at position...\n      }\n      node = &((*node)[arg.index_]);\n    } else if (arg.kind_ == PathArgument::kindKey) {\n      if (!node->isObject()) {\n        // Error: unable to resolve path (object value expected at position...)\n      }\n      node = &((*node)[arg.key_]);\n      if (node == &Value::nullRef) {\n        // Error: unable to resolve path (object has no member named '' at\n        // position...)\n      }\n    }\n  }\n  return *node;\n}\n\nValue Path::resolve(const Value& root, const Value& defaultValue) const {\n  const Value* node = &root;\n  for (Args::const_iterator it = args_.begin(); it != args_.end(); ++it) {\n    const PathArgument& arg = *it;\n    if (arg.kind_ == PathArgument::kindIndex) {\n      if (!node->isArray() || !node->isValidIndex(arg.index_))\n        return defaultValue;\n      node = &((*node)[arg.index_]);\n    } else if (arg.kind_ == PathArgument::kindKey) {\n      if (!node->isObject())\n        return defaultValue;\n      node = &((*node)[arg.key_]);\n      if (node == &Value::nullRef)\n        return defaultValue;\n    }\n  }\n  return *node;\n}\n\nValue& Path::make(Value& root) const {\n  Value* node = &root;\n  for (Args::const_iterator it = args_.begin(); it != args_.end(); ++it) {\n    const PathArgument& arg = *it;\n    if (arg.kind_ == PathArgument::kindIndex) {\n      if (!node->isArray()) {\n        // Error: node is not an array at position ...\n      }\n      node = &((*node)[arg.index_]);\n    } else if (arg.kind_ == PathArgument::kindKey) {\n      if (!node->isObject()) {\n        // Error: node is not an object at position...\n      }\n      node = &((*node)[arg.key_]);\n    }\n  }\n  return *node;\n}\n\n} // namespace Json\n\n// //////////////////////////////////////////////////////////////////////\n// End of content of file: src/lib_json/json_value.cpp\n// //////////////////////////////////////////////////////////////////////\n\n\n\n\n\n\n// //////////////////////////////////////////////////////////////////////\n// Beginning of content of file: src/lib_json/json_writer.cpp\n// //////////////////////////////////////////////////////////////////////\n\n// Copyright 2011 Baptiste Lepilleur\n// Distributed under MIT license, or public domain if desired and\n// recognized in your jurisdiction.\n// See file LICENSE for detail or copy at http://jsoncpp.sourceforge.net/LICENSE\n\n#if !defined(JSON_IS_AMALGAMATION)\n#include <json/writer.h>\n#include \"json_tool.h\"\n#endif // if !defined(JSON_IS_AMALGAMATION)\n#include <iomanip>\n#include <memory>\n#include <sstream>\n#include <utility>\n#include <set>\n#include <cassert>\n#include <cstring>\n#include <cstdio>\n\n#if defined(_MSC_VER) && _MSC_VER >= 1200 && _MSC_VER < 1800 // Between VC++ 6.0 and VC++ 11.0\n#include <float.h>\n#define isfinite _finite\n#elif defined(__sun) && defined(__SVR4) //Solaris\n#if !defined(isfinite)\n#include <ieeefp.h>\n#define isfinite finite\n#endif\n#elif defined(_AIX)\n#if !defined(isfinite)\n#include <math.h>\n#define isfinite finite\n#endif\n#elif defined(__hpux)\n#if !defined(isfinite)\n#if defined(__ia64) && !defined(finite)\n#define isfinite(x) ((sizeof(x) == sizeof(float) ? \\\n                     _Isfinitef(x) : _IsFinite(x)))\n#else\n#include <math.h>\n#define isfinite finite\n#endif\n#endif\n#else\n#include <cmath>\n#if !(defined(__QNXNTO__)) // QNX already defines isfinite\n#define isfinite std::isfinite\n#endif\n#endif\n\n#if defined(_MSC_VER)\n#if !defined(WINCE) && defined(__STDC_SECURE_LIB__) && _MSC_VER >= 1500 // VC++ 9.0 and above\n#define snprintf sprintf_s\n#elif _MSC_VER >= 1900 // VC++ 14.0 and above\n#define snprintf std::snprintf\n#else\n#define snprintf _snprintf\n#endif\n#elif defined(__ANDROID__) || defined(__QNXNTO__)\n#define snprintf snprintf\n#elif __cplusplus >= 201103L\n#if !defined(__MINGW32__) && !defined(__CYGWIN__)\n// #define snprintf std::snprintf\n#endif\n#endif\n\n#if defined(__BORLANDC__)  \n#include <float.h>\n#define isfinite _finite\n#define snprintf _snprintf\n#endif\n\n#if defined(_MSC_VER) && _MSC_VER >= 1400 // VC++ 8.0\n// Disable warning about strdup being deprecated.\n#pragma warning(disable : 4996)\n#endif\n\nnamespace Json {\n\n#if __cplusplus >= 201103L || (defined(_CPPLIB_VER) && _CPPLIB_VER >= 520)\ntypedef std::unique_ptr<StreamWriter> StreamWriterPtr;\n#else\ntypedef std::auto_ptr<StreamWriter>   StreamWriterPtr;\n#endif\n\nstatic bool containsControlCharacter(const char* str) {\n  while (*str) {\n    if (isControlCharacter(*(str++)))\n      return true;\n  }\n  return false;\n}\n\nstatic bool containsControlCharacter0(const char* str, unsigned len) {\n  char const* end = str + len;\n  while (end != str) {\n    if (isControlCharacter(*str) || 0==*str)\n      return true;\n    ++str;\n  }\n  return false;\n}\n\nJSONCPP_STRING valueToString(LargestInt value) {\n  UIntToStringBuffer buffer;\n  char* current = buffer + sizeof(buffer);\n  if (value == Value::minLargestInt) {\n    uintToString(LargestUInt(Value::maxLargestInt) + 1, current);\n    *--current = '-';\n  } else if (value < 0) {\n    uintToString(LargestUInt(-value), current);\n    *--current = '-';\n  } else {\n    uintToString(LargestUInt(value), current);\n  }\n  assert(current >= buffer);\n  return current;\n}\n\nJSONCPP_STRING valueToString(LargestUInt value) {\n  UIntToStringBuffer buffer;\n  char* current = buffer + sizeof(buffer);\n  uintToString(value, current);\n  assert(current >= buffer);\n  return current;\n}\n\n#if defined(JSON_HAS_INT64)\n\nJSONCPP_STRING valueToString(Int value) {\n  return valueToString(LargestInt(value));\n}\n\nJSONCPP_STRING valueToString(UInt value) {\n  return valueToString(LargestUInt(value));\n}\n\n#endif // # if defined(JSON_HAS_INT64)\n\nJSONCPP_STRING valueToString(double value, bool useSpecialFloats, unsigned int precision) {\n  // Allocate a buffer that is more than large enough to store the 16 digits of\n  // precision requested below.\n  char buffer[32];\n  int len = -1;\n\n  char formatString[6];\n  sprintf(formatString, \"%%.%dg\", precision);\n\n  // Print into the buffer. We need not request the alternative representation\n  // that always has a decimal point because JSON doesn't distingish the\n  // concepts of reals and integers.\n  if (isfinite(value)) {\n    len = snprintf(buffer, sizeof(buffer), formatString, value);\n  } else {\n    // IEEE standard states that NaN values will not compare to themselves\n    if (value != value) {\n      len = snprintf(buffer, sizeof(buffer), useSpecialFloats ? \"NaN\" : \"null\");\n    } else if (value < 0) {\n      len = snprintf(buffer, sizeof(buffer), useSpecialFloats ? \"-Infinity\" : \"-1e+9999\");\n    } else {\n      len = snprintf(buffer, sizeof(buffer), useSpecialFloats ? \"Infinity\" : \"1e+9999\");\n    }\n    // For those, we do not need to call fixNumLoc, but it is fast.\n  }\n  assert(len >= 0);\n  fixNumericLocale(buffer, buffer + len);\n  return buffer;\n}\n\nJSONCPP_STRING valueToString(double value) { return valueToString(value, false, 17); }\n\nJSONCPP_STRING valueToString(bool value) { return value ? \"true\" : \"false\"; }\n\nJSONCPP_STRING valueToQuotedString(const char* value) {\n  if (value == NULL)\n    return \"\";\n  // Not sure how to handle unicode...\n  if (strpbrk(value, \"\\\"\\\\\\b\\f\\n\\r\\t\") == NULL &&\n      !containsControlCharacter(value))\n    return JSONCPP_STRING(\"\\\"\") + value + \"\\\"\";\n  // We have to walk value and escape any special characters.\n  // Appending to JSONCPP_STRING is not efficient, but this should be rare.\n  // (Note: forward slashes are *not* rare, but I am not escaping them.)\n  JSONCPP_STRING::size_type maxsize =\n      strlen(value) * 2 + 3; // allescaped+quotes+NULL\n  JSONCPP_STRING result;\n  result.reserve(maxsize); // to avoid lots of mallocs\n  result += \"\\\"\";\n  for (const char* c = value; *c != 0; ++c) {\n    switch (*c) {\n    case '\\\"':\n      result += \"\\\\\\\"\";\n      break;\n    case '\\\\':\n      result += \"\\\\\\\\\";\n      break;\n    case '\\b':\n      result += \"\\\\b\";\n      break;\n    case '\\f':\n      result += \"\\\\f\";\n      break;\n    case '\\n':\n      result += \"\\\\n\";\n      break;\n    case '\\r':\n      result += \"\\\\r\";\n      break;\n    case '\\t':\n      result += \"\\\\t\";\n      break;\n    // case '/':\n    // Even though \\/ is considered a legal escape in JSON, a bare\n    // slash is also legal, so I see no reason to escape it.\n    // (I hope I am not misunderstanding something.\n    // blep notes: actually escaping \\/ may be useful in javascript to avoid </\n    // sequence.\n    // Should add a flag to allow this compatibility mode and prevent this\n    // sequence from occurring.\n    default:\n      if (isControlCharacter(*c)) {\n        JSONCPP_OSTRINGSTREAM oss;\n        oss << \"\\\\u\" << std::hex << std::uppercase << std::setfill('0')\n            << std::setw(4) << static_cast<int>(*c);\n        result += oss.str();\n      } else {\n        result += *c;\n      }\n      break;\n    }\n  }\n  result += \"\\\"\";\n  return result;\n}\n\n// https://github.com/upcaste/upcaste/blob/master/src/upcore/src/cstring/strnpbrk.cpp\nstatic char const* strnpbrk(char const* s, char const* accept, size_t n) {\n  assert((s || !n) && accept);\n\n  char const* const end = s + n;\n  for (char const* cur = s; cur < end; ++cur) {\n    int const c = *cur;\n    for (char const* a = accept; *a; ++a) {\n      if (*a == c) {\n        return cur;\n      }\n    }\n  }\n  return NULL;\n}\nstatic JSONCPP_STRING valueToQuotedStringN(const char* value, unsigned length) {\n  if (value == NULL)\n    return \"\";\n  // Not sure how to handle unicode...\n  if (strnpbrk(value, \"\\\"\\\\\\b\\f\\n\\r\\t\", length) == NULL &&\n      !containsControlCharacter0(value, length))\n    return JSONCPP_STRING(\"\\\"\") + value + \"\\\"\";\n  // We have to walk value and escape any special characters.\n  // Appending to JSONCPP_STRING is not efficient, but this should be rare.\n  // (Note: forward slashes are *not* rare, but I am not escaping them.)\n  JSONCPP_STRING::size_type maxsize =\n      length * 2 + 3; // allescaped+quotes+NULL\n  JSONCPP_STRING result;\n  result.reserve(maxsize); // to avoid lots of mallocs\n  result += \"\\\"\";\n  char const* end = value + length;\n  for (const char* c = value; c != end; ++c) {\n    switch (*c) {\n    case '\\\"':\n      result += \"\\\\\\\"\";\n      break;\n    case '\\\\':\n      result += \"\\\\\\\\\";\n      break;\n    case '\\b':\n      result += \"\\\\b\";\n      break;\n    case '\\f':\n      result += \"\\\\f\";\n      break;\n    case '\\n':\n      result += \"\\\\n\";\n      break;\n    case '\\r':\n      result += \"\\\\r\";\n      break;\n    case '\\t':\n      result += \"\\\\t\";\n      break;\n    // case '/':\n    // Even though \\/ is considered a legal escape in JSON, a bare\n    // slash is also legal, so I see no reason to escape it.\n    // (I hope I am not misunderstanding something.)\n    // blep notes: actually escaping \\/ may be useful in javascript to avoid </\n    // sequence.\n    // Should add a flag to allow this compatibility mode and prevent this\n    // sequence from occurring.\n    default:\n      if ((isControlCharacter(*c)) || (*c == 0)) {\n        JSONCPP_OSTRINGSTREAM oss;\n        oss << \"\\\\u\" << std::hex << std::uppercase << std::setfill('0')\n            << std::setw(4) << static_cast<int>(*c);\n        result += oss.str();\n      } else {\n        result += *c;\n      }\n      break;\n    }\n  }\n  result += \"\\\"\";\n  return result;\n}\n\n// Class Writer\n// //////////////////////////////////////////////////////////////////\nWriter::~Writer() {}\n\n// Class FastWriter\n// //////////////////////////////////////////////////////////////////\n\nFastWriter::FastWriter()\n    : yamlCompatiblityEnabled_(false), dropNullPlaceholders_(false),\n      omitEndingLineFeed_(false) {}\n\nvoid FastWriter::enableYAMLCompatibility() { yamlCompatiblityEnabled_ = true; }\n\nvoid FastWriter::dropNullPlaceholders() { dropNullPlaceholders_ = true; }\n\nvoid FastWriter::omitEndingLineFeed() { omitEndingLineFeed_ = true; }\n\nJSONCPP_STRING FastWriter::write(const Value& root) {\n  document_ = \"\";\n  writeValue(root);\n  if (!omitEndingLineFeed_)\n    document_ += \"\\n\";\n  return document_;\n}\n\nvoid FastWriter::writeValue(const Value& value) {\n  switch (value.type()) {\n  case nullValue:\n    if (!dropNullPlaceholders_)\n      document_ += \"null\";\n    break;\n  case intValue:\n    document_ += valueToString(value.asLargestInt());\n    break;\n  case uintValue:\n    document_ += valueToString(value.asLargestUInt());\n    break;\n  case realValue:\n    document_ += valueToString(value.asDouble());\n    break;\n  case stringValue:\n  {\n    // Is NULL possible for value.string_?\n    char const* str;\n    char const* end;\n    bool ok = value.getString(&str, &end);\n    if (ok) document_ += valueToQuotedStringN(str, static_cast<unsigned>(end-str));\n    break;\n  }\n  case booleanValue:\n    document_ += valueToString(value.asBool());\n    break;\n  case arrayValue: {\n    document_ += '[';\n    ArrayIndex size = value.size();\n    for (ArrayIndex index = 0; index < size; ++index) {\n      if (index > 0)\n        document_ += ',';\n      writeValue(value[index]);\n    }\n    document_ += ']';\n  } break;\n  case objectValue: {\n    Value::Members members(value.getMemberNames());\n    document_ += '{';\n    for (Value::Members::iterator it = members.begin(); it != members.end();\n         ++it) {\n      const JSONCPP_STRING& name = *it;\n      if (it != members.begin())\n        document_ += ',';\n      document_ += valueToQuotedStringN(name.data(), static_cast<unsigned>(name.length()));\n      document_ += yamlCompatiblityEnabled_ ? \": \" : \":\";\n      writeValue(value[name]);\n    }\n    document_ += '}';\n  } break;\n  }\n}\n\n// Class StyledWriter\n// //////////////////////////////////////////////////////////////////\n\nStyledWriter::StyledWriter()\n    : rightMargin_(74), indentSize_(3), addChildValues_() {}\n\nJSONCPP_STRING StyledWriter::write(const Value& root) {\n  document_ = \"\";\n  addChildValues_ = false;\n  indentString_ = \"\";\n  writeCommentBeforeValue(root);\n  writeValue(root);\n  writeCommentAfterValueOnSameLine(root);\n  document_ += \"\\n\";\n  return document_;\n}\n\nvoid StyledWriter::writeValue(const Value& value) {\n  switch (value.type()) {\n  case nullValue:\n    pushValue(\"null\");\n    break;\n  case intValue:\n    pushValue(valueToString(value.asLargestInt()));\n    break;\n  case uintValue:\n    pushValue(valueToString(value.asLargestUInt()));\n    break;\n  case realValue:\n    pushValue(valueToString(value.asDouble()));\n    break;\n  case stringValue:\n  {\n    // Is NULL possible for value.string_?\n    char const* str;\n    char const* end;\n    bool ok = value.getString(&str, &end);\n    if (ok) pushValue(valueToQuotedStringN(str, static_cast<unsigned>(end-str)));\n    else pushValue(\"\");\n    break;\n  }\n  case booleanValue:\n    pushValue(valueToString(value.asBool()));\n    break;\n  case arrayValue:\n    writeArrayValue(value);\n    break;\n  case objectValue: {\n    Value::Members members(value.getMemberNames());\n    if (members.empty())\n      pushValue(\"{}\");\n    else {\n      writeWithIndent(\"{\");\n      indent();\n      Value::Members::iterator it = members.begin();\n      for (;;) {\n        const JSONCPP_STRING& name = *it;\n        const Value& childValue = value[name];\n        writeCommentBeforeValue(childValue);\n        writeWithIndent(valueToQuotedString(name.c_str()));\n        document_ += \" : \";\n        writeValue(childValue);\n        if (++it == members.end()) {\n          writeCommentAfterValueOnSameLine(childValue);\n          break;\n        }\n        document_ += ',';\n        writeCommentAfterValueOnSameLine(childValue);\n      }\n      unindent();\n      writeWithIndent(\"}\");\n    }\n  } break;\n  }\n}\n\nvoid StyledWriter::writeArrayValue(const Value& value) {\n  unsigned size = value.size();\n  if (size == 0)\n    pushValue(\"[]\");\n  else {\n    bool isArrayMultiLine = isMultineArray(value);\n    if (isArrayMultiLine) {\n      writeWithIndent(\"[\");\n      indent();\n      bool hasChildValue = !childValues_.empty();\n      unsigned index = 0;\n      for (;;) {\n        const Value& childValue = value[index];\n        writeCommentBeforeValue(childValue);\n        if (hasChildValue)\n          writeWithIndent(childValues_[index]);\n        else {\n          writeIndent();\n          writeValue(childValue);\n        }\n        if (++index == size) {\n          writeCommentAfterValueOnSameLine(childValue);\n          break;\n        }\n        document_ += ',';\n        writeCommentAfterValueOnSameLine(childValue);\n      }\n      unindent();\n      writeWithIndent(\"]\");\n    } else // output on a single line\n    {\n      assert(childValues_.size() == size);\n      document_ += \"[ \";\n      for (unsigned index = 0; index < size; ++index) {\n        if (index > 0)\n          document_ += \", \";\n        document_ += childValues_[index];\n      }\n      document_ += \" ]\";\n    }\n  }\n}\n\nbool StyledWriter::isMultineArray(const Value& value) {\n  ArrayIndex const size = value.size();\n  bool isMultiLine = size * 3 >= rightMargin_;\n  childValues_.clear();\n  for (ArrayIndex index = 0; index < size && !isMultiLine; ++index) {\n    const Value& childValue = value[index];\n    isMultiLine = ((childValue.isArray() || childValue.isObject()) &&\n                        childValue.size() > 0);\n  }\n  if (!isMultiLine) // check if line length > max line length\n  {\n    childValues_.reserve(size);\n    addChildValues_ = true;\n    ArrayIndex lineLength = 4 + (size - 1) * 2; // '[ ' + ', '*n + ' ]'\n    for (ArrayIndex index = 0; index < size; ++index) {\n      if (hasCommentForValue(value[index])) {\n        isMultiLine = true;\n      }\n      writeValue(value[index]);\n      lineLength += static_cast<ArrayIndex>(childValues_[index].length());\n    }\n    addChildValues_ = false;\n    isMultiLine = isMultiLine || lineLength >= rightMargin_;\n  }\n  return isMultiLine;\n}\n\nvoid StyledWriter::pushValue(const JSONCPP_STRING& value) {\n  if (addChildValues_)\n    childValues_.push_back(value);\n  else\n    document_ += value;\n}\n\nvoid StyledWriter::writeIndent() {\n  if (!document_.empty()) {\n    char last = document_[document_.length() - 1];\n    if (last == ' ') // already indented\n      return;\n    if (last != '\\n') // Comments may add new-line\n      document_ += '\\n';\n  }\n  document_ += indentString_;\n}\n\nvoid StyledWriter::writeWithIndent(const JSONCPP_STRING& value) {\n  writeIndent();\n  document_ += value;\n}\n\nvoid StyledWriter::indent() { indentString_ += JSONCPP_STRING(indentSize_, ' '); }\n\nvoid StyledWriter::unindent() {\n  assert(indentString_.size() >= indentSize_);\n  indentString_.resize(indentString_.size() - indentSize_);\n}\n\nvoid StyledWriter::writeCommentBeforeValue(const Value& root) {\n  if (!root.hasComment(commentBefore))\n    return;\n\n  document_ += \"\\n\";\n  writeIndent();\n  const JSONCPP_STRING& comment = root.getComment(commentBefore);\n  JSONCPP_STRING::const_iterator iter = comment.begin();\n  while (iter != comment.end()) {\n    document_ += *iter;\n    if (*iter == '\\n' &&\n       (iter != comment.end() && *(iter + 1) == '/'))\n      writeIndent();\n    ++iter;\n  }\n\n  // Comments are stripped of trailing newlines, so add one here\n  document_ += \"\\n\";\n}\n\nvoid StyledWriter::writeCommentAfterValueOnSameLine(const Value& root) {\n  if (root.hasComment(commentAfterOnSameLine))\n    document_ += \" \" + root.getComment(commentAfterOnSameLine);\n\n  if (root.hasComment(commentAfter)) {\n    document_ += \"\\n\";\n    document_ += root.getComment(commentAfter);\n    document_ += \"\\n\";\n  }\n}\n\nbool StyledWriter::hasCommentForValue(const Value& value) {\n  return value.hasComment(commentBefore) ||\n         value.hasComment(commentAfterOnSameLine) ||\n         value.hasComment(commentAfter);\n}\n\n// Class StyledStreamWriter\n// //////////////////////////////////////////////////////////////////\n\nStyledStreamWriter::StyledStreamWriter(JSONCPP_STRING indentation)\n    : document_(NULL), rightMargin_(74), indentation_(indentation),\n      addChildValues_() {}\n\nvoid StyledStreamWriter::write(JSONCPP_OSTREAM& out, const Value& root) {\n  document_ = &out;\n  addChildValues_ = false;\n  indentString_ = \"\";\n  indented_ = true;\n  writeCommentBeforeValue(root);\n  if (!indented_) writeIndent();\n  indented_ = true;\n  writeValue(root);\n  writeCommentAfterValueOnSameLine(root);\n  *document_ << \"\\n\";\n  document_ = NULL; // Forget the stream, for safety.\n}\n\nvoid StyledStreamWriter::writeValue(const Value& value) {\n  switch (value.type()) {\n  case nullValue:\n    pushValue(\"null\");\n    break;\n  case intValue:\n    pushValue(valueToString(value.asLargestInt()));\n    break;\n  case uintValue:\n    pushValue(valueToString(value.asLargestUInt()));\n    break;\n  case realValue:\n    pushValue(valueToString(value.asDouble()));\n    break;\n  case stringValue:\n  {\n    // Is NULL possible for value.string_?\n    char const* str;\n    char const* end;\n    bool ok = value.getString(&str, &end);\n    if (ok) pushValue(valueToQuotedStringN(str, static_cast<unsigned>(end-str)));\n    else pushValue(\"\");\n    break;\n  }\n  case booleanValue:\n    pushValue(valueToString(value.asBool()));\n    break;\n  case arrayValue:\n    writeArrayValue(value);\n    break;\n  case objectValue: {\n    Value::Members members(value.getMemberNames());\n    if (members.empty())\n      pushValue(\"{}\");\n    else {\n      writeWithIndent(\"{\");\n      indent();\n      Value::Members::iterator it = members.begin();\n      for (;;) {\n        const JSONCPP_STRING& name = *it;\n        const Value& childValue = value[name];\n        writeCommentBeforeValue(childValue);\n        writeWithIndent(valueToQuotedString(name.c_str()));\n        *document_ << \" : \";\n        writeValue(childValue);\n        if (++it == members.end()) {\n          writeCommentAfterValueOnSameLine(childValue);\n          break;\n        }\n        *document_ << \",\";\n        writeCommentAfterValueOnSameLine(childValue);\n      }\n      unindent();\n      writeWithIndent(\"}\");\n    }\n  } break;\n  }\n}\n\nvoid StyledStreamWriter::writeArrayValue(const Value& value) {\n  unsigned size = value.size();\n  if (size == 0)\n    pushValue(\"[]\");\n  else {\n    bool isArrayMultiLine = isMultineArray(value);\n    if (isArrayMultiLine) {\n      writeWithIndent(\"[\");\n      indent();\n      bool hasChildValue = !childValues_.empty();\n      unsigned index = 0;\n      for (;;) {\n        const Value& childValue = value[index];\n        writeCommentBeforeValue(childValue);\n        if (hasChildValue)\n          writeWithIndent(childValues_[index]);\n        else {\n          if (!indented_) writeIndent();\n          indented_ = true;\n          writeValue(childValue);\n          indented_ = false;\n        }\n        if (++index == size) {\n          writeCommentAfterValueOnSameLine(childValue);\n          break;\n        }\n        *document_ << \",\";\n        writeCommentAfterValueOnSameLine(childValue);\n      }\n      unindent();\n      writeWithIndent(\"]\");\n    } else // output on a single line\n    {\n      assert(childValues_.size() == size);\n      *document_ << \"[ \";\n      for (unsigned index = 0; index < size; ++index) {\n        if (index > 0)\n          *document_ << \", \";\n        *document_ << childValues_[index];\n      }\n      *document_ << \" ]\";\n    }\n  }\n}\n\nbool StyledStreamWriter::isMultineArray(const Value& value) {\n  ArrayIndex const size = value.size();\n  bool isMultiLine = size * 3 >= rightMargin_;\n  childValues_.clear();\n  for (ArrayIndex index = 0; index < size && !isMultiLine; ++index) {\n    const Value& childValue = value[index];\n    isMultiLine = ((childValue.isArray() || childValue.isObject()) &&\n                        childValue.size() > 0);\n  }\n  if (!isMultiLine) // check if line length > max line length\n  {\n    childValues_.reserve(size);\n    addChildValues_ = true;\n    ArrayIndex lineLength = 4 + (size - 1) * 2; // '[ ' + ', '*n + ' ]'\n    for (ArrayIndex index = 0; index < size; ++index) {\n      if (hasCommentForValue(value[index])) {\n        isMultiLine = true;\n      }\n      writeValue(value[index]);\n      lineLength += static_cast<ArrayIndex>(childValues_[index].length());\n    }\n    addChildValues_ = false;\n    isMultiLine = isMultiLine || lineLength >= rightMargin_;\n  }\n  return isMultiLine;\n}\n\nvoid StyledStreamWriter::pushValue(const JSONCPP_STRING& value) {\n  if (addChildValues_)\n    childValues_.push_back(value);\n  else\n    *document_ << value;\n}\n\nvoid StyledStreamWriter::writeIndent() {\n  // blep intended this to look at the so-far-written string\n  // to determine whether we are already indented, but\n  // with a stream we cannot do that. So we rely on some saved state.\n  // The caller checks indented_.\n  *document_ << '\\n' << indentString_;\n}\n\nvoid StyledStreamWriter::writeWithIndent(const JSONCPP_STRING& value) {\n  if (!indented_) writeIndent();\n  *document_ << value;\n  indented_ = false;\n}\n\nvoid StyledStreamWriter::indent() { indentString_ += indentation_; }\n\nvoid StyledStreamWriter::unindent() {\n  assert(indentString_.size() >= indentation_.size());\n  indentString_.resize(indentString_.size() - indentation_.size());\n}\n\nvoid StyledStreamWriter::writeCommentBeforeValue(const Value& root) {\n  if (!root.hasComment(commentBefore))\n    return;\n\n  if (!indented_) writeIndent();\n  const JSONCPP_STRING& comment = root.getComment(commentBefore);\n  JSONCPP_STRING::const_iterator iter = comment.begin();\n  while (iter != comment.end()) {\n    *document_ << *iter;\n    if (*iter == '\\n' &&\n       (iter != comment.end() && *(iter + 1) == '/'))\n      // writeIndent();  // would include newline\n      *document_ << indentString_;\n    ++iter;\n  }\n  indented_ = false;\n}\n\nvoid StyledStreamWriter::writeCommentAfterValueOnSameLine(const Value& root) {\n  if (root.hasComment(commentAfterOnSameLine))\n    *document_ << ' ' << root.getComment(commentAfterOnSameLine);\n\n  if (root.hasComment(commentAfter)) {\n    writeIndent();\n    *document_ << root.getComment(commentAfter);\n  }\n  indented_ = false;\n}\n\nbool StyledStreamWriter::hasCommentForValue(const Value& value) {\n  return value.hasComment(commentBefore) ||\n         value.hasComment(commentAfterOnSameLine) ||\n         value.hasComment(commentAfter);\n}\n\n//////////////////////////\n// BuiltStyledStreamWriter\n\n/// Scoped enums are not available until C++11.\nstruct CommentStyle {\n  /// Decide whether to write comments.\n  enum Enum {\n    None,  ///< Drop all comments.\n    Most,  ///< Recover odd behavior of previous versions (not implemented yet).\n    All  ///< Keep all comments.\n  };\n};\n\nstruct BuiltStyledStreamWriter : public StreamWriter\n{\n  BuiltStyledStreamWriter(\n      JSONCPP_STRING const& indentation,\n      CommentStyle::Enum cs,\n      JSONCPP_STRING const& colonSymbol,\n      JSONCPP_STRING const& nullSymbol,\n      JSONCPP_STRING const& endingLineFeedSymbol,\n      bool useSpecialFloats,\n      unsigned int precision);\n  int write(Value const& root, JSONCPP_OSTREAM* sout) JSONCPP_OVERRIDE;\nprivate:\n  void writeValue(Value const& value);\n  void writeArrayValue(Value const& value);\n  bool isMultineArray(Value const& value);\n  void pushValue(JSONCPP_STRING const& value);\n  void writeIndent();\n  void writeWithIndent(JSONCPP_STRING const& value);\n  void indent();\n  void unindent();\n  void writeCommentBeforeValue(Value const& root);\n  void writeCommentAfterValueOnSameLine(Value const& root);\n  static bool hasCommentForValue(const Value& value);\n\n  typedef std::vector<JSONCPP_STRING> ChildValues;\n\n  ChildValues childValues_;\n  JSONCPP_STRING indentString_;\n  unsigned int rightMargin_;\n  JSONCPP_STRING indentation_;\n  CommentStyle::Enum cs_;\n  JSONCPP_STRING colonSymbol_;\n  JSONCPP_STRING nullSymbol_;\n  JSONCPP_STRING endingLineFeedSymbol_;\n  bool addChildValues_ : 1;\n  bool indented_ : 1;\n  bool useSpecialFloats_ : 1;\n  unsigned int precision_;\n};\nBuiltStyledStreamWriter::BuiltStyledStreamWriter(\n      JSONCPP_STRING const& indentation,\n      CommentStyle::Enum cs,\n      JSONCPP_STRING const& colonSymbol,\n      JSONCPP_STRING const& nullSymbol,\n      JSONCPP_STRING const& endingLineFeedSymbol,\n      bool useSpecialFloats,\n      unsigned int precision)\n  : rightMargin_(74)\n  , indentation_(indentation)\n  , cs_(cs)\n  , colonSymbol_(colonSymbol)\n  , nullSymbol_(nullSymbol)\n  , endingLineFeedSymbol_(endingLineFeedSymbol)\n  , addChildValues_(false)\n  , indented_(false)\n  , useSpecialFloats_(useSpecialFloats)\n  , precision_(precision)\n{\n}\nint BuiltStyledStreamWriter::write(Value const& root, JSONCPP_OSTREAM* sout)\n{\n  sout_ = sout;\n  addChildValues_ = false;\n  indented_ = true;\n  indentString_ = \"\";\n  writeCommentBeforeValue(root);\n  if (!indented_) writeIndent();\n  indented_ = true;\n  writeValue(root);\n  writeCommentAfterValueOnSameLine(root);\n  *sout_ << endingLineFeedSymbol_;\n  sout_ = NULL;\n  return 0;\n}\nvoid BuiltStyledStreamWriter::writeValue(Value const& value) {\n  switch (value.type()) {\n  case nullValue:\n    pushValue(nullSymbol_);\n    break;\n  case intValue:\n    pushValue(valueToString(value.asLargestInt()));\n    break;\n  case uintValue:\n    pushValue(valueToString(value.asLargestUInt()));\n    break;\n  case realValue:\n    pushValue(valueToString(value.asDouble(), useSpecialFloats_, precision_));\n    break;\n  case stringValue:\n  {\n    // Is NULL is possible for value.string_?\n    char const* str;\n    char const* end;\n    bool ok = value.getString(&str, &end);\n    if (ok) pushValue(valueToQuotedStringN(str, static_cast<unsigned>(end-str)));\n    else pushValue(\"\");\n    break;\n  }\n  case booleanValue:\n    pushValue(valueToString(value.asBool()));\n    break;\n  case arrayValue:\n    writeArrayValue(value);\n    break;\n  case objectValue: {\n    Value::Members members(value.getMemberNames());\n    if (members.empty())\n      pushValue(\"{}\");\n    else {\n      writeWithIndent(\"{\");\n      indent();\n      Value::Members::iterator it = members.begin();\n      for (;;) {\n        JSONCPP_STRING const& name = *it;\n        Value const& childValue = value[name];\n        writeCommentBeforeValue(childValue);\n        writeWithIndent(valueToQuotedStringN(name.data(), static_cast<unsigned>(name.length())));\n        *sout_ << colonSymbol_;\n        writeValue(childValue);\n        if (++it == members.end()) {\n          writeCommentAfterValueOnSameLine(childValue);\n          break;\n        }\n        *sout_ << \",\";\n        writeCommentAfterValueOnSameLine(childValue);\n      }\n      unindent();\n      writeWithIndent(\"}\");\n    }\n  } break;\n  }\n}\n\nvoid BuiltStyledStreamWriter::writeArrayValue(Value const& value) {\n  unsigned size = value.size();\n  if (size == 0)\n    pushValue(\"[]\");\n  else {\n    bool isMultiLine = (cs_ == CommentStyle::All) || isMultineArray(value);\n    if (isMultiLine) {\n      writeWithIndent(\"[\");\n      indent();\n      bool hasChildValue = !childValues_.empty();\n      unsigned index = 0;\n      for (;;) {\n        Value const& childValue = value[index];\n        writeCommentBeforeValue(childValue);\n        if (hasChildValue)\n          writeWithIndent(childValues_[index]);\n        else {\n          if (!indented_) writeIndent();\n          indented_ = true;\n          writeValue(childValue);\n          indented_ = false;\n        }\n        if (++index == size) {\n          writeCommentAfterValueOnSameLine(childValue);\n          break;\n        }\n        *sout_ << \",\";\n        writeCommentAfterValueOnSameLine(childValue);\n      }\n      unindent();\n      writeWithIndent(\"]\");\n    } else // output on a single line\n    {\n      assert(childValues_.size() == size);\n      *sout_ << \"[\";\n      if (!indentation_.empty()) *sout_ << \" \";\n      for (unsigned index = 0; index < size; ++index) {\n        if (index > 0)\n          *sout_ << \", \";\n        *sout_ << childValues_[index];\n      }\n      if (!indentation_.empty()) *sout_ << \" \";\n      *sout_ << \"]\";\n    }\n  }\n}\n\nbool BuiltStyledStreamWriter::isMultineArray(Value const& value) {\n  ArrayIndex const size = value.size();\n  bool isMultiLine = size * 3 >= rightMargin_;\n  childValues_.clear();\n  for (ArrayIndex index = 0; index < size && !isMultiLine; ++index) {\n    Value const& childValue = value[index];\n    isMultiLine = ((childValue.isArray() || childValue.isObject()) &&\n                        childValue.size() > 0);\n  }\n  if (!isMultiLine) // check if line length > max line length\n  {\n    childValues_.reserve(size);\n    addChildValues_ = true;\n    ArrayIndex lineLength = 4 + (size - 1) * 2; // '[ ' + ', '*n + ' ]'\n    for (ArrayIndex index = 0; index < size; ++index) {\n      if (hasCommentForValue(value[index])) {\n        isMultiLine = true;\n      }\n      writeValue(value[index]);\n      lineLength += static_cast<ArrayIndex>(childValues_[index].length());\n    }\n    addChildValues_ = false;\n    isMultiLine = isMultiLine || lineLength >= rightMargin_;\n  }\n  return isMultiLine;\n}\n\nvoid BuiltStyledStreamWriter::pushValue(JSONCPP_STRING const& value) {\n  if (addChildValues_)\n    childValues_.push_back(value);\n  else\n    *sout_ << value;\n}\n\nvoid BuiltStyledStreamWriter::writeIndent() {\n  // blep intended this to look at the so-far-written string\n  // to determine whether we are already indented, but\n  // with a stream we cannot do that. So we rely on some saved state.\n  // The caller checks indented_.\n\n  if (!indentation_.empty()) {\n    // In this case, drop newlines too.\n    *sout_ << '\\n' << indentString_;\n  }\n}\n\nvoid BuiltStyledStreamWriter::writeWithIndent(JSONCPP_STRING const& value) {\n  if (!indented_) writeIndent();\n  *sout_ << value;\n  indented_ = false;\n}\n\nvoid BuiltStyledStreamWriter::indent() { indentString_ += indentation_; }\n\nvoid BuiltStyledStreamWriter::unindent() {\n  assert(indentString_.size() >= indentation_.size());\n  indentString_.resize(indentString_.size() - indentation_.size());\n}\n\nvoid BuiltStyledStreamWriter::writeCommentBeforeValue(Value const& root) {\n  if (cs_ == CommentStyle::None) return;\n  if (!root.hasComment(commentBefore))\n    return;\n\n  if (!indented_) writeIndent();\n  const JSONCPP_STRING& comment = root.getComment(commentBefore);\n  JSONCPP_STRING::const_iterator iter = comment.begin();\n  while (iter != comment.end()) {\n    *sout_ << *iter;\n    if (*iter == '\\n' &&\n       (iter != comment.end() && *(iter + 1) == '/'))\n      // writeIndent();  // would write extra newline\n      *sout_ << indentString_;\n    ++iter;\n  }\n  indented_ = false;\n}\n\nvoid BuiltStyledStreamWriter::writeCommentAfterValueOnSameLine(Value const& root) {\n  if (cs_ == CommentStyle::None) return;\n  if (root.hasComment(commentAfterOnSameLine))\n    *sout_ << \" \" + root.getComment(commentAfterOnSameLine);\n\n  if (root.hasComment(commentAfter)) {\n    writeIndent();\n    *sout_ << root.getComment(commentAfter);\n  }\n}\n\n// static\nbool BuiltStyledStreamWriter::hasCommentForValue(const Value& value) {\n  return value.hasComment(commentBefore) ||\n         value.hasComment(commentAfterOnSameLine) ||\n         value.hasComment(commentAfter);\n}\n\n///////////////\n// StreamWriter\n\nStreamWriter::StreamWriter()\n    : sout_(NULL)\n{\n}\nStreamWriter::~StreamWriter()\n{\n}\nStreamWriter::Factory::~Factory()\n{}\nStreamWriterBuilder::StreamWriterBuilder()\n{\n  setDefaults(&settings_);\n}\nStreamWriterBuilder::~StreamWriterBuilder()\n{}\nStreamWriter* StreamWriterBuilder::newStreamWriter() const\n{\n  JSONCPP_STRING indentation = settings_[\"indentation\"].asString();\n  JSONCPP_STRING cs_str = settings_[\"commentStyle\"].asString();\n  bool eyc = settings_[\"enableYAMLCompatibility\"].asBool();\n  bool dnp = settings_[\"dropNullPlaceholders\"].asBool();\n  bool usf = settings_[\"useSpecialFloats\"].asBool(); \n  unsigned int pre = settings_[\"precision\"].asUInt();\n  CommentStyle::Enum cs = CommentStyle::All;\n  if (cs_str == \"All\") {\n    cs = CommentStyle::All;\n  } else if (cs_str == \"None\") {\n    cs = CommentStyle::None;\n  } else {\n    throwRuntimeError(\"commentStyle must be 'All' or 'None'\");\n  }\n  JSONCPP_STRING colonSymbol = \" : \";\n  if (eyc) {\n    colonSymbol = \": \";\n  } else if (indentation.empty()) {\n    colonSymbol = \":\";\n  }\n  JSONCPP_STRING nullSymbol = \"null\";\n  if (dnp) {\n    nullSymbol = \"\";\n  }\n  if (pre > 17) pre = 17;\n  JSONCPP_STRING endingLineFeedSymbol = \"\";\n  return new BuiltStyledStreamWriter(\n      indentation, cs,\n      colonSymbol, nullSymbol, endingLineFeedSymbol, usf, pre);\n}\nstatic void getValidWriterKeys(std::set<JSONCPP_STRING>* valid_keys)\n{\n  valid_keys->clear();\n  valid_keys->insert(\"indentation\");\n  valid_keys->insert(\"commentStyle\");\n  valid_keys->insert(\"enableYAMLCompatibility\");\n  valid_keys->insert(\"dropNullPlaceholders\");\n  valid_keys->insert(\"useSpecialFloats\");\n  valid_keys->insert(\"precision\");\n}\nbool StreamWriterBuilder::validate(Json::Value* invalid) const\n{\n  Json::Value my_invalid;\n  if (!invalid) invalid = &my_invalid;  // so we do not need to test for NULL\n  Json::Value& inv = *invalid;\n  std::set<JSONCPP_STRING> valid_keys;\n  getValidWriterKeys(&valid_keys);\n  Value::Members keys = settings_.getMemberNames();\n  size_t n = keys.size();\n  for (size_t i = 0; i < n; ++i) {\n    JSONCPP_STRING const& key = keys[i];\n    if (valid_keys.find(key) == valid_keys.end()) {\n      inv[key] = settings_[key];\n    }\n  }\n  return 0u == inv.size();\n}\nValue& StreamWriterBuilder::operator[](JSONCPP_STRING key)\n{\n  return settings_[key];\n}\n// static\nvoid StreamWriterBuilder::setDefaults(Json::Value* settings)\n{\n  //! [StreamWriterBuilderDefaults]\n  (*settings)[\"commentStyle\"] = \"All\";\n  (*settings)[\"indentation\"] = \"\\t\";\n  (*settings)[\"enableYAMLCompatibility\"] = false;\n  (*settings)[\"dropNullPlaceholders\"] = false;\n  (*settings)[\"useSpecialFloats\"] = false;\n  (*settings)[\"precision\"] = 17;\n  //! [StreamWriterBuilderDefaults]\n}\n\nJSONCPP_STRING writeString(StreamWriter::Factory const& builder, Value const& root) {\n  JSONCPP_OSTRINGSTREAM sout;\n  StreamWriterPtr const writer(builder.newStreamWriter());\n  writer->write(root, &sout);\n  return sout.str();\n}\n\nJSONCPP_OSTREAM& operator<<(JSONCPP_OSTREAM& sout, Value const& root) {\n  StreamWriterBuilder builder;\n  StreamWriterPtr const writer(builder.newStreamWriter());\n  writer->write(root, &sout);\n  return sout;\n}\n\n} // namespace Json\n\n// //////////////////////////////////////////////////////////////////////\n// End of content of file: src/lib_json/json_writer.cpp\n// //////////////////////////////////////////////////////////////////////\n\n\n\n\n\n"
  },
  {
    "path": "source/lib.h",
    "content": "/**\nCopyright 2013 3DSGuy\n\nThis file is part of make_cdn_cia.\n\nmake_cdn_cia is free software: you can redistribute it and/or modify\nit under the terms of the GNU General Public License as published by\nthe Free Software Foundation, either version 3 of the License, or\n(at your option) any later version.\n\nmake_cdn_cia is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\nGNU General Public License for more details.\n\nYou should have received a copy of the GNU General Public License\nalong with make_cdn_cia.  If not, see <http://www.gnu.org/licenses/>.\n**/\n#include <stdio.h>\n#include <string.h>\n#include <strings.h>\n#include <stdlib.h>\n#include <stdbool.h>\n#include <ctype.h>\n#include <time.h>\n#include <unistd.h>\n\n#ifdef _WIN32\n\t#include <io.h>\n\t#include <direct.h>\n\t#include <windows.h>\n\t#include <wchar.h>\n#else\n\t#include <sys/stat.h>\n\t#include <sys/types.h>\n#endif\n\n#include \"types.h\"\n#include \"utils.h\"\n\n\n"
  },
  {
    "path": "source/main.cpp",
    "content": "#include <string>\n#include <vector>\n#include <sstream>\n#include <iomanip>\n#include <fstream>\n#include <cstdlib>\n#include <cstring>\n#include <cctype>\n#include <sys/stat.h>\n#include <unistd.h>\n#include <dirent.h>\n#include <malloc.h>\n\n#include <typeinfo>\n#include <cmath>\n#include <numeric>\n#include <iterator>\n#include <algorithm>\n\n#include <sys/socket.h>\n#include <netinet/in.h>\n#include <arpa/inet.h>\n#include <netdb.h>\n\n#include <3ds.h>\n\n#include \"config.h\"\n#include \"menu.h\"\n#include \"utils.h\"\n#include \"cia.h\"\n#include \"data.h\"\n#include \"types.h\"\n\n#include \"svchax/svchax.h\"\n#include \"json/json.h\"\n#include \"fts_fuzzy_match.h\"\n#include \"utf8proc/utf8proc.h\"\n\nstatic const u16 top = 0x140;\nstatic bool bSvcHaxAvailable = true;\nstatic bool bExit = false;\nstatic bool bRedoSearch = false;\nint sourceDataType;\nJson::Value sourceData;\n\nCConfig config;\n\nstruct find_game_item {\n    std::string titleid;\n    find_game_item(std::string titleid) : titleid(titleid) {}\n    bool operator () ( const game_item& gi ) const {\n        return gi.titleid == titleid;\n    }\n};\n\n// Vector used for download queue\nstd::vector<game_item> game_queue;\n\nbool compareByScore(const game_item &a, const game_item &b)\n{\n    return a.score > b.score;\n}\n\nResult ProcessCIA(std::string dir, std::string titleName)\n{\n    FILE *tik = fopen((dir + \"/ticket\").c_str(), \"rb\");\n    if (!tik) \n    {\n        return -1;\n    }\n    TIK_CONTEXT tik_context = process_tik(tik);\n\n    FILE *tmd = fopen((dir + \"/tmd\").c_str(),\"rb\");\n    if (!tmd) \n    {\n        fclose(tik);\n        return -1;\n    }\n    TMD_CONTEXT tmd_context = process_tmd(tmd);\n\n    if(tik_context.result != 0 || tmd_context.result != 0){\n        printf(\"[!] Input files could not be processed successfully\\n\");\n        free(tmd_context.content_struct);\n        fclose(tik);\n        fclose(tmd);\n        return -1;\n    }\n\n    int result;\n    if (config.GetMode() == CConfig::Mode::INSTALL_CIA)\n    {\n        result = install_cia(tmd_context, tik_context);\n    }\n    else\n    {\n        FILE *output = fopen((dir + \"/\" + titleName + \".cia\").c_str(),\"wb\");\n        if (!output) \n        {\n            result = -2;\n        }\n        else\n        {\n            result = generate_cia(tmd_context, tik_context, output);\n            if(result != 0)\n            {\n                remove((dir + \"/\" + titleName + \".cia\").c_str());\n            }\n        }\n    }\n\n    // free allocated memory/handles\n    free(tmd_context.content_struct);\n    fclose(tik);\n    fclose(tmd);\n\n    // Clean up temp files\n    remove((dir + \"/ticket\").c_str());\n    remove((dir + \"/tmd\").c_str());\n    return result;\n}\n\nstd::string u32_to_hex_string(u32 i)\n{\n    std::stringstream stream;\n    stream << std::setfill ('0') << std::setw(sizeof(u32)*2) << std::hex << i;\n    return stream.str();\n}\n\nint mkpath(std::string s,mode_t mode)\n{\n    size_t pre=0,pos;\n    std::string dir;\n    int mdret = 0;\n\n    if(s[s.size()-1]!='/'){\n        // force trailing / so we can handle everything in loop\n        s+='/';\n    }\n\n    while((pos=s.find_first_of('/',pre))!=std::string::npos){\n        dir=s.substr(0,pos++);\n        pre=pos;\n        if(dir.size()==0) continue; // if leading / first time is 0 length\n        if((mdret=mkdir(dir.c_str(),mode)) && errno!=EEXIST){\n            return mdret;\n        }\n    }\n    return mdret;\n}\n\nchar parse_hex(char c)\n{\n    if ('0' <= c && c <= '9') return c - '0';\n    if ('A' <= c && c <= 'F') return c - 'A' + 10;\n    if ('a' <= c && c <= 'f') return c - 'a' + 10;\n    std::abort();\n}\n\nchar* parse_string(const std::string & s)\n{\n    char* buffer = new char[s.size() / 2];\n    for (std::size_t i = 0; i != s.size() / 2; ++i)\n        buffer[i] = 16 * parse_hex(s[2 * i]) + parse_hex(s[2 * i + 1]);\n    return buffer;\n}\n\nstd::string get_file_contents(const char *filename)\n{\n  std::ifstream in(filename, std::ios::in | std::ios::binary);\n  if (in)\n  {\n    return(std::string((std::istreambuf_iterator<char>(in)), std::istreambuf_iterator<char>()));\n  }\n  throw(errno);\n}\n\nvoid CreateTicket(std::string titleId, std::string encTitleKey, char* titleVersion, std::string outputFullPath)\n{\n    std::ofstream ofs;\n\n    ofs.open(outputFullPath, std::ofstream::out | std::ofstream::binary | std::ofstream::trunc);\n    ofs.write(tikTemp, TICKET_SIZE);\n    ofs.close();\n\n    ofs.open(outputFullPath, std::ofstream::out | std::ofstream::in | std::ofstream::binary);\n\n    //write version\n    ofs.seekp(top+0xA6, std::ios::beg);\n    ofs.write(titleVersion, 0x2);\n\n    //write title id\n    char* nTitleID = parse_string(titleId);\n    ofs.seekp(top+0x9C, std::ios::beg);\n    ofs.write(nTitleID, 0x8);\n    free(nTitleID);\n\n    //write key\n    char* nTitleKey = parse_string(encTitleKey);\n    ofs.seekp(top+0x7F, std::ios::beg);\n    ofs.write(nTitleKey, 0x10);\n    free(nTitleKey);\n\n    ofs.close();\n}\n\nvoid InstallTicket(std::string FullPath, std::string TitleId)\n{\n    Handle hTik;\n    u32 writtenbyte;\n    std::string curr = get_file_contents(FullPath.c_str());\n\n    // Remove the ticket incase there was a bad one previously installed\n    char* nTitleId = parse_string(TitleId);\n    u64 titleId = u8_to_u64((u8*)nTitleId, BIG_ENDIAN);\n    free (nTitleId);\n    AM_DeleteTicket(titleId);\n\n    // Install new ticket\n    AM_InstallTicketBegin(&hTik);\n    FSFILE_Write(hTik, &writtenbyte, 0, curr.c_str(), 0x100000, 0);\n    AM_InstallTicketFinish(hTik);\n    printf(\"Ticket Installed.\");\n    //delete temp ticket, ticket folder still exists... ugly. later stream directly to the handle\n    remove(FullPath.c_str());\n}\n\nResult DownloadTitle(std::string titleId, std::string encTitleKey, std::string titleName, std::string region)\n{\n    // Convert the titleid to a u64 for later use\n    char* nTitleId = parse_string(titleId);\n    u64 uTitleId = u8_to_u64((u8*)nTitleId, BIG_ENDIAN);\n    free (nTitleId);\n\n    // Wait for wifi to be available\n    u32 wifi = 0;\n    Result ret = 0;\n    Result res = 0;\n    while(R_SUCCEEDED(ret = ACU_GetWifiStatus(&wifi)) && wifi == 0)\n    {\n        hidScanInput();\n        if (hidKeysDown() & KEY_B)\n        {\n            ret = -1;\n            break;\n        }\n    }\n\n    if (R_FAILED(ret))\n    {\n        printf(\"Unable to access internet.\\n\");\n        return ret;\n    }\n\n    std::string outputDir = \"/CIAngel\";\n\n    if (titleName.length() == 0)\n    {\n        titleName = titleId;\n    }\n\n    // Include region in filename\n    if (region.length() > 0)\n    {\n        titleName = titleName + \" (\" + region + \")\";\n    }\n\n    std::string mode_text;\n    if(config.GetMode() == CConfig::Mode::DOWNLOAD_CIA)\n    {\n        mode_text = \"create\";\n    }\n    else if(config.GetMode() == CConfig::Mode::INSTALL_CIA)\n    {\n        mode_text = \"install\";\n    }\n\n\n    printf(\"Starting - %s\\n\", titleName.c_str());\n\n    // If in install mode, download/install the SEED entry\n    if (config.GetMode() == CConfig::Mode::INSTALL_CIA)\n    {\n        // Download and install the SEEDDB entry if install mode\n        // Code based on code from FBI: https://github.com/Steveice10/FBI/blob/master/source/core/util.c#L254\n        // Copyright (C) 2015 Steveice10\n        u8 seed[16];\n        static const char* regionStrings[] = {\"JP\", \"US\", \"GB\", \"GB\", \"HK\", \"KR\", \"TW\"};\n        u8 region = CFG_REGION_USA;\n        CFGU_GetSystemLanguage(&region);\n\n        if(region <= CFG_REGION_TWN) {\n            char url[128];\n            snprintf(url, 128, SEED_URL \"0x%016llX/ext_key?country=%s\", uTitleId, regionStrings[region]);\n\n            httpcContext context;\n            if(R_SUCCEEDED(res = httpcOpenContext(&context, HTTPC_METHOD_GET, url, 1))) {\n                httpcSetSSLOpt(&context, SSLCOPT_DisableVerify);\n\n                u32 responseCode = 0;\n                if(R_SUCCEEDED(res = httpcBeginRequest(&context)) && R_SUCCEEDED(res = httpcGetResponseStatusCode(&context, &responseCode))) {\n                    if(responseCode == 200) {\n                        u32 pos = 0;\n                        u32 bytesRead = 0;\n                        while(pos < sizeof(seed) && (R_SUCCEEDED(res = httpcDownloadData(&context, &seed[pos], sizeof(seed) - pos, &bytesRead)) || (u32)res == HTTPC_RESULTCODE_DOWNLOADPENDING)) {\n                            pos += bytesRead;\n                        }\n                    } else {\n                        res = -1;\n                    }\n                }\n\n                httpcCloseContext(&context);\n            }\n\n            if (R_SUCCEEDED(res))\n            {\n                res = InstallSeed(uTitleId, seed);\n                if (R_FAILED(res))\n                {\n                    printf(\"Error installing SEEDDB entry: 0x%lx\\n\", res);\n                }\n            }\n        }\n    }\n\n    // Make sure the CIA doesn't already exist\n    std::string cp = outputDir + \"/\" + titleName + \".cia\";\n    if (config.GetMode() == CConfig::Mode::DOWNLOAD_CIA && FileExists(cp.c_str()))\n    {\n        printf(\"%s already exists.\\n\", cp.c_str());\n        return 0;\n    }\n\n    std::ofstream ofs;\n\n    FILE *oh = fopen((outputDir + \"/tmp/tmd\").c_str(), \"wb\");\n    if (!oh) \n    {\n        printf(\"Error opening %s/tmp/tmd\\n\", outputDir.c_str());\n        return -1;\n    }\n    res = DownloadFile((NUS_URL + titleId + \"/tmd\").c_str(), oh, false);\n    fclose(oh);\n    if (res != 0)\n    {\n        printf(\"Could not download TMD. Internet/Title ID is OK?\\n\");\n        return res;\n    }\n\n    // Read version\n    std::ifstream tmdfs;\n    tmdfs.open(outputDir + \"/tmp/tmd\", std::ofstream::out | std::ofstream::in | std::ofstream::binary);\n    char titleVersion[2];\n    tmdfs.seekg(top+0x9C, std::ios::beg);\n    tmdfs.read(titleVersion, 0x2);\n    tmdfs.close();\n\n    CreateTicket(titleId, encTitleKey, titleVersion, outputDir + \"/tmp/ticket\");\n\n    printf(\"Now %s the CIA...\\n\", mode_text.c_str());\n\n    res = ProcessCIA(outputDir + \"/tmp\", titleName);\n    if (res != 0)\n    {\n        printf(\"Could not %s the CIA.\\n\", mode_text.c_str());\n        return res;\n    }\n\n    if (config.GetMode() == CConfig::Mode::DOWNLOAD_CIA)\n    {\n        rename((outputDir + \"/tmp/\" + titleName + \".cia\").c_str(), (outputDir + \"/\" + titleName + \".cia\").c_str());\n    }\n\n    printf(\" DONE!\\n\");\n\n    return res;\n}\n\nvoid ProcessGameQueue()\n{\n    // Create the tickets folder if we're in ticket mode\n    char empty_titleVersion[2] = {0x00, 0x00};\n\n    std::vector<game_item>::iterator game = game_queue.begin();\n    while(aptMainLoop() && game != game_queue.end())\n    {\n        std::string selected_titleid = (*game).titleid;\n        std::string selected_enckey = (*game).titlekey;\n        std::string selected_name = (*game).name;\n        std::string selected_region = (*game).region;\n\n        if (config.GetMode() == CConfig::Mode::INSTALL_TICKET)\n        {\n            CreateTicket(selected_titleid, selected_enckey, empty_titleVersion, \"/CIAngel/tmp/ticket\");\n            InstallTicket(\"/CIAngel/tmp/ticket\", selected_titleid);\n        }\n        else\n        {\n            Result res = DownloadTitle(selected_titleid, selected_enckey, selected_name, selected_region);\n            if (R_FAILED(res)) {\n                printf(\"Error processing queue. Returning to menu\\n\");\n                break;\n            }\n        }\n\n        game = game_queue.erase(game);\n    }\n\n    wait_key_specific(\"Press A to continue.\\n\", KEY_A);\n}\n\nvoid removeForbiddenChar(std::string* s)\n{\n    std::string::iterator it;\n    std::string illegalChars = \"\\\\/:?\\\"<>|\";\n    for (it = s->begin() ; it < s->end() ; ++it){\n        bool found = illegalChars.find(*it) != std::string::npos;\n        if(found)\n        {\n            *it = ' ';\n        }\n    }\n}\n\nstd::istream& GetLine(std::istream& is, std::string& t)\n{\n    t.clear();\n    std::istream::sentry se(is, true);\n    std::streambuf* sb = is.rdbuf();\n\n    for (;;) {\n        int c = sb->sbumpc();\n        switch (c) {\n            case '\\n':\n              return is;\n            case '\\r':\n              if (sb->sgetc() == '\\n')\n                sb->sbumpc();\n              return is;\n            case  EOF:\n              if (t.empty())\n                is.setstate(std::ios::eofbit);\n              return is;\n            default:\n              t += (char)c;\n        }\n    }\n}\n\nstd::string ToHex(const std::string& s)\n{\n    std::ostringstream ret;\n    for (std::string::size_type i = 0; i < s.length(); ++i)\n    {\n        int z = s[i]&0xff;\n        ret << std::hex << std::setfill('0') << std::setw(2) << z;\n    }\n    return ret.str();\n}\n\nvoid load_JSON_data() \n{\n    printf(\"loading wings.json...\\n\");\n    std::ifstream ifs(\"/CIAngel/wings.json\");\n    Json::Reader reader;\n    Json::Value obj;\n    reader.parse(ifs, obj);\n    sourceData = obj; // array of characters\n    \n    if(sourceData[0][\"titleID\"].isString()) {\n      sourceDataType = JSON_TYPE_ONLINE;\n    } else if (sourceData[0][\"titleid\"].isString()) {\n      sourceDataType = JSON_TYPE_WINGS;\n    }\n}\n\nvoid loadConfig()\n{\n    // Load config, and force mode to DOWNLOAD_CIA if svcHax not available, then resave\n    config.LoadConfig(\"/CIAngel/config.json\");\n    if (!bSvcHaxAvailable)\n    {\n        config.SetMode(CConfig::Mode::DOWNLOAD_CIA);\n    }\n    config.SaveConfig();\n}\n\n// Search menu keypress callback\nbool menu_search_keypress(int selected, u32 key, void* data)\n{\n    std::vector<game_item>* cb_data = (std::vector<game_item>*)data;\n\n    // If key is 0, it means aptMainLoop() returned false, so we're exiting\n    // Go back to the previous menu which will handle quitting\n    if (!key) {\n        return true;\n    }\n\n    // B goes back a screen\n    if (key & KEY_B)\n    {\n        return true;\n    }\n\n    // A triggers the default action on the selected title\n    if (key & KEY_A)\n    {\n        // Clean up the console since we'll be using it\n        consoleClear();\n\n        // Fetch the title data and start downloading\n        std::string selected_titleid = (*cb_data)[selected].titleid;\n        std::string selected_enckey = (*cb_data)[selected].titlekey;\n        std::string selected_name = (*cb_data)[selected].name;\n        std::string selected_region = (*cb_data)[selected].region;\n\n        printf(\"OK - %s\\n\", selected_name.c_str());\n        //removes any problem chars, not sure if whitespace is a problem too...?\n        removeForbiddenChar(&selected_name);\n\n        if(config.GetMode() == CConfig::Mode::INSTALL_TICKET)\n        {\n            char empty_titleVersion[2] = {0x00, 0x00};\n            CreateTicket(selected_titleid, selected_enckey, empty_titleVersion, \"/CIAngel/tmp/ticket\");\n            InstallTicket(\"/CIAngel/tmp/ticket\", selected_titleid);\n        }\n        else\n        {\n            DownloadTitle(selected_titleid, selected_enckey, selected_name, selected_region);\n        }\n\n        wait_key_specific(\"\\nPress A to continue.\\n\", KEY_A);\n        return true;\n    }\n\n    // X triggers adding items to the download queue\n    if (key & KEY_X)\n    {\n        consoleClear();\n        std::string titleid = (*cb_data)[selected].titleid;\n        if (std::find_if(game_queue.begin(), game_queue.end(), find_game_item(titleid)) == game_queue.end())\n        {\n            game_queue.push_back((*cb_data)[selected]);\n\n            printf(\"Game added to queue.\\n\");\n        }\n        else\n        {\n            printf(\"Game already in queue.\\n\");\n        }\n\n        printf(\"Queue size: %d\\n\", game_queue.size());\n\n        if(wait_key_specific(\"\\nPress A to continue.\\nPress B to go back to the list.\\n\", KEY_A | KEY_B) & KEY_B)\n        {\n            bRedoSearch = true;\n        }\n        return true;\n    }\n\n    return false;\n}\n\n/* Search filter functions */\n// Fuzzy match based on the game name\nbool search_by_name(std::string &searchString, Json::Value &gameData, int &outScore)\n{\n    return fts::fuzzy_match(searchString.c_str(), gameData[\"ascii_name\"].asCString(), outScore);\n}\n\n// Wildcard match based on game serial\nbool search_by_serial(std::string &searchString, Json::Value &gameData, int &outScore)\n{\n    if (sourceDataType == JSON_TYPE_WINGS) \n    {\n        return (upperCase(gameData[\"code\"].asString()).find(upperCase(searchString)) != std::string::npos);\n    }\n    else\n    {\n        return (upperCase(gameData[\"serial\"].asString()).find(upperCase(searchString)) != std::string::npos);\n    }\n}\n\n/* Menu Action Functions */\nvoid action_search(bool (*match)(std::string &searchString, Json::Value &gameData, int &outScore))\n{\n    SwkbdState swkbd;\n\n    consoleClear();\n    printf(\"Please enter text to search for:\\n\");\n\t\t\n\t\tswkbdInit(&swkbd, SWKBD_TYPE_NORMAL, 2, -1);\n\t\tswkbdSetValidation(&swkbd, SWKBD_NOTEMPTY_NOTBLANK, 0, 0);\n\t\tswkbdSetHintText(&swkbd, \"Please enter text to search for\");\n\t\tchar textBuf[255];\n\t\tif (swkbdInputText(&swkbd, textBuf, sizeof(textBuf)) != SWKBD_BUTTON_CONFIRM)\n    {\n        return;\n    }\n    std::string searchString(textBuf);\n    \n    do\n    {\n        \n        bRedoSearch = false;\n\n        // User has entered their input, so let's scrap the keyboard\n        clear_screen(GFX_BOTTOM);\n\n        std::vector<game_item> display_output;\n        int outScore;\n        \n        for (unsigned int i = 0; i < sourceData.size(); i++) {\n            // Check the region filter\n            std::string regionFilter = config.GetRegionFilter();\n            if(regionFilter != \"off\" && sourceData[i][\"region\"].asString() != regionFilter) {\n                continue;\n            }\n\n            // Check that the encTitleKey isn't null\n            if (sourceData[i][\"encTitleKey\"].isNull())\n            {\n                continue;\n            }\n\n            // Create an ASCII version of the name if one doesn't exist yet\n            if (sourceData[i][\"ascii_name\"].isNull())\n            {\n                // Normalize the name down to ASCII\n                utf8proc_option_t options = (utf8proc_option_t)(UTF8PROC_NULLTERM | UTF8PROC_STABLE | UTF8PROC_DECOMPOSE | UTF8PROC_COMPAT | UTF8PROC_STRIPMARK | UTF8PROC_STRIPCC);\n                utf8proc_uint8_t* szName;\n                utf8proc_uint8_t *str = (utf8proc_uint8_t*)sourceData[i][\"name\"].asCString();\n                utf8proc_map(str, 0, &szName, options);\n\n                sourceData[i][\"ascii_name\"] = (const char*)szName;\n\n                free(szName);\n            }\n\n            if (match(searchString, sourceData[i], outScore))\n            {\n\n                game_item item;\n                item.score = outScore;\n                item.index = i;\n\n                switch(sourceDataType) {\n                case JSON_TYPE_WINGS:\n                  item.titleid = sourceData[i][\"titleid\"].asString();\n                  item.titlekey = sourceData[i][\"enckey\"].asString();\n                  item.name = sourceData[i][\"ascii_name\"].asString();\n                  item.region = sourceData[i][\"region\"].asString();\n                  item.code = sourceData[i][\"code\"].asString();\n                  break;\n                case JSON_TYPE_ONLINE:\n                  item.titleid = sourceData[i][\"titleID\"].asString();\n                  item.titlekey = sourceData[i][\"encTitleKey\"].asString();\n                  item.name = sourceData[i][\"ascii_name\"].asString();\n                  item.region = sourceData[i][\"region\"].asString();\n                  item.code = sourceData[i][\"serial\"].asString();\n                  break;\n                }\n\n                std::string typeCheck = item.titleid.substr(4,4);\n                //if title id belongs to gameapp/dlc/update/dsiware, use it. if not, ignore. case sensitve of course\n                if(typeCheck == \"0000\" || typeCheck == \"008c\" || typeCheck == \"000e\" || typeCheck == \"8004\"){\n                    display_output.push_back(item);\n                }\n            }\n        }\n\n        unsigned int display_amount = display_output.size();\n\n        // We technically have 30 rows to work with, minus 2 for header/footer. But stick with 20 entries for now\n\n        if (display_amount == 0)\n        {\n            printf(\"No matching titles found.\\n\");\n            wait_key_specific(\"\\nPress A to return.\\n\", KEY_A);\n            return;\n        }\n\n        // sort similar names by fuzzy score\n        if(display_amount>1) {\n            std::sort(display_output.begin(), display_output.end(), compareByScore);\n        }\n        \n        std::string mode_text;\n        switch (config.GetMode())\n        {\n            case CConfig::Mode::DOWNLOAD_CIA:\n                mode_text = \"Create CIA\";\n            break;\n            case CConfig::Mode::INSTALL_CIA:\n                mode_text = \"Install CIA\";\n            break;\n            case CConfig::Mode::INSTALL_TICKET:\n                mode_text = \"Create Ticket\";\n            break;\n        }\n        \n        char footer[51];\n        char header[51];\n        sprintf(header, \"Select a Title (found %i results)\", display_amount);\n        sprintf(footer, \"Press A to %s. Press X to queue.\", mode_text.c_str());\n        titles_multkey_draw(header, footer, 1, &display_output, &display_output, menu_search_keypress);\n        \n    } while(bRedoSearch == true);\n}\n\nvoid action_prompt_queue()\n{\n    consoleClear();\n\n    std::string mode_text;\n    switch (config.GetMode())\n    {\n        case CConfig::Mode::DOWNLOAD_CIA:\n            mode_text = \"download\";\n        break;\n        case CConfig::Mode::INSTALL_CIA:\n            mode_text = \"install\";\n        break;\n        case CConfig::Mode::INSTALL_TICKET:\n            mode_text = \"create tickets for\";\n        break;\n    }\n\n    printf(\"Queue contains %d items.\\n\", game_queue.size());\n    printf(\"Press A to %s queue.\\n\", mode_text.c_str());\n    printf(\"Press B to return to menu.\\n\");\n    printf(\"Press X to clear queue.\\n\");\n\n    while (aptMainLoop())\n    {\n        u32 key = wait_key();\n        if (key & KEY_B)\n        {\n            break;\n        }\n\n        if (key & KEY_X)\n        {\n            game_queue.clear();\n            break;\n        }\n\n        if (key & KEY_A)\n        {\n            ProcessGameQueue();\n            break;\n        }\n    }\n\n}\n\nvoid action_manual_entry()\n{\n    SwkbdState swkbd;\n    swkbdInit(&swkbd, SWKBD_TYPE_NORMAL, 2, -1);\n    swkbdSetValidation(&swkbd, SWKBD_NOTEMPTY_NOTBLANK, 0, 0);\n    char textBuf[255];\n    if (swkbdInputText(&swkbd, textBuf, sizeof(textBuf)) != SWKBD_BUTTON_CONFIRM)\n    {\n        return;\n    }\n\n    consoleClear();\n\n    // Keep looping so the user can retry if they enter a bad id/key\n    while(true)\n    {\n        printf(\"Please enter a titleID:\\n\");\n        swkbdSetHintText(&swkbd, \"Please enter a titleID\");\n        if (swkbdInputText(&swkbd, textBuf, sizeof(textBuf)) != SWKBD_BUTTON_CONFIRM)\n        {\n            break;\n        }\n        std::string titleId(textBuf);\n        std::string key;\n\n        for (unsigned int i = 0; i < sourceData.size(); i++){\n            std::string tempId = sourceData[i][\"titleid\"].asString();\n            std::string tempKey = sourceData[i][\"enckey\"].asString();\n\n            if(tempId.compare(titleId) == 0 && tempKey.length() == 32) {\n               printf(\"Found encTitleKey, proceeding automatically\\n\"); \n               key = tempKey;\n               break;\n            }\n        }\n        if(key.length() != 32) {\n            printf(\"Please enter the corresponding encTitleKey:\\n\");\n            swkbdSetHintText(&swkbd, \"Please enter the corresponding encTitleKey\");\n            if (swkbdInputText(&swkbd, textBuf, sizeof(textBuf)) != SWKBD_BUTTON_CONFIRM)\n            {\n                break;\n            }\n            key.assign(textBuf, sizeof(textBuf));\n        }\n        if (titleId.length() == 16 && key.length() == 32)\n        {\n            DownloadTitle(titleId, key, \"\", \"\");\n            wait_key_specific(\"\\nPress A to continue.\\n\", KEY_A);\n            break;\n        }\n        else\n        {   \n            printf(\"There was an error in you input:\\n\");  \n            if(titleId.length() != 16) {\n                printf(\"titleIDs are 16 chars long, not %i\\n\", titleId.length());\n            }\n            if(key.length() != 32) {\n                printf(\"encTitleKeys are 32 chars long, not %i\\n\", key.length());\n            }\n        }\n    }\n}\n\nvoid action_input_txt()\n{\n    consoleClear();\n\n    std::ifstream input;\n    std::string titleId;\n    std::string key;\n\n    input.open(\"/CIAngel/input.txt\", std::ofstream::in);\n    GetLine(input, titleId);\n    GetLine(input, key);\n    DownloadTitle(titleId, key, \"\", \"\");\n\n    wait_key_specific(\"\\nPress A to continue.\\n\", KEY_A);\n}\n\nvoid action_toggle_install()\n{\n    consoleClear();\n    CConfig::Mode nextMode = CConfig::Mode::INSTALL_CIA;\n\n    switch (config.GetMode())\n    {\n        case CConfig::Mode::DOWNLOAD_CIA:\n            nextMode = CConfig::Mode::INSTALL_CIA;\n        break;\n        case CConfig::Mode::INSTALL_CIA:\n            nextMode = CConfig::Mode::INSTALL_TICKET;\n        break;\n        case CConfig::Mode::INSTALL_TICKET:\n            nextMode = CConfig::Mode::DOWNLOAD_CIA;\n        break;\n    }\n    \n    if (nextMode == CConfig::Mode::INSTALL_TICKET || nextMode == CConfig::Mode::INSTALL_CIA)\n    {\n        if (!bSvcHaxAvailable)\n        {\n            nextMode = CConfig::Mode::DOWNLOAD_CIA;\n            printf(CONSOLE_RED \"Kernel access not available.\\nCan't enable Install modes.\\nYou can only make a CIA.\\n\" CONSOLE_RESET);\n            wait_key_specific(\"\\nPress A to continue.\", KEY_A);\n        }\n    }\n\n    config.SetMode(nextMode);\n}\n\nvoid action_toggle_region()\n{\n    consoleClear();\n    std::string regionFilter = config.GetRegionFilter();\n    if(regionFilter == \"off\") {\n        regionFilter = \"ALL\";\n    } else if (regionFilter == \"ALL\") {\n        regionFilter = \"EUR\";\n    } else if (regionFilter == \"EUR\") {\n        regionFilter = \"USA\";\n    } else if (regionFilter == \"USA\") {\n        regionFilter = \"JPN\";\n    } else if (regionFilter == \"JPN\") {\n        regionFilter = \"off\";\n    }\n    config.SetRegionFilter(regionFilter);\n}\n\nvoid action_about()\n{\n    consoleClear();\n\n    printf(CONSOLE_RED \"CIAngel\\n\\n\" CONSOLE_RESET);\n    printf(\"Download, create, and install CIAs directly\\n\");\n    printf(\"from Nintendo's CDN servers. Grabbing the\\n\");\n    printf(\"latest games has never been so easy.\\n\\n\");\n\n    printf(\"Contributors: Cearp, Drakia, superbudvar,\\n\");\n    printf(\"              mysamdog, cerea1killer,\\n\");\n    printf(\"              DanTheMan827\\n\");\n\n    printf(\"\\n\\nCommit: \" REVISION_STRING \"\\n\\n\");\n\n    printf(\"\\nPress any button to continue.\");\n    wait_key();\n}\n\nvoid action_exit()\n{\n    bExit = true;\n}\n\nvoid action_download_json()\n{\n    consoleClear();\n\n    download_JSON();\n    load_JSON_data();\n}\n\n// Main menu keypress callback\nbool menu_main_keypress(int selected, u32 key, void*)\n{\n    // If key is 0, it means aptMainLoop() returned false, so we're quitting\n    if (!key) {\n        return true;\n    }\n\n    // A button triggers standard actions\n    if (key & KEY_A)\n    {\n        switch (selected)\n        {\n            case 0:\n                action_search(search_by_name);\n            break;\n            case 1:\n                action_search(search_by_serial);\n            break;\n            case 2:\n                action_prompt_queue();\n            break;\n            case 3:\n                action_manual_entry();\n            break;\n            case 4:\n                action_input_txt();\n            break;\n            case 5:\n                action_download_json();\n            break;\n            case 6:\n                action_about();\n            break;\n            case 7:\n                action_exit();\n            break;\n        }\n        return true;\n    }\n    // L button triggers mode toggle\n    else if (key & KEY_L)\n    {\n        action_toggle_install();\n        return true;\n    }\n    // R button triggers region toggle\n    else if (key & KEY_R)\n    {\n        action_toggle_region();\n        return true;\n    }\n\n    return false;\n}\n\n// Draw the main menu\nvoid menu_main()\n{\n    const char *options[] = {\n        \"Search for a title by name\",\n        \"Search for a title by serial\",\n        \"Process download queue\",\n        \"Enter a title key/ID pair\",\n        \"Fetch title key/ID from input.txt\",\n        \"Download wings.json\",\n        \"About CIAngel\",\n        \"Exit\",\n    };\n    char footer[50];\n\n    while (!bExit && aptMainLoop())\n    {\n        std::string mode_text;\n        switch (config.GetMode())\n        {\n            case CConfig::Mode::DOWNLOAD_CIA:\n                mode_text = \"Create CIA\";\n            break;\n            case CConfig::Mode::INSTALL_CIA:\n                mode_text = \"Install CIA\";\n            break;\n            case CConfig::Mode::INSTALL_TICKET:\n                mode_text = \"Create Ticket\";\n            break;\n        }\n\n        // We have to update the footer every draw, incase the user switches install mode or region\n        sprintf(footer, \"Mode (L):%s Region (R):%s Queue: %d\", mode_text.c_str(), config.GetRegionFilter().c_str(), game_queue.size());\n\n        menu_multkey_draw(\"CIAngel by cearp and Drakia\", footer, 0, sizeof(options) / sizeof(char*), options, NULL, menu_main_keypress);\n\n        clear_screen(GFX_BOTTOM);\n    }\n}\n\nint main(int argc, const char* argv[])\n{\n    /* Sadly svchax crashes too much, so only allow install mode when running as a CIA\n    // Trigger svchax so we can install CIAs\n    if(argc > 0) {\n        svchax_init(true);\n        if(!__ctr_svchax || !__ctr_svchax_srv) {\n            bSvcHaxAvailable = false;\n            //printf(\"Failed to acquire kernel access. Install mode disabled.\\n\");\n        }\n    }\n    */\n    \n    // argc is 0 when running as a CIA, and 1 when running as a 3dsx\n    if (argc > 0)\n    {\n        bSvcHaxAvailable = false;\n    }\n\n    u32 *soc_sharedmem, soc_sharedmem_size = 0x100000;\n    gfxInitDefault();\n    consoleInit(GFX_TOP, NULL);\n\n    httpcInit(0);\n    soc_sharedmem = (u32 *)memalign(0x1000, soc_sharedmem_size);\n    socInit(soc_sharedmem, soc_sharedmem_size);\n    sslcInit(0);\n    hidInit();\n    acInit();\n    cfguInit();\n\n    if (bSvcHaxAvailable)\n    {\n        amInit();\n        AM_InitializeExternalTitleDatabase(false);\n    }\n\n    init_menu(GFX_TOP);\n\n    // Make sure all CIAngel directories exists on the SD card\n    mkpath(\"/CIAngel\", 0777);\n    mkpath(\"/CIAngel/tmp/\", 0777);\n    loadConfig();\n    \n    // Set up the reading of json\n    check_JSON();\n    load_JSON_data();\n    \n    menu_main();\n\n    if (bSvcHaxAvailable)\n    {\n        amExit();\n    }\n\n    cfguExit();\n    acExit();\n    gfxExit();\n    hidExit();\n    httpcExit();\n    socExit();\n    sslcExit();\n}\n"
  },
  {
    "path": "source/menu.cpp",
    "content": "/* Code borrowed from https://github.com/mid-kid/CakesForeveryWan/blob/master/source/menu.c and tortured until it bent to my will */\n#include \"menu.h\"\n\n#include <string>\n#include <vector>\n#include <stdio.h>\n\n#include <stdint.h>\n#include <stddef.h>\n#include \"utils.h\"\n\nint selected_options[MAX_SELECTED_OPTIONS];\n\nvoid init_menu(gfxScreen_t screen)\n{\n    // Create our new console, initialize it, and switch back to the previous console\n    PrintConsole* currentConsole = consoleSelect(&currentMenu.menuConsole);\n    consoleInit(screen, &currentMenu.menuConsole);\n\n    consoleSelect(currentConsole);\n}\n\nConsoleMenu currentMenu;\n\nvoid menu_draw_string(const char* str, int pos_x, int pos_y, const char* color)\n{\n    currentMenu.menuConsole.cursorX = pos_x;\n    currentMenu.menuConsole.cursorY = pos_y;\n    printf(\"%s%s%s\", color, str, CONSOLE_RESET);\n\n    gfxFlushBuffers();\n}\n\nvoid menu_draw_string_full(const char* str, int pos_y, const char* color)\n{\n    currentMenu.menuConsole.cursorX = 0;\n    currentMenu.menuConsole.cursorY = pos_y;\n    printf(color);\n\n    if (currentMenu.menuConsole.consoleWidth == 50)\n    {\n        printf(\"%-50s\", str);\n    }\n    else\n    {\n        printf(\"%-40s\", str);\n    }\n    printf(CONSOLE_RESET);\n\n    gfxFlushBuffers();\n}\n\nvoid menu_draw_info(PrintConsole &console, const game_item &game)\n{\n    PrintConsole* currentConsole = consoleSelect(&console);\n    consoleClear();\n\n    printf(\"Name:    %s\\n\", game.name.c_str());\n    printf(\"Serial:  %s\\n\", game.code.c_str());\n    printf(\"Region:  %s\\n\", game.region.c_str());\n    printf(\"TitleID: %s\\n\", game.titleid.c_str());\n    printf(\"Type:    %s\\n\", GetSerialType(game.code).c_str());\n\n    consoleSelect(currentConsole);\n}\n\nvoid titles_multkey_draw(const char *title, const char* footer, int back, std::vector<game_item> *options, void* data,\n                      bool (*callback)(int result, u32 key, void* data))\n\n{\n    // Set up a console on the bottom screen for info\n    GSPGPU_FramebufferFormats infoOldFormat = gfxGetScreenFormat(GFX_BOTTOM);\n    PrintConsole infoConsole;\n    PrintConsole* currentConsole = consoleSelect(&infoConsole);\n    consoleInit(GFX_BOTTOM, &infoConsole);\n\n    // Select our menu console and clear the screen\n    consoleSelect(&currentMenu.menuConsole);\n    \n    int count = options->size();\n    bool firstLoop = true;\n    int current = 0;\n    int previous_index = 0;\n    int menu_offset = 0;\n    int previous_menu_offset = 1;\n    int menu_pos_y;\n    int menu_end_y = currentMenu.menuConsole.consoleHeight -1; \n    int current_pos_y = 0;\n\n    while (aptMainLoop()) {\n        if(firstLoop || previous_index != current) {\n            firstLoop = false;\n            int results_per_page = menu_end_y - menu_pos_y;\n            int current_page = current / results_per_page;\n            menu_offset = current_page * results_per_page;\n            char prev_entry[50];\n            char entry[50];\n            sprintf(prev_entry, \"%-*.*s (%s) %*.*s\",\n                31, 31, (*options)[previous_index].name.c_str(),\n                (*options)[previous_index].region.c_str(),\n                10, 10, (*options)[previous_index].code.c_str());\n            sprintf(entry, \"%-*.*s (%s) %*.*s\",\n                31, 31, (*options)[current].name.c_str(),\n                (*options)[current].region.c_str(),\n                10, 10, (*options)[current].code.c_str());\n            if(menu_offset == previous_menu_offset) {\n                menu_draw_string(prev_entry, 1, menu_pos_y + (previous_index-menu_offset), CONSOLE_WHITE);\n                menu_draw_string(entry, 1, menu_pos_y + (current-menu_offset), CONSOLE_REVERSE);\n            } else {\n                consoleClear();\n                current_pos_y=0;\n                // Draw the header\n                menu_draw_string(title, 0, current_pos_y++, CONSOLE_RED);\n                menu_pos_y = current_pos_y;\n                for (int i = 0; menu_offset + i < count && i < results_per_page; i++) {\n                    sprintf(entry, \"%-*.*s (%s) %*.*s\",\n                        31, 31, (*options)[menu_offset + i].name.c_str(),\n                        (*options)[menu_offset + i].region.c_str(),\n                        10, 10, (*options)[menu_offset + i].code.c_str());\n                    if(i+menu_offset == current) {\n                        menu_draw_string(entry, 1, current_pos_y, CONSOLE_REVERSE);\n                    } else {\n                        menu_draw_string(entry, 1, current_pos_y, CONSOLE_WHITE);\n                    }\n                    current_pos_y++;\n                    previous_menu_offset = menu_offset;\n                }\n                if (footer != NULL)\n                {\n                    // Draw the footer if one is provided\n                    current_pos_y = currentMenu.menuConsole.consoleHeight - 1;\n                    menu_draw_string_full(footer, current_pos_y, CONSOLE_BLUE CONSOLE_REVERSE);\n                }\n            }\n            previous_index = current;\n\n            menu_draw_info(infoConsole, (*options)[current]);\n        }\n        u32 key = wait_key();\n        \n        if (key & KEY_UP) {\n            if (current <= 0) {\n                current = count - 1;\n            } else {\n                current--;\n            }\n        } else if (key & KEY_DOWN) {\n            if (current >= count - 1) {\n                current = 0;\n            } else {\n                current++;\n            }\n        } else if (key & KEY_RIGHT) {\n            current += 5;\n            if (current >= count) current = count - 1;\n        } else if (key & KEY_LEFT) {\n            current -= 5;\n            if (current < 0) current = 0;\n        } else if (callback(current, key, data)) {\n            break;\n        }\n    }\n\n    // Reselect the original console\n    consoleSelect(currentConsole);\n\n    // Reset the gfx format on the bottom screen\n    gfxSetScreenFormat(GFX_BOTTOM, infoOldFormat);\n}\n\nvoid menu_multkey_draw(const char *title, const char* footer, int back, int count, const char *options[], void* data,\n                      bool (*callback)(int result, u32 key, void* data))\n\n{\n    // Select our menu console and clear the screen\n    PrintConsole* currentConsole = consoleSelect(&currentMenu.menuConsole);\n\n    int current = 0;\n    int previous_index = 1;\n    int menu_offset = 0;\n    int previous_menu_offset = 1;\n    int menu_pos_y;\n    int menu_end_y = currentMenu.menuConsole.consoleHeight -2; \n    int current_pos_y = 0;\n\n    while (aptMainLoop()) {\n        if(previous_index != current) {\n            int results_per_page = menu_end_y - menu_pos_y;\n            int current_page = current / results_per_page;\n            menu_offset = current_page * results_per_page;\n            if(menu_offset == previous_menu_offset) {\n                menu_draw_string(options[menu_offset + previous_index], 1, menu_pos_y + (previous_index-menu_offset), CONSOLE_WHITE);\n                menu_draw_string(options[menu_offset + current], 1, menu_pos_y + (current-menu_offset), CONSOLE_REVERSE);\n            } else {\n                consoleClear();\n                current_pos_y=0;\n                // Draw the header\n                menu_draw_string(title, 0, current_pos_y++, CONSOLE_RED);\n                menu_pos_y = current_pos_y;\n                for (int i = 0; (menu_offset + i) < count && i < results_per_page; i++) {\n                    if(i+menu_offset == current) {\n                        menu_draw_string(options[menu_offset + i], 1, current_pos_y, CONSOLE_REVERSE);\n                    } else {\n                        menu_draw_string(options[menu_offset + i], 1, current_pos_y, CONSOLE_WHITE);\n                    }\n                    current_pos_y++;\n                    previous_menu_offset = menu_offset;\n                }\n                if (footer != NULL)\n                {\n                    // Draw the footer if one is provided\n                    current_pos_y = currentMenu.menuConsole.consoleHeight - 1;\n                    menu_draw_string_full(footer, current_pos_y, CONSOLE_BLUE CONSOLE_REVERSE);\n                }\n            }\n            previous_index = current;\n        }\n        u32 key = wait_key();\n        \n        if (key & KEY_UP) {\n            if (current <= 0) {\n                current = count - 1;\n            } else {\n                current--;\n            }\n        } else if (key & KEY_DOWN) {\n            if (current >= count - 1) {\n                current = 0;\n            } else {\n                current++;\n            }\n        } else if (key & KEY_RIGHT) {\n            current += 5;\n            if (current >= count) current = count - 1;\n        } else if (key & KEY_LEFT) {\n            current -= 5;\n            if (current < 0) current = 0;\n        } else if (callback(current, key, data)) {\n            break;\n        }\n    }\n\n    // Reselect the original console\n    consoleSelect(currentConsole);\n}\n"
  },
  {
    "path": "source/menu.h",
    "content": "#pragma once\n\n#ifndef __MENU_H_INCLUDED__\n#define __MENU_H_INCLUDED__\n#include <3ds.h>\n#include <string>\n#include <vector>\n#include <stdio.h>\n\n#include <stdint.h>\n#include <stddef.h>\n\n\n#define MAX_SELECTED_OPTIONS 0x10\n\n#define COLOR_TITLE 0x0000FF\n#define COLOR_NEUTRAL 0xFFFFFF\n#define COLOR_SELECTED 0xFF0000\n#define COLOR_BACKGROUND 0x000000\n\n#define CONSOLE_REVERSE\t\tCONSOLE_ESC(7m)\n\ntypedef struct ConsoleMenu {\n\tPrintConsole menuConsole;\n} ConsoleMenu;\n\ntypedef struct {\n  int score;\n  int index;\n  std::string titleid;\n  std::string titlekey;\n  std::string name;\n  std::string region;\n  std::string code;\n} game_item;\n\nextern ConsoleMenu currentMenu;\nvoid init_menu(gfxScreen_t screen);\nvoid menu_draw_string(const char* str, int pos_x, int pos_y, const char* color);\nvoid menu_draw_string_full(const char* str, int pos_y, const char* color);\nvoid titles_multkey_draw(const char *title, const char* footer, int back, std::vector<game_item> *options, void* data,\n                         bool (*callback)(int result, u32 key, void* data));\nvoid menu_multkey_draw(const char *title, const char* footer, int back, int count, const char *options[], void* data,\n                       bool (*callback)(int result, u32 key, void* data));\n\n#endif // __MENU_H_INCLUDED__\n"
  },
  {
    "path": "source/svchax/svchax.c",
    "content": "#include <3ds.h>\n#include <stdio.h>\n#include <string.h>\n#include <malloc.h>\n#include \"svchax.h\"\n\n#define CURRENT_KTHREAD          0xFFFF9000\n#define CURRENT_KPROCESS         0xFFFF9004\n#define CURRENT_KPROCESS_HANDLE  0xFFFF8001\n#define RESOURCE_LIMIT_THREADS   0x2\n\n#define MCH2_THREAD_COUNT_MAX    0x20\n#define MCH2_THREAD_STACKS_SIZE  0x1000\n\n#define SVC_ACL_OFFSET(svc_id)   (((svc_id) >> 5) << 2)\n#define SVC_ACL_MASK(svc_id)     (0x1 << ((svc_id) & 0x1F))\n#define THREAD_PAGE_ACL_OFFSET   0xF38\n\nu32 __ctr_svchax = 0;\nu32 __ctr_svchax_srv = 0;\n\nextern void* __service_ptr;\n\ntypedef u32(*backdoor_fn)(u32 arg0, u32 arg1);\n\n__attribute((naked))\nstatic u32 svc_7b(backdoor_fn entry_fn, ...) // can pass up to two arguments to entry_fn(...)\n{\n   __asm__ volatile(\n      \"push {r0, r1, r2} \\n\\t\"\n      \"mov r3, sp \\n\\t\"\n      \"add r0, pc, #12 \\n\\t\"\n      \"svc 0x7B \\n\\t\"\n      \"add sp, sp, #8 \\n\\t\"\n      \"ldr r0, [sp], #4 \\n\\t\"\n      \"bx lr \\n\\t\"\n      \"cpsid aif \\n\\t\"\n      \"ldr r2, [r3], #4 \\n\\t\"\n      \"ldmfd r3!, {r0, r1} \\n\\t\"\n      \"push {r3, lr} \\n\\t\"\n      \"blx r2 \\n\\t\"\n      \"pop {r3, lr} \\n\\t\"\n      \"str r0, [r3, #-4]! \\n\\t\"\n      \"bx lr \\n\\t\");\n   return 0;\n}\n\nstatic void k_enable_all_svcs(u32 isNew3DS)\n{\n   u32* thread_ACL = *(*(u32***)CURRENT_KTHREAD + 0x22) - 0x6;\n   u32* process_ACL = *(u32**)CURRENT_KPROCESS + (isNew3DS ? 0x24 : 0x22);\n\n   memset(thread_ACL, 0xFF, 0x10);\n   memset(process_ACL, 0xFF, 0x10);\n}\n\nstatic u32 k_read_kaddr(u32* kaddr)\n{\n   return *kaddr;\n}\n\nstatic u32 read_kaddr(u32 kaddr)\n{\n   return svc_7b((backdoor_fn)k_read_kaddr, kaddr);\n}\n\nstatic u32 k_write_kaddr(u32* kaddr, u32 val)\n{\n   *kaddr = val;\n   return 0;\n}\n\nstatic void write_kaddr(u32 kaddr, u32 val)\n{\n   svc_7b((backdoor_fn)k_write_kaddr, kaddr, val);\n}\n\n__attribute__((naked))\nstatic u32 get_thread_page(void)\n{\n   __asm__ volatile(\n      \"sub r0, sp, #8 \\n\\t\"\n      \"mov r1, #1 \\n\\t\"\n      \"mov r2, #0 \\n\\t\"\n      \"svc\t0x2A \\n\\t\"\n      \"mov r0, r1, LSR#12 \\n\\t\"\n      \"mov r0, r0, LSL#12 \\n\\t\"\n      \"bx lr \\n\\t\");\n   return 0;\n}\n\ntypedef struct\n{\n   Handle started_event;\n   Handle lock;\n   volatile u32 target_kaddr;\n   volatile u32 target_val;\n} mch2_thread_args_t;\n\ntypedef struct\n{\n   u32* stack_top;\n   Handle handle;\n   bool keep;\n   mch2_thread_args_t args;\n} mch2_thread_t;\n\ntypedef struct\n{\n   u32 old_cpu_time_limit;\n   bool isNew3DS;\n   u32 kernel_fcram_mapping_offset;\n\n   Handle arbiter;\n   volatile u32 alloc_address;\n   volatile u32 alloc_size;\n   u8* flush_buffer;\n\n   Handle dummy_threads_lock;\n   Handle target_threads_lock;\n   Handle main_thread_lock;\n   u32* thread_page_va;\n   u32 thread_page_kva;\n\n   u32 threads_limit;\n   Handle alloc_thread;\n   Handle poll_thread;\n   mch2_thread_t threads[MCH2_THREAD_COUNT_MAX];\n} mch2_vars_t;\n\nstatic void alloc_thread_entry(mch2_vars_t* mch2)\n{\n   u32 tmp;\n\n   svcControlMemory(&tmp, mch2->alloc_address, 0x0, mch2->alloc_size, MEMOP_ALLOC, MEMPERM_READ | MEMPERM_WRITE);\n   svcExitThread();\n}\n\nstatic void dummy_thread_entry(Handle lock)\n{\n   svcWaitSynchronization(lock, U64_MAX);\n   svcExitThread();\n}\n\nstatic void check_tls_thread_entry(bool* keep)\n{\n   *keep = !((u32)getThreadLocalStorage() & 0xFFF);\n   svcExitThread();\n}\n\nstatic void target_thread_entry(mch2_thread_args_t* args)\n{\n   svcSignalEvent(args->started_event);\n   svcWaitSynchronization(args->lock, U64_MAX);\n\n   if (args->target_kaddr)\n      write_kaddr(args->target_kaddr, args->target_val);\n\n   svcExitThread();\n}\n\nstatic u32 get_first_free_basemem_page(bool isNew3DS)\n{\n   s64 v1;\n   int memused_base;\n   int memused_base_linear;  // guessed\n\n   memused_base = osGetMemRegionUsed(MEMREGION_BASE);\n\n   svcGetSystemInfo(&v1, 2, 0);\n   memused_base_linear = 0x6C000 + v1 +\n                         (osGetKernelVersion() > SYSTEM_VERSION(2, 49, 0) ? (isNew3DS ? 0x2000 : 0x1000) : 0x0);\n\n   return (osGetKernelVersion() > SYSTEM_VERSION(2, 40, 0) ? 0xE0000000 : 0xF0000000) // kernel FCRAM mapping\n          + (isNew3DS ? 0x10000000 : 0x08000000)  // FCRAM size\n          - (memused_base - memused_base_linear)  // memory usage for pages allocated without the MEMOP_LINEAR flag\n          - 0x1000;  // skip to the start addr of the next free page\n\n}\n\nstatic u32 get_threads_limit(void)\n{\n   Handle resource_limit_handle;\n   s64 thread_limit_current;\n   s64 thread_limit_max;\n   u32 thread_limit_name = RESOURCE_LIMIT_THREADS;\n\n   svcGetResourceLimit(&resource_limit_handle, CURRENT_KPROCESS_HANDLE);\n   svcGetResourceLimitCurrentValues(&thread_limit_current, resource_limit_handle, &thread_limit_name, 1);\n   svcGetResourceLimitLimitValues(&thread_limit_max, resource_limit_handle, &thread_limit_name, 1);\n   svcCloseHandle(resource_limit_handle);\n\n   if (thread_limit_max > MCH2_THREAD_COUNT_MAX)\n      thread_limit_max = MCH2_THREAD_COUNT_MAX;\n\n   return thread_limit_max - thread_limit_current;\n}\n\nstatic void do_memchunkhax2(void)\n{\n   static u8 flush_buffer[0x8000];\n   static u8 thread_stacks[MCH2_THREAD_STACKS_SIZE];\n\n   int i;\n   u32 tmp;\n   mch2_vars_t mch2 = {0};\n\n   mch2.flush_buffer = flush_buffer;\n   mch2.threads_limit = get_threads_limit();\n   mch2.kernel_fcram_mapping_offset = (osGetKernelVersion() > SYSTEM_VERSION(2, 40, 0)) ? 0xC0000000 : 0xD0000000;\n\n   for (i = 0; i < MCH2_THREAD_COUNT_MAX; i++)\n      mch2.threads[i].stack_top = (u32*)((u32)thread_stacks + (i + 1) * (MCH2_THREAD_STACKS_SIZE / MCH2_THREAD_COUNT_MAX));\n\n   APT_CheckNew3DS(&mch2.isNew3DS);\n   APT_GetAppCpuTimeLimit(&mch2.old_cpu_time_limit);\n   APT_SetAppCpuTimeLimit(5);\n\n   for (i = 0; i < mch2.threads_limit; i++)\n   {\n      svcCreateThread(&mch2.threads[i].handle, (ThreadFunc)check_tls_thread_entry, (u32)&mch2.threads[i].keep,\n                      mch2.threads[i].stack_top, 0x18, 0);\n      svcWaitSynchronization(mch2.threads[i].handle, U64_MAX);\n   }\n\n   for (i = 0; i < mch2.threads_limit; i++)\n      if (!mch2.threads[i].keep)\n         svcCloseHandle(mch2.threads[i].handle);\n\n   svcCreateEvent(&mch2.dummy_threads_lock, 1);\n   svcClearEvent(mch2.dummy_threads_lock);\n\n   for (i = 0; i < mch2.threads_limit; i++)\n      if (!mch2.threads[i].keep)\n         svcCreateThread(&mch2.threads[i].handle, (ThreadFunc)dummy_thread_entry, mch2.dummy_threads_lock,\n                         mch2.threads[i].stack_top, 0x3F - i, 0);\n\n   svcSignalEvent(mch2.dummy_threads_lock);\n\n   for (i = mch2.threads_limit - 1; i >= 0; i--)\n      if (!mch2.threads[i].keep)\n      {\n         svcWaitSynchronization(mch2.threads[i].handle, U64_MAX);\n         svcCloseHandle(mch2.threads[i].handle);\n         mch2.threads[i].handle = 0;\n      }\n      \n   svcSleepThread(40000000LL);\n   svcCloseHandle(mch2.dummy_threads_lock);\n\n   u32 fragmented_address = 0;\n\n   mch2.arbiter = __sync_get_arbiter();\n\n   u32 linear_buffer;\n   svcControlMemory(&linear_buffer, 0, 0, 0x1000, MEMOP_ALLOC_LINEAR, MEMPERM_READ | MEMPERM_WRITE);\n\n   u32 linear_size = 0xF000;\n   u32 skip_pages = 2;\n   mch2.alloc_size = ((((linear_size - (skip_pages << 12)) + 0x1000) >> 13) << 12);\n   u32 mem_free = osGetMemRegionFree(MEMREGION_APPLICATION);\n\n   u32 fragmented_size = mem_free - linear_size;\n   extern u32 __ctru_heap;\n   extern u32 __ctru_heap_size;\n   fragmented_address = __ctru_heap + __ctru_heap_size;\n   u32 linear_address;\n   mch2.alloc_address = fragmented_address + fragmented_size;\n\n   svcControlMemory(&linear_address, 0x0, 0x0, linear_size, MEMOP_ALLOC_LINEAR,\n                    MEMPERM_READ | MEMPERM_WRITE);\n\n   if (fragmented_size)\n      svcControlMemory(&tmp, (u32)fragmented_address, 0x0, fragmented_size, MEMOP_ALLOC,\n                       MEMPERM_READ | MEMPERM_WRITE);\n\n   if (skip_pages)\n      svcControlMemory(&tmp, (u32)linear_address, 0x0, (skip_pages << 12), MEMOP_FREE, MEMPERM_DONTCARE);\n\n   for (i = skip_pages; i < (linear_size >> 12) ; i += 2)\n      svcControlMemory(&tmp, (u32)linear_address + (i << 12), 0x0, 0x1000, MEMOP_FREE, MEMPERM_DONTCARE);\n\n   u32 alloc_address_kaddr = osConvertVirtToPhys((void*)linear_address) + mch2.kernel_fcram_mapping_offset;\n\n   mch2.thread_page_kva = get_first_free_basemem_page(mch2.isNew3DS) - 0x10000; // skip down 16 pages\n   ((u32*)linear_buffer)[0] = 1;\n   ((u32*)linear_buffer)[1] = mch2.thread_page_kva;\n   ((u32*)linear_buffer)[2] = alloc_address_kaddr + (((mch2.alloc_size >> 12) - 3) << 13) + (skip_pages << 12);\n\n   u32 dst_memchunk = linear_address + (((mch2.alloc_size >> 12) - 2) << 13) + (skip_pages << 12);\n\n   memcpy(flush_buffer, flush_buffer + 0x4000, 0x4000);\n\n   GSPGPU_InvalidateDataCache((void*)dst_memchunk, 16);\n   GSPGPU_FlushDataCache((void*)linear_buffer, 16);\n   memcpy(flush_buffer, flush_buffer + 0x4000, 0x4000);\n\n   svcCreateThread(&mch2.alloc_thread, (ThreadFunc)alloc_thread_entry, (u32)&mch2,\n                   mch2.threads[MCH2_THREAD_COUNT_MAX - 1].stack_top, 0x3F, 1);\n\n   while ((u32) svcArbitrateAddress(mch2.arbiter, mch2.alloc_address, ARBITRATION_WAIT_IF_LESS_THAN_TIMEOUT, 0,\n                                    0) == 0xD9001814);\n\n   GX_TextureCopy((void*)linear_buffer, 0, (void*)dst_memchunk, 0, 16, 8);\n   memcpy(flush_buffer, flush_buffer + 0x4000, 0x4000);\n   gspWaitForPPF();\n\n   svcWaitSynchronization(mch2.alloc_thread, U64_MAX);\n   svcCloseHandle(mch2.alloc_thread);\n\n   u32* mapped_page = (u32*)(mch2.alloc_address + mch2.alloc_size - 0x1000);\n\n   volatile u32* thread_ACL = &mapped_page[THREAD_PAGE_ACL_OFFSET >> 2];\n\n   svcCreateEvent(&mch2.main_thread_lock, 0);\n   svcCreateEvent(&mch2.target_threads_lock, 1);\n   svcClearEvent(mch2.target_threads_lock);\n\n   for (i = 0; i < mch2.threads_limit; i++)\n   {\n      if (mch2.threads[i].keep)\n         continue;\n\n      mch2.threads[i].args.started_event = mch2.main_thread_lock;\n      mch2.threads[i].args.lock = mch2.target_threads_lock;\n      mch2.threads[i].args.target_kaddr = 0;\n\n      thread_ACL[0] = 0;\n      GSPGPU_FlushDataCache((void*)thread_ACL, 16);\n      GSPGPU_InvalidateDataCache((void*)thread_ACL, 16);\n\n      svcClearEvent(mch2.main_thread_lock);\n      svcCreateThread(&mch2.threads[i].handle, (ThreadFunc)target_thread_entry, (u32)&mch2.threads[i].args,\n                      mch2.threads[i].stack_top, 0x18, 0);\n      svcWaitSynchronization(mch2.main_thread_lock, U64_MAX);\n\n      if (thread_ACL[0])\n      {\n         thread_ACL[SVC_ACL_OFFSET(0x7B) >> 2] = SVC_ACL_MASK(0x7B);\n         GSPGPU_FlushDataCache((void*)thread_ACL, 16);\n         GSPGPU_InvalidateDataCache((void*)thread_ACL, 16);\n         mch2.threads[i].args.target_kaddr = get_thread_page() + THREAD_PAGE_ACL_OFFSET + SVC_ACL_OFFSET(0x7B);\n         mch2.threads[i].args.target_val = SVC_ACL_MASK(0x7B);\n         break;\n      }\n\n   }\n\n   svcSignalEvent(mch2.target_threads_lock);\n\n   for (i = 0; i < mch2.threads_limit; i++)\n   {\n      if (!mch2.threads[i].handle)\n         continue;\n\n      if (!mch2.threads[i].keep)\n         svcWaitSynchronization(mch2.threads[i].handle, U64_MAX);\n\n      svcCloseHandle(mch2.threads[i].handle);\n   }\n\n   svcCloseHandle(mch2.target_threads_lock);\n   svcCloseHandle(mch2.main_thread_lock);\n\n   svcControlMemory(&tmp, mch2.alloc_address, 0, mch2.alloc_size, MEMOP_FREE, MEMPERM_DONTCARE);\n   write_kaddr(alloc_address_kaddr + linear_size - 0x3000 + 0x4, alloc_address_kaddr + linear_size - 0x1000);\n   svcControlMemory(&tmp, (u32)fragmented_address, 0x0, fragmented_size, MEMOP_FREE, MEMPERM_DONTCARE);\n\n   for (i = 1 + skip_pages; i < (linear_size >> 12) ; i += 2)\n      svcControlMemory(&tmp, (u32)linear_address + (i << 12), 0x0, 0x1000, MEMOP_FREE, MEMPERM_DONTCARE);\n\n   svcControlMemory(&tmp, linear_buffer, 0, 0x1000, MEMOP_FREE, MEMPERM_DONTCARE);\n\n   APT_SetAppCpuTimeLimit(mch2.old_cpu_time_limit);\n}\n\n\nstatic void gspwn(u32 dst, u32 src, u32 size, u8* flush_buffer)\n{\n   memcpy(flush_buffer, flush_buffer + 0x4000, 0x4000);\n   GSPGPU_InvalidateDataCache((void*)dst, size);\n   GSPGPU_FlushDataCache((void*)src, size);\n   memcpy(flush_buffer, flush_buffer + 0x4000, 0x4000);\n\n   GX_TextureCopy((void*)src, 0, (void*)dst, 0, size, 8);\n   gspWaitForPPF();\n\n   memcpy(flush_buffer, flush_buffer + 0x4000, 0x4000);\n}\n\n/* pseudo-code:\n * if(val2)\n * {\n *    *(u32*)val1 = val2;\n *    *(u32*)(val2 + 8) = (val1 - 4);\n * }\n * else\n *    *(u32*)val1 = 0x0;\n */\n\n// X-X--X-X\n// X-XXXX-X\n\nstatic void memchunkhax1_write_pair(u32 val1, u32 val2)\n{\n   u32 linear_buffer;\n   u8* flush_buffer;\n   u32 tmp;\n\n   u32* next_ptr3;\n   u32* prev_ptr3;\n\n   u32* next_ptr1;\n   u32* prev_ptr6;\n\n   svcControlMemory(&linear_buffer, 0, 0, 0x10000, MEMOP_ALLOC_LINEAR, MEMPERM_READ | MEMPERM_WRITE);\n\n   flush_buffer = (u8*)(linear_buffer + 0x8000);\n\n   svcControlMemory(&tmp, linear_buffer + 0x1000, 0, 0x1000, MEMOP_FREE, 0);\n   svcControlMemory(&tmp, linear_buffer + 0x3000, 0, 0x2000, MEMOP_FREE, 0);\n   svcControlMemory(&tmp, linear_buffer + 0x6000, 0, 0x1000, MEMOP_FREE, 0);\n\n   next_ptr1 = (u32*)(linear_buffer + 0x0004);\n   gspwn(linear_buffer + 0x0000, linear_buffer + 0x1000, 16, flush_buffer);\n\n   next_ptr3 = (u32*)(linear_buffer + 0x2004);\n   prev_ptr3 = (u32*)(linear_buffer + 0x2008);\n   gspwn(linear_buffer + 0x2000, linear_buffer + 0x3000, 16, flush_buffer);\n\n   prev_ptr6 = (u32*)(linear_buffer + 0x5008);\n   gspwn(linear_buffer + 0x5000, linear_buffer + 0x6000, 16, flush_buffer);\n\n   *next_ptr1 = *next_ptr3;\n   *prev_ptr6 = *prev_ptr3;\n\n   *prev_ptr3 = val1 - 4;\n   *next_ptr3 = val2;\n   gspwn(linear_buffer + 0x3000, linear_buffer + 0x2000, 16, flush_buffer);\n   svcControlMemory(&tmp, 0, 0, 0x2000, MEMOP_ALLOC_LINEAR, MEMPERM_READ | MEMPERM_WRITE);\n\n   gspwn(linear_buffer + 0x1000, linear_buffer + 0x0000, 16, flush_buffer);\n   gspwn(linear_buffer + 0x6000, linear_buffer + 0x5000, 16, flush_buffer);\n\n   svcControlMemory(&tmp, linear_buffer + 0x0000, 0, 0x1000, MEMOP_FREE, 0);\n   svcControlMemory(&tmp, linear_buffer + 0x2000, 0, 0x4000, MEMOP_FREE, 0);\n   svcControlMemory(&tmp, linear_buffer + 0x7000, 0, 0x9000, MEMOP_FREE, 0);\n\n}\n\nstatic void do_memchunkhax1(void)\n{\n   u32 saved_vram_value = *(u32*)0x1F000008;\n\n   // 0x1F000000 contains the enable bit for svc 0x7B\n   memchunkhax1_write_pair(get_thread_page() + THREAD_PAGE_ACL_OFFSET + SVC_ACL_OFFSET(0x7B), 0x1F000000);\n\n   write_kaddr(0x1F000008, saved_vram_value);\n}\n\nResult svchax_init(bool patch_srv)\n{\n   bool isNew3DS;\n   APT_CheckNew3DS(&isNew3DS);\n\n   u32 kver = osGetKernelVersion();\n\n   if (!__ctr_svchax)\n   {\n      if (__service_ptr)\n      {\n         if (kver > SYSTEM_VERSION(2, 50, 11))\n            return -1;\n         else if (kver > SYSTEM_VERSION(2, 46, 0))\n            do_memchunkhax2();\n         else\n            do_memchunkhax1();\n      }\n\n      svc_7b((backdoor_fn)k_enable_all_svcs, isNew3DS);\n\n      __ctr_svchax = 1;\n   }\n\n   if (patch_srv && !__ctr_svchax_srv)\n   {\n      u32 PID_kaddr = read_kaddr(CURRENT_KPROCESS) + (isNew3DS ? 0xBC : (kver > SYSTEM_VERSION(2, 40, 0)) ? 0xB4 : 0xAC);\n      u32 old_PID = read_kaddr(PID_kaddr);\n      write_kaddr(PID_kaddr, 0);\n      srvExit();\n      srvInit();\n      write_kaddr(PID_kaddr, old_PID);\n\n      __ctr_svchax_srv = 1;\n   }\n\n   return 0;\n}\n"
  },
  {
    "path": "source/svchax/svchax.h",
    "content": "#ifndef __SVCHAX_H__\n#define _SVCHAX_H__\n\n/*\n * for 3DSX builds, svchax_init expects that:\n *\n * - gfxInit was already called.\n * - new 3DS higher clockrate and L2 cache are disabled.\n * - there is at least 64 KBytes (16 pages) of unallocated linear memory.\n *   ( the current 3dsx loaders and ctrulib's default allocator will keep 1MB\n *     of unallocated linear memory, so this is only relevant when using\n *     a custom allocator)\n *\n *\n * svchax_init will grant full svc access to the calling thread and process\n * up to system version 10.7 (kernel version 2.50-11), by using:\n * - memchunkhax1 for kernel version <= 2.46-0\n * - memchunkhax2 for 2.46-0 < kernel version <= 2.50-11\n *\n * access to privileged services can also be obtained by calling\n * svchax_init with patch_srv set to true.\n *\n * __ctr_svchax and __ctr_svchax_srv will reflect the current\n * status of the privileged access for svc calls and services respectively.\n *\n * svchax assumes that CIA builds already have access to svcBackdoor\n * and will skip running memchunkhax there.\n *\n */\n\n#include <3ds/types.h>\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\nResult svchax_init(bool patch_srv);\n\nextern u32 __ctr_svchax;\nextern u32 __ctr_svchax_srv;\n\n#ifdef __cplusplus\n}\n#endif\n\n\n#endif //_SVCHAX_H__\n"
  },
  {
    "path": "source/types.h",
    "content": "/**\nCopyright 2013 3DSGuy\n\nThis file is part of make_cdn_cia.\n\nmake_cdn_cia is free software: you can redistribute it and/or modify\nit under the terms of the GNU General Public License as published by\nthe Free Software Foundation, either version 3 of the License, or\n(at your option) any later version.\n\nmake_cdn_cia is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\nGNU General Public License for more details.\n\nYou should have received a copy of the GNU General Public License\nalong with make_cdn_cia.  If not, see <http://www.gnu.org/licenses/>.\n**/\n#include <stdlib.h>\n#include <stdint.h>\n//Bools\ntypedef enum\n{\n\tFalse,\n\tTrue\n} _boolean;\n\ntypedef enum\n{\n\tGood,\n\tFail\n} return_basic;\n\ntypedef enum\n{\n\tARGC_FAIL = 1,\n\tARGV_FAIL,\n\tIO_FAIL,\n\tFILE_PROCESS_FAIL\n} errors;\n\ntypedef enum\n{\n\tBE = 0,\n\tLE = 1\n} endianness_flag;\n"
  },
  {
    "path": "source/utf8proc/LICENSE.md",
    "content": "## utf8proc license ##\n\n**utf8proc** is a software package originally developed\nby Jan Behrens and the rest of the Public Software Group, who\ndeserve nearly all of the credit for this library, that is now maintained by the Julia-language developers.  Like the original utf8proc,\nwhose copyright and license statements are reproduced below, all new\nwork on the utf8proc library is licensed under the [MIT \"expat\"\nlicense](http://opensource.org/licenses/MIT):\n\n*Copyright &copy; 2014-2015 by Steven G. Johnson, Jiahao Chen, Tony Kelman, Jonas Fonseca, and other contributors listed in the git history.*\n\nPermission is hereby granted, free of charge, to any person obtaining a\ncopy of this software and associated documentation files (the \"Software\"),\nto deal in the Software without restriction, including without limitation\nthe rights to use, copy, modify, merge, publish, distribute, sublicense,\nand/or sell copies of the Software, and to permit persons to whom the\nSoftware is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\nFROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER\nDEALINGS IN THE SOFTWARE.\n\n## Original utf8proc license ##\n\n*Copyright (c) 2009, 2013 Public Software Group e. V., Berlin, Germany*\n\nPermission is hereby granted, free of charge, to any person obtaining a\ncopy of this software and associated documentation files (the \"Software\"),\nto deal in the Software without restriction, including without limitation\nthe rights to use, copy, modify, merge, publish, distribute, sublicense,\nand/or sell copies of the Software, and to permit persons to whom the\nSoftware is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\nFROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER\nDEALINGS IN THE SOFTWARE.\n\n## Unicode data license ##\n\nThis software distribution contains derived data from a modified version of\nthe Unicode data files. The following license applies to that data:\n\n**COPYRIGHT AND PERMISSION NOTICE**\n\n*Copyright (c) 1991-2007 Unicode, Inc. All rights reserved. Distributed\nunder the Terms of Use in http://www.unicode.org/copyright.html.*\n\nPermission is hereby granted, free of charge, to any person obtaining a\ncopy of the Unicode data files and any associated documentation (the \"Data\nFiles\") or Unicode software and any associated documentation (the\n\"Software\") to deal in the Data Files or Software without restriction,\nincluding without limitation the rights to use, copy, modify, merge,\npublish, distribute, and/or sell copies of the Data Files or Software, and\nto permit persons to whom the Data Files or Software are furnished to do\nso, provided that (a) the above copyright notice(s) and this permission\nnotice appear with all copies of the Data Files or Software, (b) both the\nabove copyright notice(s) and this permission notice appear in associated\ndocumentation, and (c) there is clear notice in each modified Data File or\nin the Software as well as in the documentation associated with the Data\nFile(s) or Software that the data or software has been modified.\n\nTHE DATA FILES AND SOFTWARE ARE PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY\nKIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF\nTHIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS\nINCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR\nCONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF\nUSE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER\nTORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THE DATA FILES OR SOFTWARE.\n\nExcept as contained in this notice, the name of a copyright holder shall\nnot be used in advertising or otherwise to promote the sale, use or other\ndealings in these Data Files or Software without prior written\nauthorization of the copyright holder.\n\nUnicode and the Unicode logo are trademarks of Unicode, Inc., and may be\nregistered in some jurisdictions. All other trademarks and registered\ntrademarks mentioned herein are the property of their respective owners.\n"
  },
  {
    "path": "source/utf8proc/utf8proc.c",
    "content": "/* -*- mode: c; c-basic-offset: 2; tab-width: 2; indent-tabs-mode: nil -*- */\n/*\n *  Copyright (c) 2015 Steven G. Johnson, Jiahao Chen, Peter Colberg, Tony Kelman, Scott P. Jones, and other contributors.\n *  Copyright (c) 2009 Public Software Group e. V., Berlin, Germany\n *\n *  Permission is hereby granted, free of charge, to any person obtaining a\n *  copy of this software and associated documentation files (the \"Software\"),\n *  to deal in the Software without restriction, including without limitation\n *  the rights to use, copy, modify, merge, publish, distribute, sublicense,\n *  and/or sell copies of the Software, and to permit persons to whom the\n *  Software is furnished to do so, subject to the following conditions:\n *\n *  The above copyright notice and this permission notice shall be included in\n *  all copies or substantial portions of the Software.\n *\n *  THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n *  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n *  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n *  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n *  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n *  FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER\n *  DEALINGS IN THE SOFTWARE.\n */\n\n/*\n *  This library contains derived data from a modified version of the\n *  Unicode data files.\n *\n *  The original data files are available at\n *  http://www.unicode.org/Public/UNIDATA/\n *\n *  Please notice the copyright statement in the file \"utf8proc_data.c\".\n */\n\n\n/*\n *  File name:    utf8proc.c\n *\n *  Description:\n *  Implementation of libutf8proc.\n */\n\n\n#include \"utf8proc.h\"\n#include \"utf8proc_data.h\"\n\n\nUTF8PROC_DLLEXPORT const utf8proc_int8_t utf8proc_utf8class[256] = {\n  1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n  1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n  1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n  1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n  1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n  1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n  1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n  1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n  2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,\n  2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,\n  3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,\n  4, 4, 4, 4, 4, 4, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0 };\n\n#define UTF8PROC_HANGUL_SBASE 0xAC00\n#define UTF8PROC_HANGUL_LBASE 0x1100\n#define UTF8PROC_HANGUL_VBASE 0x1161\n#define UTF8PROC_HANGUL_TBASE 0x11A7\n#define UTF8PROC_HANGUL_LCOUNT 19\n#define UTF8PROC_HANGUL_VCOUNT 21\n#define UTF8PROC_HANGUL_TCOUNT 28\n#define UTF8PROC_HANGUL_NCOUNT 588\n#define UTF8PROC_HANGUL_SCOUNT 11172\n/* END is exclusive */\n#define UTF8PROC_HANGUL_L_START  0x1100\n#define UTF8PROC_HANGUL_L_END    0x115A\n#define UTF8PROC_HANGUL_L_FILLER 0x115F\n#define UTF8PROC_HANGUL_V_START  0x1160\n#define UTF8PROC_HANGUL_V_END    0x11A3\n#define UTF8PROC_HANGUL_T_START  0x11A8\n#define UTF8PROC_HANGUL_T_END    0x11FA\n#define UTF8PROC_HANGUL_S_START  0xAC00\n#define UTF8PROC_HANGUL_S_END    0xD7A4\n\n/* Should follow semantic-versioning rules (semver.org) based on API\n   compatibility.  (Note that the shared-library version number will\n   be different, being based on ABI compatibility.): */\n#define STRINGIZEx(x) #x\n#define STRINGIZE(x) STRINGIZEx(x)\nUTF8PROC_DLLEXPORT const char *utf8proc_version(void) {\n  return STRINGIZE(UTF8PROC_VERSION_MAJOR) \".\" STRINGIZE(UTF8PROC_VERSION_MINOR) \".\" STRINGIZE(UTF8PROC_VERSION_PATCH) \"\";\n}\n\nUTF8PROC_DLLEXPORT const char *utf8proc_errmsg(utf8proc_ssize_t errcode) {\n  switch (errcode) {\n    case UTF8PROC_ERROR_NOMEM:\n    return \"Memory for processing UTF-8 data could not be allocated.\";\n    case UTF8PROC_ERROR_OVERFLOW:\n    return \"UTF-8 string is too long to be processed.\";\n    case UTF8PROC_ERROR_INVALIDUTF8:\n    return \"Invalid UTF-8 string\";\n    case UTF8PROC_ERROR_NOTASSIGNED:\n    return \"Unassigned Unicode code point found in UTF-8 string.\";\n    case UTF8PROC_ERROR_INVALIDOPTS:\n    return \"Invalid options for UTF-8 processing chosen.\";\n    default:\n    return \"An unknown error occurred while processing UTF-8 data.\";\n  }\n}\n\n#define utf_cont(ch)  (((ch) & 0xc0) == 0x80)\nUTF8PROC_DLLEXPORT utf8proc_ssize_t utf8proc_iterate(\n  const utf8proc_uint8_t *str, utf8proc_ssize_t strlen, utf8proc_int32_t *dst\n) {\n  utf8proc_uint32_t uc;\n  const utf8proc_uint8_t *end;\n\n  *dst = -1;\n  if (!strlen) return 0;\n  end = str + ((strlen < 0) ? 4 : strlen);\n  uc = *str++;\n  if (uc < 0x80) {\n    *dst = uc;\n    return 1;\n  }\n  // Must be between 0xc2 and 0xf4 inclusive to be valid\n  if ((uc - 0xc2) > (0xf4-0xc2)) return UTF8PROC_ERROR_INVALIDUTF8;\n  if (uc < 0xe0) {         // 2-byte sequence\n     // Must have valid continuation character\n     if (str >= end || !utf_cont(*str)) return UTF8PROC_ERROR_INVALIDUTF8;\n     *dst = ((uc & 0x1f)<<6) | (*str & 0x3f);\n     return 2;\n  }\n  if (uc < 0xf0) {        // 3-byte sequence\n     if ((str + 1 >= end) || !utf_cont(*str) || !utf_cont(str[1]))\n        return UTF8PROC_ERROR_INVALIDUTF8;\n     // Check for surrogate chars\n     if (uc == 0xed && *str > 0x9f)\n         return UTF8PROC_ERROR_INVALIDUTF8;\n     uc = ((uc & 0xf)<<12) | ((*str & 0x3f)<<6) | (str[1] & 0x3f);\n     if (uc < 0x800)\n         return UTF8PROC_ERROR_INVALIDUTF8;\n     *dst = uc;\n     return 3;\n  }\n  // 4-byte sequence\n  // Must have 3 valid continuation characters\n  if ((str + 2 >= end) || !utf_cont(*str) || !utf_cont(str[1]) || !utf_cont(str[2]))\n     return UTF8PROC_ERROR_INVALIDUTF8;\n  // Make sure in correct range (0x10000 - 0x10ffff)\n  if (uc == 0xf0) {\n    if (*str < 0x90) return UTF8PROC_ERROR_INVALIDUTF8;\n  } else if (uc == 0xf4) {\n    if (*str > 0x8f) return UTF8PROC_ERROR_INVALIDUTF8;\n  }\n  *dst = ((uc & 7)<<18) | ((*str & 0x3f)<<12) | ((str[1] & 0x3f)<<6) | (str[2] & 0x3f);\n  return 4;\n}\n\nUTF8PROC_DLLEXPORT utf8proc_bool utf8proc_codepoint_valid(utf8proc_int32_t uc) {\n    return (((utf8proc_uint32_t)uc)-0xd800 > 0x07ff) && ((utf8proc_uint32_t)uc < 0x110000);\n}\n\nUTF8PROC_DLLEXPORT utf8proc_ssize_t utf8proc_encode_char(utf8proc_int32_t uc, utf8proc_uint8_t *dst) {\n  if (uc < 0x00) {\n    return 0;\n  } else if (uc < 0x80) {\n    dst[0] = uc;\n    return 1;\n  } else if (uc < 0x800) {\n    dst[0] = 0xC0 + (uc >> 6);\n    dst[1] = 0x80 + (uc & 0x3F);\n    return 2;\n  // Note: we allow encoding 0xd800-0xdfff here, so as not to change\n  // the API, however, these are actually invalid in UTF-8\n  } else if (uc < 0x10000) {\n    dst[0] = 0xE0 + (uc >> 12);\n    dst[1] = 0x80 + ((uc >> 6) & 0x3F);\n    dst[2] = 0x80 + (uc & 0x3F);\n    return 3;\n  } else if (uc < 0x110000) {\n    dst[0] = 0xF0 + (uc >> 18);\n    dst[1] = 0x80 + ((uc >> 12) & 0x3F);\n    dst[2] = 0x80 + ((uc >> 6) & 0x3F);\n    dst[3] = 0x80 + (uc & 0x3F);\n    return 4;\n  } else return 0;\n}\n\n/* internal \"unsafe\" version that does not check whether uc is in range */\nstatic utf8proc_ssize_t unsafe_encode_char(utf8proc_int32_t uc, utf8proc_uint8_t *dst) {\n   if (uc < 0x00) {\n      return 0;\n   } else if (uc < 0x80) {\n      dst[0] = uc;\n      return 1;\n   } else if (uc < 0x800) {\n      dst[0] = 0xC0 + (uc >> 6);\n      dst[1] = 0x80 + (uc & 0x3F);\n      return 2;\n   } else if (uc == 0xFFFF) {\n       dst[0] = 0xFF;\n       return 1;\n   } else if (uc == 0xFFFE) {\n       dst[0] = 0xFE;\n       return 1;\n   } else if (uc < 0x10000) {\n      dst[0] = 0xE0 + (uc >> 12);\n      dst[1] = 0x80 + ((uc >> 6) & 0x3F);\n      dst[2] = 0x80 + (uc & 0x3F);\n      return 3;\n   } else if (uc < 0x110000) {\n      dst[0] = 0xF0 + (uc >> 18);\n      dst[1] = 0x80 + ((uc >> 12) & 0x3F);\n      dst[2] = 0x80 + ((uc >> 6) & 0x3F);\n      dst[3] = 0x80 + (uc & 0x3F);\n      return 4;\n   } else return 0;\n}\n\n/* internal \"unsafe\" version that does not check whether uc is in range */\nstatic const utf8proc_property_t *unsafe_get_property(utf8proc_int32_t uc) {\n  /* ASSERT: uc >= 0 && uc < 0x110000 */\n  return utf8proc_properties + (\n    utf8proc_stage2table[\n      utf8proc_stage1table[uc >> 8] + (uc & 0xFF)\n    ]\n  );\n}\n\nUTF8PROC_DLLEXPORT const utf8proc_property_t *utf8proc_get_property(utf8proc_int32_t uc) {\n  return uc < 0 || uc >= 0x110000 ? utf8proc_properties : unsafe_get_property(uc);\n}\n\n/* return whether there is a grapheme break between boundclasses lbc and tbc */\nstatic utf8proc_bool grapheme_break(int lbc, int tbc) {\n  return \n    (lbc == UTF8PROC_BOUNDCLASS_START) ? true :\n    (lbc == UTF8PROC_BOUNDCLASS_CR &&\n     tbc == UTF8PROC_BOUNDCLASS_LF) ? false :\n    (lbc >= UTF8PROC_BOUNDCLASS_CR && lbc <= UTF8PROC_BOUNDCLASS_CONTROL) ? true :\n    (tbc >= UTF8PROC_BOUNDCLASS_CR && tbc <= UTF8PROC_BOUNDCLASS_CONTROL) ? true :\n    (tbc == UTF8PROC_BOUNDCLASS_EXTEND) ? false :\n    (lbc == UTF8PROC_BOUNDCLASS_L &&\n     (tbc == UTF8PROC_BOUNDCLASS_L ||\n      tbc == UTF8PROC_BOUNDCLASS_V ||\n      tbc == UTF8PROC_BOUNDCLASS_LV ||\n      tbc == UTF8PROC_BOUNDCLASS_LVT)) ? false :\n    ((lbc == UTF8PROC_BOUNDCLASS_LV ||\n      lbc == UTF8PROC_BOUNDCLASS_V) &&\n     (tbc == UTF8PROC_BOUNDCLASS_V ||\n      tbc == UTF8PROC_BOUNDCLASS_T)) ? false :\n    ((lbc == UTF8PROC_BOUNDCLASS_LVT ||\n      lbc == UTF8PROC_BOUNDCLASS_T) &&\n     tbc == UTF8PROC_BOUNDCLASS_T) ? false :\n    (lbc == UTF8PROC_BOUNDCLASS_REGIONAL_INDICATOR &&\n     tbc == UTF8PROC_BOUNDCLASS_REGIONAL_INDICATOR) ? false :\n    (tbc != UTF8PROC_BOUNDCLASS_SPACINGMARK);\n}\n\n/* return whether there is a grapheme break between codepoints c1 and c2 */\nUTF8PROC_DLLEXPORT utf8proc_bool utf8proc_grapheme_break(utf8proc_int32_t c1, utf8proc_int32_t c2) {\n  return grapheme_break(utf8proc_get_property(c1)->boundclass,\n                        utf8proc_get_property(c2)->boundclass);\n}\n\nUTF8PROC_DLLEXPORT utf8proc_int32_t utf8proc_tolower(utf8proc_int32_t c)\n{\n  utf8proc_int32_t cl = utf8proc_get_property(c)->lowercase_mapping;\n  return cl >= 0 ? cl : c;\n}\n\nUTF8PROC_DLLEXPORT utf8proc_int32_t utf8proc_toupper(utf8proc_int32_t c)\n{\n  utf8proc_int32_t cu = utf8proc_get_property(c)->uppercase_mapping;\n  return cu >= 0 ? cu : c;\n}\n\n/* return a character width analogous to wcwidth (except portable and\n   hopefully less buggy than most system wcwidth functions). */\nUTF8PROC_DLLEXPORT int utf8proc_charwidth(utf8proc_int32_t c) {\n  return utf8proc_get_property(c)->charwidth;\n}\n\nUTF8PROC_DLLEXPORT utf8proc_category_t utf8proc_category(utf8proc_int32_t c) {\n  return utf8proc_get_property(c)->category;\n}\n\nUTF8PROC_DLLEXPORT const char *utf8proc_category_string(utf8proc_int32_t c) {\n  static const char s[][3] = {\"Cn\",\"Lu\",\"Ll\",\"Lt\",\"Lm\",\"Lo\",\"Mn\",\"Mc\",\"Me\",\"Nd\",\"Nl\",\"No\",\"Pc\",\"Pd\",\"Ps\",\"Pe\",\"Pi\",\"Pf\",\"Po\",\"Sm\",\"Sc\",\"Sk\",\"So\",\"Zs\",\"Zl\",\"Zp\",\"Cc\",\"Cf\",\"Cs\",\"Co\"};\n  return s[utf8proc_category(c)];\n}\n\n#define utf8proc_decompose_lump(replacement_uc) \\\n  return utf8proc_decompose_char((replacement_uc), dst, bufsize, \\\n  options & ~UTF8PROC_LUMP, last_boundclass)\n\nUTF8PROC_DLLEXPORT utf8proc_ssize_t utf8proc_decompose_char(utf8proc_int32_t uc, utf8proc_int32_t *dst, utf8proc_ssize_t bufsize, utf8proc_option_t options, int *last_boundclass) {\n  const utf8proc_property_t *property;\n  utf8proc_propval_t category;\n  utf8proc_int32_t hangul_sindex;\n  if (uc < 0 || uc >= 0x110000) return UTF8PROC_ERROR_NOTASSIGNED;\n  property = unsafe_get_property(uc);\n  category = property->category;\n  hangul_sindex = uc - UTF8PROC_HANGUL_SBASE;\n  if (options & (UTF8PROC_COMPOSE|UTF8PROC_DECOMPOSE)) {\n    if (hangul_sindex >= 0 && hangul_sindex < UTF8PROC_HANGUL_SCOUNT) {\n      utf8proc_int32_t hangul_tindex;\n      if (bufsize >= 1) {\n        dst[0] = UTF8PROC_HANGUL_LBASE +\n          hangul_sindex / UTF8PROC_HANGUL_NCOUNT;\n        if (bufsize >= 2) dst[1] = UTF8PROC_HANGUL_VBASE +\n          (hangul_sindex % UTF8PROC_HANGUL_NCOUNT) / UTF8PROC_HANGUL_TCOUNT;\n      }\n      hangul_tindex = hangul_sindex % UTF8PROC_HANGUL_TCOUNT;\n      if (!hangul_tindex) return 2;\n      if (bufsize >= 3) dst[2] = UTF8PROC_HANGUL_TBASE + hangul_tindex;\n      return 3;\n    }\n  }\n  if (options & UTF8PROC_REJECTNA) {\n    if (!category) return UTF8PROC_ERROR_NOTASSIGNED;\n  }\n  if (options & UTF8PROC_IGNORE) {\n    if (property->ignorable) return 0;\n  }\n  if (options & UTF8PROC_LUMP) {\n    if (category == UTF8PROC_CATEGORY_ZS) utf8proc_decompose_lump(0x0020);\n    if (uc == 0x2018 || uc == 0x2019 || uc == 0x02BC || uc == 0x02C8)\n      utf8proc_decompose_lump(0x0027);\n    if (category == UTF8PROC_CATEGORY_PD || uc == 0x2212)\n      utf8proc_decompose_lump(0x002D);\n    if (uc == 0x2044 || uc == 0x2215) utf8proc_decompose_lump(0x002F);\n    if (uc == 0x2236) utf8proc_decompose_lump(0x003A);\n    if (uc == 0x2039 || uc == 0x2329 || uc == 0x3008)\n      utf8proc_decompose_lump(0x003C);\n    if (uc == 0x203A || uc == 0x232A || uc == 0x3009)\n      utf8proc_decompose_lump(0x003E);\n    if (uc == 0x2216) utf8proc_decompose_lump(0x005C);\n    if (uc == 0x02C4 || uc == 0x02C6 || uc == 0x2038 || uc == 0x2303)\n      utf8proc_decompose_lump(0x005E);\n    if (category == UTF8PROC_CATEGORY_PC || uc == 0x02CD)\n      utf8proc_decompose_lump(0x005F);\n    if (uc == 0x02CB) utf8proc_decompose_lump(0x0060);\n    if (uc == 0x2223) utf8proc_decompose_lump(0x007C);\n    if (uc == 0x223C) utf8proc_decompose_lump(0x007E);\n    if ((options & UTF8PROC_NLF2LS) && (options & UTF8PROC_NLF2PS)) {\n      if (category == UTF8PROC_CATEGORY_ZL ||\n          category == UTF8PROC_CATEGORY_ZP)\n        utf8proc_decompose_lump(0x000A);\n    }\n  }\n  if (options & UTF8PROC_STRIPMARK) {\n    if (category == UTF8PROC_CATEGORY_MN ||\n      category == UTF8PROC_CATEGORY_MC ||\n      category == UTF8PROC_CATEGORY_ME) return 0;\n  }\n  if (options & UTF8PROC_CASEFOLD) {\n    if (property->casefold_mapping != UINT16_MAX) {\n      const utf8proc_int32_t *casefold_entry;\n      utf8proc_ssize_t written = 0;\n      for (casefold_entry = &utf8proc_sequences[property->casefold_mapping];\n          *casefold_entry >= 0; casefold_entry++) {\n        written += utf8proc_decompose_char(*casefold_entry, dst+written,\n          (bufsize > written) ? (bufsize - written) : 0, options,\n          last_boundclass);\n        if (written < 0) return UTF8PROC_ERROR_OVERFLOW;\n      }\n      return written;\n    }\n  }\n  if (options & (UTF8PROC_COMPOSE|UTF8PROC_DECOMPOSE)) {\n    if (property->decomp_mapping != UINT16_MAX &&\n        (!property->decomp_type || (options & UTF8PROC_COMPAT))) {\n      const utf8proc_int32_t *decomp_entry;\n      utf8proc_ssize_t written = 0;\n      for (decomp_entry = &utf8proc_sequences[property->decomp_mapping];\n          *decomp_entry >= 0; decomp_entry++) {\n        written += utf8proc_decompose_char(*decomp_entry, dst+written,\n          (bufsize > written) ? (bufsize - written) : 0, options,\n        last_boundclass);\n        if (written < 0) return UTF8PROC_ERROR_OVERFLOW;\n      }\n      return written;\n    }\n  }\n  if (options & UTF8PROC_CHARBOUND) {\n    utf8proc_bool boundary;\n    int tbc = property->boundclass;\n    boundary = grapheme_break(*last_boundclass, tbc);\n    *last_boundclass = tbc;\n    if (boundary) {\n      if (bufsize >= 1) dst[0] = 0xFFFF;\n      if (bufsize >= 2) dst[1] = uc;\n      return 2;\n    }\n  }\n  if (bufsize >= 1) *dst = uc;\n  return 1;\n}\n\nUTF8PROC_DLLEXPORT utf8proc_ssize_t utf8proc_decompose(\n  const utf8proc_uint8_t *str, utf8proc_ssize_t strlen,\n  utf8proc_int32_t *buffer, utf8proc_ssize_t bufsize, utf8proc_option_t options\n) {\n  /* strlen will be ignored, if UTF8PROC_NULLTERM is set in options */\n  utf8proc_ssize_t wpos = 0;\n  if ((options & UTF8PROC_COMPOSE) && (options & UTF8PROC_DECOMPOSE))\n    return UTF8PROC_ERROR_INVALIDOPTS;\n  if ((options & UTF8PROC_STRIPMARK) &&\n      !(options & UTF8PROC_COMPOSE) && !(options & UTF8PROC_DECOMPOSE))\n    return UTF8PROC_ERROR_INVALIDOPTS;\n  {\n    utf8proc_int32_t uc;\n    utf8proc_ssize_t rpos = 0;\n    utf8proc_ssize_t decomp_result;\n    int boundclass = UTF8PROC_BOUNDCLASS_START;\n    while (1) {\n      if (options & UTF8PROC_NULLTERM) {\n        rpos += utf8proc_iterate(str + rpos, -1, &uc);\n        /* checking of return value is not necessary,\n           as 'uc' is < 0 in case of error */\n        if (uc < 0) return UTF8PROC_ERROR_INVALIDUTF8;\n        if (rpos < 0) return UTF8PROC_ERROR_OVERFLOW;\n        if (uc == 0) break;\n      } else {\n        if (rpos >= strlen) break;\n        rpos += utf8proc_iterate(str + rpos, strlen - rpos, &uc);\n        if (uc < 0) return UTF8PROC_ERROR_INVALIDUTF8;\n      }\n      decomp_result = utf8proc_decompose_char(\n        uc, buffer + wpos, (bufsize > wpos) ? (bufsize - wpos) : 0, options,\n        &boundclass\n      );\n      if (decomp_result < 0) return decomp_result;\n      wpos += decomp_result;\n      /* prohibiting integer overflows due to too long strings: */\n      if (wpos < 0 ||\n          wpos > (utf8proc_ssize_t)(SSIZE_MAX/sizeof(utf8proc_int32_t)/2))\n        return UTF8PROC_ERROR_OVERFLOW;\n    }\n  }\n  if ((options & (UTF8PROC_COMPOSE|UTF8PROC_DECOMPOSE)) && bufsize >= wpos) {\n    utf8proc_ssize_t pos = 0;\n    while (pos < wpos-1) {\n      utf8proc_int32_t uc1, uc2;\n      const utf8proc_property_t *property1, *property2;\n      uc1 = buffer[pos];\n      uc2 = buffer[pos+1];\n      property1 = unsafe_get_property(uc1);\n      property2 = unsafe_get_property(uc2);\n      if (property1->combining_class > property2->combining_class &&\n          property2->combining_class > 0) {\n        buffer[pos] = uc2;\n        buffer[pos+1] = uc1;\n        if (pos > 0) pos--; else pos++;\n      } else {\n        pos++;\n      }\n    }\n  }\n  return wpos;\n}\n\nUTF8PROC_DLLEXPORT utf8proc_ssize_t utf8proc_reencode(utf8proc_int32_t *buffer, utf8proc_ssize_t length, utf8proc_option_t options) {\n  /* UTF8PROC_NULLTERM option will be ignored, 'length' is never ignored\n     ASSERT: 'buffer' has one spare byte of free space at the end! */\n  if (options & (UTF8PROC_NLF2LS | UTF8PROC_NLF2PS | UTF8PROC_STRIPCC)) {\n    utf8proc_ssize_t rpos;\n    utf8proc_ssize_t wpos = 0;\n    utf8proc_int32_t uc;\n    for (rpos = 0; rpos < length; rpos++) {\n      uc = buffer[rpos];\n      if (uc == 0x000D && rpos < length-1 && buffer[rpos+1] == 0x000A) rpos++;\n      if (uc == 0x000A || uc == 0x000D || uc == 0x0085 ||\n          ((options & UTF8PROC_STRIPCC) && (uc == 0x000B || uc == 0x000C))) {\n        if (options & UTF8PROC_NLF2LS) {\n          if (options & UTF8PROC_NLF2PS) {\n            buffer[wpos++] = 0x000A;\n          } else {\n            buffer[wpos++] = 0x2028;\n          }\n        } else {\n          if (options & UTF8PROC_NLF2PS) {\n            buffer[wpos++] = 0x2029;\n          } else {\n            buffer[wpos++] = 0x0020;\n          }\n        }\n      } else if ((options & UTF8PROC_STRIPCC) &&\n          (uc < 0x0020 || (uc >= 0x007F && uc < 0x00A0))) {\n        if (uc == 0x0009) buffer[wpos++] = 0x0020;\n      } else {\n        buffer[wpos++] = uc;\n      }\n    }\n    length = wpos;\n  }\n  if (options & UTF8PROC_COMPOSE) {\n    utf8proc_int32_t *starter = NULL;\n    utf8proc_int32_t current_char;\n    const utf8proc_property_t *starter_property = NULL, *current_property;\n    utf8proc_propval_t max_combining_class = -1;\n    utf8proc_ssize_t rpos;\n    utf8proc_ssize_t wpos = 0;\n    utf8proc_int32_t composition;\n    for (rpos = 0; rpos < length; rpos++) {\n      current_char = buffer[rpos];\n      current_property = unsafe_get_property(current_char);\n      if (starter && current_property->combining_class > max_combining_class) {\n        /* combination perhaps possible */\n        utf8proc_int32_t hangul_lindex;\n        utf8proc_int32_t hangul_sindex;\n        hangul_lindex = *starter - UTF8PROC_HANGUL_LBASE;\n        if (hangul_lindex >= 0 && hangul_lindex < UTF8PROC_HANGUL_LCOUNT) {\n          utf8proc_int32_t hangul_vindex;\n          hangul_vindex = current_char - UTF8PROC_HANGUL_VBASE;\n          if (hangul_vindex >= 0 && hangul_vindex < UTF8PROC_HANGUL_VCOUNT) {\n            *starter = UTF8PROC_HANGUL_SBASE +\n              (hangul_lindex * UTF8PROC_HANGUL_VCOUNT + hangul_vindex) *\n              UTF8PROC_HANGUL_TCOUNT;\n            starter_property = NULL;\n            continue;\n          }\n        }\n        hangul_sindex = *starter - UTF8PROC_HANGUL_SBASE;\n        if (hangul_sindex >= 0 && hangul_sindex < UTF8PROC_HANGUL_SCOUNT &&\n            (hangul_sindex % UTF8PROC_HANGUL_TCOUNT) == 0) {\n          utf8proc_int32_t hangul_tindex;\n          hangul_tindex = current_char - UTF8PROC_HANGUL_TBASE;\n          if (hangul_tindex >= 0 && hangul_tindex < UTF8PROC_HANGUL_TCOUNT) {\n            *starter += hangul_tindex;\n            starter_property = NULL;\n            continue;\n          }\n        }\n        if (!starter_property) {\n          starter_property = unsafe_get_property(*starter);\n        }\n        if (starter_property->comb1st_index >= 0 &&\n            current_property->comb2nd_index >= 0) {\n          composition = utf8proc_combinations[\n            starter_property->comb1st_index +\n            current_property->comb2nd_index\n          ];\n          if (composition >= 0 && (!(options & UTF8PROC_STABLE) ||\n              !(unsafe_get_property(composition)->comp_exclusion))) {\n            *starter = composition;\n            starter_property = NULL;\n            continue;\n          }\n        }\n      }\n      buffer[wpos] = current_char;\n      if (current_property->combining_class) {\n        if (current_property->combining_class > max_combining_class) {\n          max_combining_class = current_property->combining_class;\n        }\n      } else {\n        starter = buffer + wpos;\n        starter_property = NULL;\n        max_combining_class = -1;\n      }\n      wpos++;\n    }\n    length = wpos;\n  }\n  {\n    utf8proc_ssize_t rpos, wpos = 0;\n    utf8proc_int32_t uc;\n    if (options & UTF8PROC_CHARBOUND) {\n        for (rpos = 0; rpos < length; rpos++) {\n            uc = buffer[rpos];\n            wpos += unsafe_encode_char(uc, ((utf8proc_uint8_t *)buffer) + wpos);\n        }\n    } else {\n        for (rpos = 0; rpos < length; rpos++) {\n            uc = buffer[rpos];\n            wpos += utf8proc_encode_char(uc, ((utf8proc_uint8_t *)buffer) + wpos);\n        }\n    }\n    ((utf8proc_uint8_t *)buffer)[wpos] = 0;\n    return wpos;\n  }\n}\n\nUTF8PROC_DLLEXPORT utf8proc_ssize_t utf8proc_map(\n  const utf8proc_uint8_t *str, utf8proc_ssize_t strlen, utf8proc_uint8_t **dstptr, utf8proc_option_t options\n) {\n  utf8proc_int32_t *buffer;\n  utf8proc_ssize_t result;\n  *dstptr = NULL;\n  result = utf8proc_decompose(str, strlen, NULL, 0, options);\n  if (result < 0) return result;\n  buffer = (utf8proc_int32_t *) malloc(result * sizeof(utf8proc_int32_t) + 1);\n  if (!buffer) return UTF8PROC_ERROR_NOMEM;\n  result = utf8proc_decompose(str, strlen, buffer, result, options);\n  if (result < 0) {\n    free(buffer);\n    return result;\n  }\n  result = utf8proc_reencode(buffer, result, options);\n  if (result < 0) {\n    free(buffer);\n    return result;\n  }\n  {\n    utf8proc_int32_t *newptr;\n    newptr = (utf8proc_int32_t *) realloc(buffer, (size_t)result+1);\n    if (newptr) buffer = newptr;\n  }\n  *dstptr = (utf8proc_uint8_t *)buffer;\n  return result;\n}\n\nUTF8PROC_DLLEXPORT utf8proc_uint8_t *utf8proc_NFD(const utf8proc_uint8_t *str) {\n  utf8proc_uint8_t *retval;\n  utf8proc_map(str, 0, &retval, UTF8PROC_NULLTERM | UTF8PROC_STABLE |\n    UTF8PROC_DECOMPOSE);\n  return retval;\n}\n\nUTF8PROC_DLLEXPORT utf8proc_uint8_t *utf8proc_NFC(const utf8proc_uint8_t *str) {\n  utf8proc_uint8_t *retval;\n  utf8proc_map(str, 0, &retval, UTF8PROC_NULLTERM | UTF8PROC_STABLE |\n    UTF8PROC_COMPOSE);\n  return retval;\n}\n\nUTF8PROC_DLLEXPORT utf8proc_uint8_t *utf8proc_NFKD(const utf8proc_uint8_t *str) {\n  utf8proc_uint8_t *retval;\n  utf8proc_map(str, 0, &retval, UTF8PROC_NULLTERM | UTF8PROC_STABLE |\n    UTF8PROC_DECOMPOSE | UTF8PROC_COMPAT);\n  return retval;\n}\n\nUTF8PROC_DLLEXPORT utf8proc_uint8_t *utf8proc_NFKC(const utf8proc_uint8_t *str) {\n  utf8proc_uint8_t *retval;\n  utf8proc_map(str, 0, &retval, UTF8PROC_NULLTERM | UTF8PROC_STABLE |\n    UTF8PROC_COMPOSE | UTF8PROC_COMPAT);\n  return retval;\n}\n\n"
  },
  {
    "path": "source/utf8proc/utf8proc.h",
    "content": "/*\n * Copyright (c) 2015 Steven G. Johnson, Jiahao Chen, Peter Colberg, Tony Kelman, Scott P. Jones, and other contributors.\n * Copyright (c) 2009 Public Software Group e. V., Berlin, Germany\n *\n * Permission is hereby granted, free of charge, to any person obtaining a\n * copy of this software and associated documentation files (the \"Software\"),\n * to deal in the Software without restriction, including without limitation\n * the rights to use, copy, modify, merge, publish, distribute, sublicense,\n * and/or sell copies of the Software, and to permit persons to whom the\n * Software is furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER\n * DEALINGS IN THE SOFTWARE.\n */\n\n\n/** \n * @mainpage\n *\n * utf8proc is a free/open-source (MIT/expat licensed) C library\n * providing Unicode normalization, case-folding, and other operations\n * for strings in the UTF-8 encoding, supporting Unicode version\n * 8.0.0.  See the utf8proc home page (http://julialang.org/utf8proc/)\n * for downloads and other information, or the source code on github\n * (https://github.com/JuliaLang/utf8proc).\n *\n * For the utf8proc API documentation, see: @ref utf8proc.h\n *\n * The features of utf8proc include:\n *\n * - Transformation of strings (@ref utf8proc_map) to:\n *    - decompose (@ref UTF8PROC_DECOMPOSE) or compose (@ref UTF8PROC_COMPOSE) Unicode combining characters (http://en.wikipedia.org/wiki/Combining_character)\n *    - canonicalize Unicode compatibility characters (@ref UTF8PROC_COMPAT)\n *    - strip \"ignorable\" (@ref UTF8PROC_IGNORE) characters, control characters (@ref UTF8PROC_STRIPCC), or combining characters such as accents (@ref UTF8PROC_STRIPMARK)\n *    - case-folding (@ref UTF8PROC_CASEFOLD)\n * - Unicode normalization: @ref utf8proc_NFD, @ref utf8proc_NFC, @ref utf8proc_NFKD, @ref utf8proc_NFKC\n * - Detecting grapheme boundaries (@ref utf8proc_grapheme_break and @ref UTF8PROC_CHARBOUND)\n * - Character-width computation: @ref utf8proc_charwidth\n * - Classification of characters by Unicode category: @ref utf8proc_category and @ref utf8proc_category_string\n * - Encode (@ref utf8proc_encode_char) and decode (@ref utf8proc_iterate) Unicode codepoints to/from UTF-8.\n */\n\n/** @file */\n\n#ifndef UTF8PROC_H\n#define UTF8PROC_H\n\n/** @name API version\n *  \n * The utf8proc API version MAJOR.MINOR.PATCH, following\n * semantic-versioning rules (http://semver.org) based on API\n * compatibility.\n *\n * This is also returned at runtime by @ref utf8proc_version; however, the\n * runtime version may append a string like \"-dev\" to the version number\n * for prerelease versions.\n *\n * @note The shared-library version number in the Makefile may be different,\n *       being based on ABI compatibility rather than API compatibility.\n */\n/** @{ */\n/** The MAJOR version number (increased when backwards API compatibility is broken). */\n#define UTF8PROC_VERSION_MAJOR 1\n/** The MINOR version number (increased when new functionality is added in a backwards-compatible manner). */\n#define UTF8PROC_VERSION_MINOR 3\n/** The PATCH version (increased for fixes that do not change the API). */\n#define UTF8PROC_VERSION_PATCH 0\n/** @} */\n\n#include <stdlib.h>\n#include <sys/types.h>\n#ifdef _MSC_VER\ntypedef signed char utf8proc_int8_t;\ntypedef unsigned char utf8proc_uint8_t;\ntypedef short utf8proc_int16_t;\ntypedef unsigned short utf8proc_uint16_t;\ntypedef int utf8proc_int32_t;\ntypedef unsigned int utf8proc_uint32_t;\n#  ifdef _WIN64\ntypedef __int64 utf8proc_ssize_t;\ntypedef unsigned __int64 utf8proc_size_t;\n#  else\ntypedef int utf8proc_ssize_t;\ntypedef unsigned int utf8proc_size_t;\n#  endif\n#  ifndef __cplusplus\ntypedef unsigned char utf8proc_bool;\nenum {false, true};\n#  else\ntypedef bool utf8proc_bool;\n#  endif\n#else\n#  include <stdbool.h>\n#  include <inttypes.h>\ntypedef int8_t utf8proc_int8_t;\ntypedef uint8_t utf8proc_uint8_t;\ntypedef int16_t utf8proc_int16_t;\ntypedef uint16_t utf8proc_uint16_t;\ntypedef int32_t utf8proc_int32_t;\ntypedef uint32_t utf8proc_uint32_t;\ntypedef size_t utf8proc_size_t;\ntypedef ssize_t utf8proc_ssize_t;\ntypedef bool utf8proc_bool;\n#endif\n#include <limits.h>\n\n#ifdef _WIN32\n#  ifdef UTF8PROC_EXPORTS\n#    define UTF8PROC_DLLEXPORT __declspec(dllexport)\n#  else\n#    define UTF8PROC_DLLEXPORT __declspec(dllimport)\n#  endif\n#elif __GNUC__ >= 4\n#  define UTF8PROC_DLLEXPORT __attribute__ ((visibility(\"default\")))\n#else\n#  define UTF8PROC_DLLEXPORT\n#endif\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n#ifndef SSIZE_MAX\n#define SSIZE_MAX ((size_t)SIZE_MAX/2)\n#endif\n\n#ifndef UINT16_MAX\n#  define UINT16_MAX ~(utf8proc_uint16_t)0\n#endif\n\n/**\n * Option flags used by several functions in the library.\n */\ntypedef enum {\n  /** The given UTF-8 input is NULL terminated. */\n  UTF8PROC_NULLTERM  = (1<<0),\n  /** Unicode Versioning Stability has to be respected. */\n  UTF8PROC_STABLE    = (1<<1),\n  /** Compatibility decomposition (i.e. formatting information is lost). */\n  UTF8PROC_COMPAT    = (1<<2),\n  /** Return a result with decomposed characters. */\n  UTF8PROC_COMPOSE   = (1<<3),\n  /** Return a result with decomposed characters. */\n  UTF8PROC_DECOMPOSE = (1<<4),\n  /** Strip \"default ignorable characters\" such as SOFT-HYPHEN or ZERO-WIDTH-SPACE. */\n  UTF8PROC_IGNORE    = (1<<5),\n  /** Return an error, if the input contains unassigned codepoints. */\n  UTF8PROC_REJECTNA  = (1<<6),\n  /**\n   * Indicating that NLF-sequences (LF, CRLF, CR, NEL) are representing a\n   * line break, and should be converted to the codepoint for line\n   * separation (LS).\n   */\n  UTF8PROC_NLF2LS    = (1<<7),\n  /**\n   * Indicating that NLF-sequences are representing a paragraph break, and\n   * should be converted to the codepoint for paragraph separation\n   * (PS).\n   */\n  UTF8PROC_NLF2PS    = (1<<8),\n  /** Indicating that the meaning of NLF-sequences is unknown. */\n  UTF8PROC_NLF2LF    = (UTF8PROC_NLF2LS | UTF8PROC_NLF2PS),\n  /** Strips and/or convers control characters.\n   *\n   * NLF-sequences are transformed into space, except if one of the\n   * NLF2LS/PS/LF options is given. HorizontalTab (HT) and FormFeed (FF)\n   * are treated as a NLF-sequence in this case.  All other control\n   * characters are simply removed.\n   */\n  UTF8PROC_STRIPCC   = (1<<9),\n  /**\n   * Performs unicode case folding, to be able to do a case-insensitive\n   * string comparison.\n   */\n  UTF8PROC_CASEFOLD  = (1<<10),\n  /**\n   * Inserts 0xFF bytes at the beginning of each sequence which is\n   * representing a single grapheme cluster (see UAX#29).\n   */\n  UTF8PROC_CHARBOUND = (1<<11),\n  /** Lumps certain characters together.\n   *\n   * E.g. HYPHEN U+2010 and MINUS U+2212 to ASCII \"-\". See lump.md for details.\n   *\n   * If NLF2LF is set, this includes a transformation of paragraph and\n   * line separators to ASCII line-feed (LF).\n   */\n  UTF8PROC_LUMP      = (1<<12),\n  /** Strips all character markings.\n   *\n   * This includes non-spacing, spacing and enclosing (i.e. accents).\n   * @note This option works only with @ref UTF8PROC_COMPOSE or\n   *       @ref UTF8PROC_DECOMPOSE\n   */\n  UTF8PROC_STRIPMARK = (1<<13),\n} utf8proc_option_t;\n\n/** @name Error codes\n * Error codes being returned by almost all functions.\n */\n/** @{ */\n/** Memory could not be allocated. */\n#define UTF8PROC_ERROR_NOMEM -1\n/** The given string is too long to be processed. */\n#define UTF8PROC_ERROR_OVERFLOW -2\n/** The given string is not a legal UTF-8 string. */\n#define UTF8PROC_ERROR_INVALIDUTF8 -3\n/** The @ref UTF8PROC_REJECTNA flag was set and an unassigned codepoint was found. */\n#define UTF8PROC_ERROR_NOTASSIGNED -4\n/** Invalid options have been used. */\n#define UTF8PROC_ERROR_INVALIDOPTS -5\n/** @} */\n\n/* @name Types */\n\n/** Holds the value of a property. */\ntypedef utf8proc_int16_t utf8proc_propval_t;\n\n/** Struct containing information about a codepoint. */\ntypedef struct utf8proc_property_struct {\n  /**\n   * Unicode category.\n   * @see utf8proc_category_t.\n   */\n  utf8proc_propval_t category;\n  utf8proc_propval_t combining_class;\n  /**\n   * Bidirectional class.\n   * @see utf8proc_bidi_class_t.\n   */\n  utf8proc_propval_t bidi_class;\n  /**\n   * @anchor Decomposition type.\n   * @see utf8proc_decomp_type_t.\n   */\n  utf8proc_propval_t decomp_type;\n  utf8proc_uint16_t decomp_mapping;\n  utf8proc_uint16_t casefold_mapping;\n  utf8proc_int32_t uppercase_mapping;\n  utf8proc_int32_t lowercase_mapping;\n  utf8proc_int32_t titlecase_mapping;\n  utf8proc_int32_t comb1st_index;\n  utf8proc_int32_t comb2nd_index;\n  unsigned bidi_mirrored:1;\n  unsigned comp_exclusion:1;\n  /**\n   * Can this codepoint be ignored?\n   *\n   * Used by @ref utf8proc_decompose_char when @ref UTF8PROC_IGNORE is\n   * passed as an option.\n   */\n  unsigned ignorable:1;\n  unsigned control_boundary:1;\n  /**\n   * Boundclass.\n   * @see utf8proc_boundclass_t.\n   */\n  unsigned boundclass:4;\n  /** The width of the codepoint. */\n  unsigned charwidth:2;\n} utf8proc_property_t;\n\n/** Unicode categories. */\ntypedef enum {\n  UTF8PROC_CATEGORY_CN  = 0, /**< Other, not assigned */\n  UTF8PROC_CATEGORY_LU  = 1, /**< Letter, uppercase */\n  UTF8PROC_CATEGORY_LL  = 2, /**< Letter, lowercase */\n  UTF8PROC_CATEGORY_LT  = 3, /**< Letter, titlecase */\n  UTF8PROC_CATEGORY_LM  = 4, /**< Letter, modifier */\n  UTF8PROC_CATEGORY_LO  = 5, /**< Letter, other */\n  UTF8PROC_CATEGORY_MN  = 6, /**< Mark, nonspacing */\n  UTF8PROC_CATEGORY_MC  = 7, /**< Mark, spacing combining */\n  UTF8PROC_CATEGORY_ME  = 8, /**< Mark, enclosing */\n  UTF8PROC_CATEGORY_ND  = 9, /**< Number, decimal digit */\n  UTF8PROC_CATEGORY_NL = 10, /**< Number, letter */\n  UTF8PROC_CATEGORY_NO = 11, /**< Number, other */\n  UTF8PROC_CATEGORY_PC = 12, /**< Punctuation, connector */\n  UTF8PROC_CATEGORY_PD = 13, /**< Punctuation, dash */\n  UTF8PROC_CATEGORY_PS = 14, /**< Punctuation, open */\n  UTF8PROC_CATEGORY_PE = 15, /**< Punctuation, close */\n  UTF8PROC_CATEGORY_PI = 16, /**< Punctuation, initial quote */\n  UTF8PROC_CATEGORY_PF = 17, /**< Punctuation, final quote */\n  UTF8PROC_CATEGORY_PO = 18, /**< Punctuation, other */\n  UTF8PROC_CATEGORY_SM = 19, /**< Symbol, math */\n  UTF8PROC_CATEGORY_SC = 20, /**< Symbol, currency */\n  UTF8PROC_CATEGORY_SK = 21, /**< Symbol, modifier */\n  UTF8PROC_CATEGORY_SO = 22, /**< Symbol, other */\n  UTF8PROC_CATEGORY_ZS = 23, /**< Separator, space */\n  UTF8PROC_CATEGORY_ZL = 24, /**< Separator, line */\n  UTF8PROC_CATEGORY_ZP = 25, /**< Separator, paragraph */\n  UTF8PROC_CATEGORY_CC = 26, /**< Other, control */\n  UTF8PROC_CATEGORY_CF = 27, /**< Other, format */\n  UTF8PROC_CATEGORY_CS = 28, /**< Other, surrogate */\n  UTF8PROC_CATEGORY_CO = 29, /**< Other, private use */\n} utf8proc_category_t;\n\n/** Bidirectional character classes. */\ntypedef enum {\n  UTF8PROC_BIDI_CLASS_L     = 1, /**< Left-to-Right */\n  UTF8PROC_BIDI_CLASS_LRE   = 2, /**< Left-to-Right Embedding */\n  UTF8PROC_BIDI_CLASS_LRO   = 3, /**< Left-to-Right Override */\n  UTF8PROC_BIDI_CLASS_R     = 4, /**< Right-to-Left */\n  UTF8PROC_BIDI_CLASS_AL    = 5, /**< Right-to-Left Arabic */\n  UTF8PROC_BIDI_CLASS_RLE   = 6, /**< Right-to-Left Embedding */\n  UTF8PROC_BIDI_CLASS_RLO   = 7, /**< Right-to-Left Override */\n  UTF8PROC_BIDI_CLASS_PDF   = 8, /**< Pop Directional Format */\n  UTF8PROC_BIDI_CLASS_EN    = 9, /**< European Number */\n  UTF8PROC_BIDI_CLASS_ES   = 10, /**< European Separator */\n  UTF8PROC_BIDI_CLASS_ET   = 11, /**< European Number Terminator */\n  UTF8PROC_BIDI_CLASS_AN   = 12, /**< Arabic Number */\n  UTF8PROC_BIDI_CLASS_CS   = 13, /**< Common Number Separator */\n  UTF8PROC_BIDI_CLASS_NSM  = 14, /**< Nonspacing Mark */\n  UTF8PROC_BIDI_CLASS_BN   = 15, /**< Boundary Neutral */\n  UTF8PROC_BIDI_CLASS_B    = 16, /**< Paragraph Separator */\n  UTF8PROC_BIDI_CLASS_S    = 17, /**< Segment Separator */\n  UTF8PROC_BIDI_CLASS_WS   = 18, /**< Whitespace */\n  UTF8PROC_BIDI_CLASS_ON   = 19, /**< Other Neutrals */\n  UTF8PROC_BIDI_CLASS_LRI  = 20, /**< Left-to-Right Isolate */\n  UTF8PROC_BIDI_CLASS_RLI  = 21, /**< Right-to-Left Isolate */\n  UTF8PROC_BIDI_CLASS_FSI  = 22, /**< First Strong Isolate */\n  UTF8PROC_BIDI_CLASS_PDI  = 23, /**< Pop Directional Isolate */\n} utf8proc_bidi_class_t;\n\n/** Decomposition type. */\ntypedef enum {\n  UTF8PROC_DECOMP_TYPE_FONT      = 1, /**< Font */\n  UTF8PROC_DECOMP_TYPE_NOBREAK   = 2, /**< Nobreak */\n  UTF8PROC_DECOMP_TYPE_INITIAL   = 3, /**< Initial */\n  UTF8PROC_DECOMP_TYPE_MEDIAL    = 4, /**< Medial */\n  UTF8PROC_DECOMP_TYPE_FINAL     = 5, /**< Final */\n  UTF8PROC_DECOMP_TYPE_ISOLATED  = 6, /**< Isolated */\n  UTF8PROC_DECOMP_TYPE_CIRCLE    = 7, /**< Circle */\n  UTF8PROC_DECOMP_TYPE_SUPER     = 8, /**< Super */\n  UTF8PROC_DECOMP_TYPE_SUB       = 9, /**< Sub */\n  UTF8PROC_DECOMP_TYPE_VERTICAL = 10, /**< Vertical */\n  UTF8PROC_DECOMP_TYPE_WIDE     = 11, /**< Wide */\n  UTF8PROC_DECOMP_TYPE_NARROW   = 12, /**< Narrow */\n  UTF8PROC_DECOMP_TYPE_SMALL    = 13, /**< Small */\n  UTF8PROC_DECOMP_TYPE_SQUARE   = 14, /**< Square */\n  UTF8PROC_DECOMP_TYPE_FRACTION = 15, /**< Fraction */\n  UTF8PROC_DECOMP_TYPE_COMPAT   = 16, /**< Compat */\n} utf8proc_decomp_type_t;\n\n/** Boundclass property. */\ntypedef enum {\n  UTF8PROC_BOUNDCLASS_START              =  0, /**< Start */\n  UTF8PROC_BOUNDCLASS_OTHER              =  1, /**< Other */\n  UTF8PROC_BOUNDCLASS_CR                 =  2, /**< Cr */\n  UTF8PROC_BOUNDCLASS_LF                 =  3, /**< Lf */\n  UTF8PROC_BOUNDCLASS_CONTROL            =  4, /**< Control */\n  UTF8PROC_BOUNDCLASS_EXTEND             =  5, /**< Extend */\n  UTF8PROC_BOUNDCLASS_L                  =  6, /**< L */\n  UTF8PROC_BOUNDCLASS_V                  =  7, /**< V */\n  UTF8PROC_BOUNDCLASS_T                  =  8, /**< T */\n  UTF8PROC_BOUNDCLASS_LV                 =  9, /**< Lv */\n  UTF8PROC_BOUNDCLASS_LVT                = 10, /**< Lvt */\n  UTF8PROC_BOUNDCLASS_REGIONAL_INDICATOR = 11, /**< Regional indicator */\n  UTF8PROC_BOUNDCLASS_SPACINGMARK        = 12, /**< Spacingmark */\n} utf8proc_boundclass_t;\n\n/**\n * Array containing the byte lengths of a UTF-8 encoded codepoint based\n * on the first byte.\n */\nUTF8PROC_DLLEXPORT extern const utf8proc_int8_t utf8proc_utf8class[256];\n\n/**\n * Returns the utf8proc API version as a string MAJOR.MINOR.PATCH\n * (http://semver.org format), possibly with a \"-dev\" suffix for\n * development versions.\n */\nUTF8PROC_DLLEXPORT const char *utf8proc_version(void);\n\n/**\n * Returns an informative error string for the given utf8proc error code\n * (e.g. the error codes returned by @ref utf8proc_map).\n */\nUTF8PROC_DLLEXPORT const char *utf8proc_errmsg(utf8proc_ssize_t errcode);\n\n/**\n * Reads a single codepoint from the UTF-8 sequence being pointed to by `str`.\n * The maximum number of bytes read is `strlen`, unless `strlen` is\n * negative (in which case up to 4 bytes are read).\n *\n * If a valid codepoint could be read, it is stored in the variable\n * pointed to by `codepoint_ref`, otherwise that variable will be set to -1.\n * In case of success, the number of bytes read is returned; otherwise, a\n * negative error code is returned.\n */\nUTF8PROC_DLLEXPORT utf8proc_ssize_t utf8proc_iterate(const utf8proc_uint8_t *str, utf8proc_ssize_t strlen, utf8proc_int32_t *codepoint_ref);\n\n/**\n * Check if a codepoint is valid (regardless of whether it has been\n * assigned a value by the current Unicode standard).\n *\n * @return 1 if the given `codepoint` is valid and otherwise return 0.\n */\nUTF8PROC_DLLEXPORT utf8proc_bool utf8proc_codepoint_valid(utf8proc_int32_t codepoint);\n\n/**\n * Encodes the codepoint as an UTF-8 string in the byte array pointed\n * to by `dst`. This array must be at least 4 bytes long.\n *\n * In case of success the number of bytes written is returned, and\n * otherwise 0 is returned.\n *\n * This function does not check whether `codepoint` is valid Unicode.\n */\nUTF8PROC_DLLEXPORT utf8proc_ssize_t utf8proc_encode_char(utf8proc_int32_t codepoint, utf8proc_uint8_t *dst);\n\n/**\n * Look up the properties for a given codepoint.\n *\n * @param codepoint The Unicode codepoint.\n *\n * @returns\n * A pointer to a (constant) struct containing information about\n * the codepoint.\n * @par\n * If the codepoint is unassigned or invalid, a pointer to a special struct is\n * returned in which `category` is 0 (@ref UTF8PROC_CATEGORY_CN).\n */\nUTF8PROC_DLLEXPORT const utf8proc_property_t *utf8proc_get_property(utf8proc_int32_t codepoint);\n\n/** Decompose a codepoint into an array of codepoints.\n *\n * @param codepoint the codepoint.\n * @param dst the destination buffer.\n * @param bufsize the size of the destination buffer.\n * @param options one or more of the following flags:\n * - @ref UTF8PROC_REJECTNA  - return an error `codepoint` is unassigned\n * - @ref UTF8PROC_IGNORE    - strip \"default ignorable\" codepoints\n * - @ref UTF8PROC_CASEFOLD  - apply Unicode casefolding\n * - @ref UTF8PROC_COMPAT    - replace certain codepoints with their\n *                             compatibility decomposition\n * - @ref UTF8PROC_CHARBOUND - insert 0xFF bytes before each grapheme cluster\n * - @ref UTF8PROC_LUMP      - lump certain different codepoints together\n * - @ref UTF8PROC_STRIPMARK - remove all character marks\n * @param last_boundclass\n * Pointer to an integer variable containing\n * the previous codepoint's boundary class if the @ref UTF8PROC_CHARBOUND\n * option is used.  Otherwise, this parameter is ignored.\n *\n * @return\n * In case of success, the number of codepoints written is returned; in case\n * of an error, a negative error code is returned (@ref utf8proc_errmsg).\n * @par\n * If the number of written codepoints would be bigger than `bufsize`, the\n * required buffer size is returned, while the buffer will be overwritten with\n * undefined data.\n */\nUTF8PROC_DLLEXPORT utf8proc_ssize_t utf8proc_decompose_char(\n  utf8proc_int32_t codepoint, utf8proc_int32_t *dst, utf8proc_ssize_t bufsize,\n  utf8proc_option_t options, int *last_boundclass\n);\n\n/**\n * The same as @ref utf8proc_decompose_char, but acts on a whole UTF-8\n * string and orders the decomposed sequences correctly.\n *\n * If the @ref UTF8PROC_NULLTERM flag in `options` is set, processing\n * will be stopped, when a NULL byte is encounted, otherwise `strlen`\n * bytes are processed.  The result (in the form of 32-bit unicode\n * codepoints) is written into the buffer being pointed to by\n * `buffer` (which must contain at least `bufsize` entries).  In case of\n * success, the number of codepoints written is returned; in case of an\n * error, a negative error code is returned (@ref utf8proc_errmsg).\n *\n * If the number of written codepoints would be bigger than `bufsize`, the\n * required buffer size is returned, while the buffer will be overwritten with\n * undefined data.\n */\nUTF8PROC_DLLEXPORT utf8proc_ssize_t utf8proc_decompose(\n  const utf8proc_uint8_t *str, utf8proc_ssize_t strlen,\n  utf8proc_int32_t *buffer, utf8proc_ssize_t bufsize, utf8proc_option_t options\n);\n\n/**\n * Reencodes the sequence of `length` codepoints pointed to by `buffer`\n * UTF-8 data in-place (i.e., the result is also stored in `buffer`).\n *\n * @param buffer the (native-endian UTF-32) unicode codepoints to re-encode.\n * @param length the length (in codepoints) of the buffer.\n * @param options a bitwise or (`|`) of one or more of the following flags:\n * - @ref UTF8PROC_NLF2LS  - convert LF, CRLF, CR and NEL into LS\n * - @ref UTF8PROC_NLF2PS  - convert LF, CRLF, CR and NEL into PS\n * - @ref UTF8PROC_NLF2LF  - convert LF, CRLF, CR and NEL into LF\n * - @ref UTF8PROC_STRIPCC - strip or convert all non-affected control characters\n * - @ref UTF8PROC_COMPOSE - try to combine decomposed codepoints into composite\n *                           codepoints\n * - @ref UTF8PROC_STABLE  - prohibit combining characters that would violate\n *                           the unicode versioning stability\n *\n * @return\n * In case of success, the length (in bytes) of the resulting UTF-8 string is\n * returned; otherwise, a negative error code is returned (@ref utf8proc_errmsg).\n *\n * @warning The amount of free space pointed to by `buffer` must\n *          exceed the amount of the input data by one byte, and the\n *          entries of the array pointed to by `str` have to be in the\n *          range `0x0000` to `0x10FFFF`. Otherwise, the program might crash!\n */\nUTF8PROC_DLLEXPORT utf8proc_ssize_t utf8proc_reencode(utf8proc_int32_t *buffer, utf8proc_ssize_t length, utf8proc_option_t options);\n\n/**\n * Given a pair of consecutive codepoints, return whether a grapheme break is\n * permitted between them (as defined by the extended grapheme clusters in UAX#29).\n */\nUTF8PROC_DLLEXPORT utf8proc_bool utf8proc_grapheme_break(utf8proc_int32_t codepoint1, utf8proc_int32_t codepoint2);\n\n\n/**\n * Given a codepoint `c`, return the codepoint of the corresponding\n * lower-case character, if any; otherwise (if there is no lower-case\n * variant, or if `c` is not a valid codepoint) return `c`.\n */\nUTF8PROC_DLLEXPORT utf8proc_int32_t utf8proc_tolower(utf8proc_int32_t c);\n\n/**\n * Given a codepoint `c`, return the codepoint of the corresponding\n * upper-case character, if any; otherwise (if there is no upper-case\n * variant, or if `c` is not a valid codepoint) return `c`.\n */\nUTF8PROC_DLLEXPORT utf8proc_int32_t utf8proc_toupper(utf8proc_int32_t c);\n\n/**\n * Given a codepoint, return a character width analogous to `wcwidth(codepoint)`,\n * except that a width of 0 is returned for non-printable codepoints\n * instead of -1 as in `wcwidth`.\n * \n * @note\n * If you want to check for particular types of non-printable characters,\n * (analogous to `isprint` or `iscntrl`), use @ref utf8proc_category. */\nUTF8PROC_DLLEXPORT int utf8proc_charwidth(utf8proc_int32_t codepoint);\n\n/**\n * Return the Unicode category for the codepoint (one of the\n * @ref utf8proc_category_t constants.)\n */\nUTF8PROC_DLLEXPORT utf8proc_category_t utf8proc_category(utf8proc_int32_t codepoint);\n\n/**\n * Return the two-letter (nul-terminated) Unicode category string for\n * the codepoint (e.g. `\"Lu\"` or `\"Co\"`).\n */\nUTF8PROC_DLLEXPORT const char *utf8proc_category_string(utf8proc_int32_t codepoint);\n\n/**\n * Maps the given UTF-8 string pointed to by `str` to a new UTF-8\n * string, allocated dynamically by `malloc` and returned via `dstptr`.\n *\n * If the @ref UTF8PROC_NULLTERM flag in the `options` field is set,\n * the length is determined by a NULL terminator, otherwise the\n * parameter `strlen` is evaluated to determine the string length, but\n * in any case the result will be NULL terminated (though it might\n * contain NULL characters with the string if `str` contained NULL\n * characters). Other flags in the `options` field are passed to the\n * functions defined above, and regarded as described.\n *\n * In case of success the length of the new string is returned,\n * otherwise a negative error code is returned.\n *\n * @note The memory of the new UTF-8 string will have been allocated\n * with `malloc`, and should therefore be deallocated with `free`.\n */\nUTF8PROC_DLLEXPORT utf8proc_ssize_t utf8proc_map(\n  const utf8proc_uint8_t *str, utf8proc_ssize_t strlen, utf8proc_uint8_t **dstptr, utf8proc_option_t options\n);\n\n/** @name Unicode normalization\n *\n * Returns a pointer to newly allocated memory of a NFD, NFC, NFKD or NFKC\n * normalized version of the null-terminated string `str`.  These\n * are shortcuts to calling @ref utf8proc_map with @ref UTF8PROC_NULLTERM\n * combined with @ref UTF8PROC_STABLE and flags indicating the normalization.\n */\n/** @{ */\n/** NFD normalization (@ref UTF8PROC_DECOMPOSE). */\nUTF8PROC_DLLEXPORT utf8proc_uint8_t *utf8proc_NFD(const utf8proc_uint8_t *str);\n/** NFC normalization (@ref UTF8PROC_COMPOSE). */\nUTF8PROC_DLLEXPORT utf8proc_uint8_t *utf8proc_NFC(const utf8proc_uint8_t *str);\n/** NFD normalization (@ref UTF8PROC_DECOMPOSE and @ref UTF8PROC_COMPAT). */\nUTF8PROC_DLLEXPORT utf8proc_uint8_t *utf8proc_NFKD(const utf8proc_uint8_t *str);\n/** NFD normalization (@ref UTF8PROC_COMPOSE and @ref UTF8PROC_COMPAT). */\nUTF8PROC_DLLEXPORT utf8proc_uint8_t *utf8proc_NFKC(const utf8proc_uint8_t *str);\n/** @} */\n\n#ifdef __cplusplus\n}\n#endif\n\n#endif\n\n"
  },
  {
    "path": "source/utf8proc/utf8proc_data.h",
    "content": "const utf8proc_int32_t utf8proc_sequences[] = {\n  97, -1, 98, -1, 99, -1, 100, \n  -1, 101, -1, 102, -1, 103, -1, 104, \n  -1, 105, -1, 106, -1, 107, -1, 108, \n  -1, 109, -1, 110, -1, 111, -1, 112, \n  -1, 113, -1, 114, -1, 115, -1, 116, \n  -1, 117, -1, 118, -1, 119, -1, 120, \n  -1, 121, -1, 122, -1, 32, -1, 32, \n  776, -1, 32, 772, -1, 50, -1, 51, \n  -1, 32, 769, -1, 956, -1, 32, 807, \n  -1, 49, -1, 49, 8260, 52, -1, 49, \n  8260, 50, -1, 51, 8260, 52, -1, 65, \n  768, -1, 224, -1, 65, 769, -1, 225, \n  -1, 65, 770, -1, 226, -1, 65, 771, \n  -1, 227, -1, 65, 776, -1, 228, -1, \n  65, 778, -1, 229, -1, 230, -1, 67, \n  807, -1, 231, -1, 69, 768, -1, 232, \n  -1, 69, 769, -1, 233, -1, 69, 770, \n  -1, 234, -1, 69, 776, -1, 235, -1, \n  73, 768, -1, 236, -1, 73, 769, -1, \n  237, -1, 73, 770, -1, 238, -1, 73, \n  776, -1, 239, -1, 240, -1, 78, 771, \n  -1, 241, -1, 79, 768, -1, 242, -1, \n  79, 769, -1, 243, -1, 79, 770, -1, \n  244, -1, 79, 771, -1, 245, -1, 79, \n  776, -1, 246, -1, 248, -1, 85, 768, \n  -1, 249, -1, 85, 769, -1, 250, -1, \n  85, 770, -1, 251, -1, 85, 776, -1, \n  252, -1, 89, 769, -1, 253, -1, 254, \n  -1, 115, 115, -1, 97, 768, -1, 97, \n  769, -1, 97, 770, -1, 97, 771, -1, \n  97, 776, -1, 97, 778, -1, 99, 807, \n  -1, 101, 768, -1, 101, 769, -1, 101, \n  770, -1, 101, 776, -1, 105, 768, -1, \n  105, 769, -1, 105, 770, -1, 105, 776, \n  -1, 110, 771, -1, 111, 768, -1, 111, \n  769, -1, 111, 770, -1, 111, 771, -1, \n  111, 776, -1, 117, 768, -1, 117, 769, \n  -1, 117, 770, -1, 117, 776, -1, 121, \n  769, -1, 121, 776, -1, 65, 772, -1, \n  257, -1, 97, 772, -1, 65, 774, -1, \n  259, -1, 97, 774, -1, 65, 808, -1, \n  261, -1, 97, 808, -1, 67, 769, -1, \n  263, -1, 99, 769, -1, 67, 770, -1, \n  265, -1, 99, 770, -1, 67, 775, -1, \n  267, -1, 99, 775, -1, 67, 780, -1, \n  269, -1, 99, 780, -1, 68, 780, -1, \n  271, -1, 100, 780, -1, 273, -1, 69, \n  772, -1, 275, -1, 101, 772, -1, 69, \n  774, -1, 277, -1, 101, 774, -1, 69, \n  775, -1, 279, -1, 101, 775, -1, 69, \n  808, -1, 281, -1, 101, 808, -1, 69, \n  780, -1, 283, -1, 101, 780, -1, 71, \n  770, -1, 285, -1, 103, 770, -1, 71, \n  774, -1, 287, -1, 103, 774, -1, 71, \n  775, -1, 289, -1, 103, 775, -1, 71, \n  807, -1, 291, -1, 103, 807, -1, 72, \n  770, -1, 293, -1, 104, 770, -1, 295, \n  -1, 73, 771, -1, 297, -1, 105, 771, \n  -1, 73, 772, -1, 299, -1, 105, 772, \n  -1, 73, 774, -1, 301, -1, 105, 774, \n  -1, 73, 808, -1, 303, -1, 105, 808, \n  -1, 73, 775, -1, 105, 775, -1, 73, \n  74, -1, 307, -1, 105, 106, -1, 74, \n  770, -1, 309, -1, 106, 770, -1, 75, \n  807, -1, 311, -1, 107, 807, -1, 76, \n  769, -1, 314, -1, 108, 769, -1, 76, \n  807, -1, 316, -1, 108, 807, -1, 76, \n  780, -1, 318, -1, 108, 780, -1, 76, \n  183, -1, 320, -1, 108, 183, -1, 322, \n  -1, 78, 769, -1, 324, -1, 110, 769, \n  -1, 78, 807, -1, 326, -1, 110, 807, \n  -1, 78, 780, -1, 328, -1, 110, 780, \n  -1, 700, 110, -1, 331, -1, 79, 772, \n  -1, 333, -1, 111, 772, -1, 79, 774, \n  -1, 335, -1, 111, 774, -1, 79, 779, \n  -1, 337, -1, 111, 779, -1, 339, -1, \n  82, 769, -1, 341, -1, 114, 769, -1, \n  82, 807, -1, 343, -1, 114, 807, -1, \n  82, 780, -1, 345, -1, 114, 780, -1, \n  83, 769, -1, 347, -1, 115, 769, -1, \n  83, 770, -1, 349, -1, 115, 770, -1, \n  83, 807, -1, 351, -1, 115, 807, -1, \n  83, 780, -1, 353, -1, 115, 780, -1, \n  84, 807, -1, 355, -1, 116, 807, -1, \n  84, 780, -1, 357, -1, 116, 780, -1, \n  359, -1, 85, 771, -1, 361, -1, 117, \n  771, -1, 85, 772, -1, 363, -1, 117, \n  772, -1, 85, 774, -1, 365, -1, 117, \n  774, -1, 85, 778, -1, 367, -1, 117, \n  778, -1, 85, 779, -1, 369, -1, 117, \n  779, -1, 85, 808, -1, 371, -1, 117, \n  808, -1, 87, 770, -1, 373, -1, 119, \n  770, -1, 89, 770, -1, 375, -1, 121, \n  770, -1, 89, 776, -1, 255, -1, 90, \n  769, -1, 378, -1, 122, 769, -1, 90, \n  775, -1, 380, -1, 122, 775, -1, 90, \n  780, -1, 382, -1, 122, 780, -1, 595, \n  -1, 387, -1, 389, -1, 596, -1, 392, \n  -1, 598, -1, 599, -1, 396, -1, 477, \n  -1, 601, -1, 603, -1, 402, -1, 608, \n  -1, 611, -1, 617, -1, 616, -1, 409, \n  -1, 623, -1, 626, -1, 629, -1, 79, \n  795, -1, 417, -1, 111, 795, -1, 419, \n  -1, 421, -1, 640, -1, 424, -1, 643, \n  -1, 429, -1, 648, -1, 85, 795, -1, \n  432, -1, 117, 795, -1, 650, -1, 651, \n  -1, 436, -1, 438, -1, 658, -1, 441, \n  -1, 445, -1, 68, 381, -1, 454, -1, \n  68, 382, -1, 100, 382, -1, 76, 74, \n  -1, 457, -1, 76, 106, -1, 108, 106, \n  -1, 78, 74, -1, 460, -1, 78, 106, \n  -1, 110, 106, -1, 65, 780, -1, 462, \n  -1, 97, 780, -1, 73, 780, -1, 464, \n  -1, 105, 780, -1, 79, 780, -1, 466, \n  -1, 111, 780, -1, 85, 780, -1, 468, \n  -1, 117, 780, -1, 220, 772, -1, 470, \n  -1, 252, 772, -1, 220, 769, -1, 472, \n  -1, 252, 769, -1, 220, 780, -1, 474, \n  -1, 252, 780, -1, 220, 768, -1, 476, \n  -1, 252, 768, -1, 196, 772, -1, 479, \n  -1, 228, 772, -1, 550, 772, -1, 481, \n  -1, 551, 772, -1, 198, 772, -1, 483, \n  -1, 230, 772, -1, 485, -1, 71, 780, \n  -1, 487, -1, 103, 780, -1, 75, 780, \n  -1, 489, -1, 107, 780, -1, 79, 808, \n  -1, 491, -1, 111, 808, -1, 490, 772, \n  -1, 493, -1, 491, 772, -1, 439, 780, \n  -1, 495, -1, 658, 780, -1, 106, 780, \n  -1, 68, 90, -1, 499, -1, 68, 122, \n  -1, 100, 122, -1, 71, 769, -1, 501, \n  -1, 103, 769, -1, 405, -1, 447, -1, \n  78, 768, -1, 505, -1, 110, 768, -1, \n  197, 769, -1, 507, -1, 229, 769, -1, \n  198, 769, -1, 509, -1, 230, 769, -1, \n  216, 769, -1, 511, -1, 248, 769, -1, \n  65, 783, -1, 513, -1, 97, 783, -1, \n  65, 785, -1, 515, -1, 97, 785, -1, \n  69, 783, -1, 517, -1, 101, 783, -1, \n  69, 785, -1, 519, -1, 101, 785, -1, \n  73, 783, -1, 521, -1, 105, 783, -1, \n  73, 785, -1, 523, -1, 105, 785, -1, \n  79, 783, -1, 525, -1, 111, 783, -1, \n  79, 785, -1, 527, -1, 111, 785, -1, \n  82, 783, -1, 529, -1, 114, 783, -1, \n  82, 785, -1, 531, -1, 114, 785, -1, \n  85, 783, -1, 533, -1, 117, 783, -1, \n  85, 785, -1, 535, -1, 117, 785, -1, \n  83, 806, -1, 537, -1, 115, 806, -1, \n  84, 806, -1, 539, -1, 116, 806, -1, \n  541, -1, 72, 780, -1, 543, -1, 104, \n  780, -1, 414, -1, 547, -1, 549, -1, \n  65, 775, -1, 551, -1, 97, 775, -1, \n  69, 807, -1, 553, -1, 101, 807, -1, \n  214, 772, -1, 555, -1, 246, 772, -1, \n  213, 772, -1, 557, -1, 245, 772, -1, \n  79, 775, -1, 559, -1, 111, 775, -1, \n  558, 772, -1, 561, -1, 559, 772, -1, \n  89, 772, -1, 563, -1, 121, 772, -1, \n  11365, -1, 572, -1, 410, -1, 11366, -1, \n  578, -1, 384, -1, 649, -1, 652, -1, \n  583, -1, 585, -1, 587, -1, 589, -1, \n  591, -1, 614, -1, 633, -1, 635, -1, \n  641, -1, 32, 774, -1, 32, 775, -1, \n  32, 778, -1, 32, 808, -1, 32, 771, \n  -1, 32, 779, -1, 661, -1, 768, -1, \n  769, -1, 787, -1, 776, 769, -1, 953, \n  -1, 881, -1, 883, -1, 697, -1, 887, \n  -1, 32, 837, -1, 59, -1, 1011, -1, \n  168, 769, -1, 913, 769, -1, 940, -1, \n  183, -1, 917, 769, -1, 941, -1, 919, \n  769, -1, 942, -1, 921, 769, -1, 943, \n  -1, 927, 769, -1, 972, -1, 933, 769, \n  -1, 973, -1, 937, 769, -1, 974, -1, \n  970, 769, -1, 953, 776, 769, -1, 945, \n  -1, 946, -1, 947, -1, 948, -1, 949, \n  -1, 950, -1, 951, -1, 952, -1, 954, \n  -1, 955, -1, 957, -1, 958, -1, 959, \n  -1, 960, -1, 961, -1, 963, -1, 964, \n  -1, 965, -1, 966, -1, 967, -1, 968, \n  -1, 969, -1, 921, 776, -1, 970, -1, \n  933, 776, -1, 971, -1, 945, 769, -1, \n  949, 769, -1, 951, 769, -1, 953, 769, \n  -1, 971, 769, -1, 965, 776, 769, -1, \n  953, 776, -1, 965, 776, -1, 959, 769, \n  -1, 965, 769, -1, 969, 769, -1, 983, \n  -1, 933, -1, 978, 769, -1, 978, 776, \n  -1, 985, -1, 987, -1, 989, -1, 991, \n  -1, 993, -1, 995, -1, 997, -1, 999, \n  -1, 1001, -1, 1003, -1, 1005, -1, 1007, \n  -1, 962, -1, 920, -1, 1016, -1, 931, \n  -1, 1010, -1, 1019, -1, 891, -1, 892, \n  -1, 893, -1, 1045, 768, -1, 1104, -1, \n  1045, 776, -1, 1105, -1, 1106, -1, 1043, \n  769, -1, 1107, -1, 1108, -1, 1109, -1, \n  1110, -1, 1030, 776, -1, 1111, -1, 1112, \n  -1, 1113, -1, 1114, -1, 1115, -1, 1050, \n  769, -1, 1116, -1, 1048, 768, -1, 1117, \n  -1, 1059, 774, -1, 1118, -1, 1119, -1, \n  1072, -1, 1073, -1, 1074, -1, 1075, -1, \n  1076, -1, 1077, -1, 1078, -1, 1079, -1, \n  1080, -1, 1048, 774, -1, 1081, -1, 1082, \n  -1, 1083, -1, 1084, -1, 1085, -1, 1086, \n  -1, 1087, -1, 1088, -1, 1089, -1, 1090, \n  -1, 1091, -1, 1092, -1, 1093, -1, 1094, \n  -1, 1095, -1, 1096, -1, 1097, -1, 1098, \n  -1, 1099, -1, 1100, -1, 1101, -1, 1102, \n  -1, 1103, -1, 1080, 774, -1, 1077, 768, \n  -1, 1077, 776, -1, 1075, 769, -1, 1110, \n  776, -1, 1082, 769, -1, 1080, 768, -1, \n  1091, 774, -1, 1121, -1, 1123, -1, 1125, \n  -1, 1127, -1, 1129, -1, 1131, -1, 1133, \n  -1, 1135, -1, 1137, -1, 1139, -1, 1141, \n  -1, 1140, 783, -1, 1143, -1, 1141, 783, \n  -1, 1145, -1, 1147, -1, 1149, -1, 1151, \n  -1, 1153, -1, 1163, -1, 1165, -1, 1167, \n  -1, 1169, -1, 1171, -1, 1173, -1, 1175, \n  -1, 1177, -1, 1179, -1, 1181, -1, 1183, \n  -1, 1185, -1, 1187, -1, 1189, -1, 1191, \n  -1, 1193, -1, 1195, -1, 1197, -1, 1199, \n  -1, 1201, -1, 1203, -1, 1205, -1, 1207, \n  -1, 1209, -1, 1211, -1, 1213, -1, 1215, \n  -1, 1231, -1, 1046, 774, -1, 1218, -1, \n  1078, 774, -1, 1220, -1, 1222, -1, 1224, \n  -1, 1226, -1, 1228, -1, 1230, -1, 1040, \n  774, -1, 1233, -1, 1072, 774, -1, 1040, \n  776, -1, 1235, -1, 1072, 776, -1, 1237, \n  -1, 1045, 774, -1, 1239, -1, 1077, 774, \n  -1, 1241, -1, 1240, 776, -1, 1243, -1, \n  1241, 776, -1, 1046, 776, -1, 1245, -1, \n  1078, 776, -1, 1047, 776, -1, 1247, -1, \n  1079, 776, -1, 1249, -1, 1048, 772, -1, \n  1251, -1, 1080, 772, -1, 1048, 776, -1, \n  1253, -1, 1080, 776, -1, 1054, 776, -1, \n  1255, -1, 1086, 776, -1, 1257, -1, 1256, \n  776, -1, 1259, -1, 1257, 776, -1, 1069, \n  776, -1, 1261, -1, 1101, 776, -1, 1059, \n  772, -1, 1263, -1, 1091, 772, -1, 1059, \n  776, -1, 1265, -1, 1091, 776, -1, 1059, \n  779, -1, 1267, -1, 1091, 779, -1, 1063, \n  776, -1, 1269, -1, 1095, 776, -1, 1271, \n  -1, 1067, 776, -1, 1273, -1, 1099, 776, \n  -1, 1275, -1, 1277, -1, 1279, -1, 1281, \n  -1, 1283, -1, 1285, -1, 1287, -1, 1289, \n  -1, 1291, -1, 1293, -1, 1295, -1, 1297, \n  -1, 1299, -1, 1301, -1, 1303, -1, 1305, \n  -1, 1307, -1, 1309, -1, 1311, -1, 1313, \n  -1, 1315, -1, 1317, -1, 1319, -1, 1321, \n  -1, 1323, -1, 1325, -1, 1327, -1, 1377, \n  -1, 1378, -1, 1379, -1, 1380, -1, 1381, \n  -1, 1382, -1, 1383, -1, 1384, -1, 1385, \n  -1, 1386, -1, 1387, -1, 1388, -1, 1389, \n  -1, 1390, -1, 1391, -1, 1392, -1, 1393, \n  -1, 1394, -1, 1395, -1, 1396, -1, 1397, \n  -1, 1398, -1, 1399, -1, 1400, -1, 1401, \n  -1, 1402, -1, 1403, -1, 1404, -1, 1405, \n  -1, 1406, -1, 1407, -1, 1408, -1, 1409, \n  -1, 1410, -1, 1411, -1, 1412, -1, 1413, \n  -1, 1414, -1, 1381, 1410, -1, 1575, 1619, \n  -1, 1575, 1620, -1, 1608, 1620, -1, 1575, \n  1621, -1, 1610, 1620, -1, 1575, 1652, -1, \n  1608, 1652, -1, 1735, 1652, -1, 1610, 1652, \n  -1, 1749, 1620, -1, 1729, 1620, -1, 1746, \n  1620, -1, 2344, 2364, -1, 2352, 2364, -1, \n  2355, 2364, -1, 2325, 2364, -1, 2326, 2364, \n  -1, 2327, 2364, -1, 2332, 2364, -1, 2337, \n  2364, -1, 2338, 2364, -1, 2347, 2364, -1, \n  2351, 2364, -1, 2503, 2494, -1, 2503, 2519, \n  -1, 2465, 2492, -1, 2466, 2492, -1, 2479, \n  2492, -1, 2610, 2620, -1, 2616, 2620, -1, \n  2582, 2620, -1, 2583, 2620, -1, 2588, 2620, \n  -1, 2603, 2620, -1, 2887, 2902, -1, 2887, \n  2878, -1, 2887, 2903, -1, 2849, 2876, -1, \n  2850, 2876, -1, 2962, 3031, -1, 3014, 3006, \n  -1, 3015, 3006, -1, 3014, 3031, -1, 3142, \n  3158, -1, 3263, 3285, -1, 3270, 3285, -1, \n  3270, 3286, -1, 3270, 3266, -1, 3274, 3285, \n  -1, 3398, 3390, -1, 3399, 3390, -1, 3398, \n  3415, -1, 3545, 3530, -1, 3545, 3535, -1, \n  3548, 3530, -1, 3545, 3551, -1, 3661, 3634, \n  -1, 3789, 3762, -1, 3755, 3737, -1, 3755, \n  3745, -1, 3851, -1, 3906, 4023, -1, 3916, \n  4023, -1, 3921, 4023, -1, 3926, 4023, -1, \n  3931, 4023, -1, 3904, 4021, -1, 3953, 3954, \n  -1, 3953, 3956, -1, 4018, 3968, -1, 4018, \n  3969, -1, 4019, 3968, -1, 4019, 3969, -1, \n  3953, 3968, -1, 3986, 4023, -1, 3996, 4023, \n  -1, 4001, 4023, -1, 4006, 4023, -1, 4011, \n  4023, -1, 3984, 4021, -1, 4133, 4142, -1, \n  11520, -1, 11521, -1, 11522, -1, 11523, -1, \n  11524, -1, 11525, -1, 11526, -1, 11527, -1, \n  11528, -1, 11529, -1, 11530, -1, 11531, -1, \n  11532, -1, 11533, -1, 11534, -1, 11535, -1, \n  11536, -1, 11537, -1, 11538, -1, 11539, -1, \n  11540, -1, 11541, -1, 11542, -1, 11543, -1, \n  11544, -1, 11545, -1, 11546, -1, 11547, -1, \n  11548, -1, 11549, -1, 11550, -1, 11551, -1, \n  11552, -1, 11553, -1, 11554, -1, 11555, -1, \n  11556, -1, 11557, -1, 11559, -1, 11565, -1, \n  4316, -1, 5104, -1, 5105, -1, 5106, -1, \n  5107, -1, 5108, -1, 5109, -1, 6917, 6965, \n  -1, 6919, 6965, -1, 6921, 6965, -1, 6923, \n  6965, -1, 6925, 6965, -1, 6929, 6965, -1, \n  6970, 6965, -1, 6972, 6965, -1, 6974, 6965, \n  -1, 6975, 6965, -1, 6978, 6965, -1, 65, \n  -1, 198, -1, 66, -1, 68, -1, 69, \n  -1, 398, -1, 71, -1, 72, -1, 73, \n  -1, 74, -1, 75, -1, 76, -1, 77, \n  -1, 78, -1, 79, -1, 546, -1, 80, \n  -1, 82, -1, 84, -1, 85, -1, 87, \n  -1, 592, -1, 593, -1, 7426, -1, 604, \n  -1, 7446, -1, 7447, -1, 7453, -1, 7461, \n  -1, 594, -1, 597, -1, 607, -1, 609, \n  -1, 613, -1, 618, -1, 7547, -1, 669, \n  -1, 621, -1, 7557, -1, 671, -1, 625, \n  -1, 624, -1, 627, -1, 628, -1, 632, \n  -1, 642, -1, 427, -1, 7452, -1, 656, \n  -1, 657, -1, 65, 805, -1, 7681, -1, \n  97, 805, -1, 66, 775, -1, 7683, -1, \n  98, 775, -1, 66, 803, -1, 7685, -1, \n  98, 803, -1, 66, 817, -1, 7687, -1, \n  98, 817, -1, 199, 769, -1, 7689, -1, \n  231, 769, -1, 68, 775, -1, 7691, -1, \n  100, 775, -1, 68, 803, -1, 7693, -1, \n  100, 803, -1, 68, 817, -1, 7695, -1, \n  100, 817, -1, 68, 807, -1, 7697, -1, \n  100, 807, -1, 68, 813, -1, 7699, -1, \n  100, 813, -1, 274, 768, -1, 7701, -1, \n  275, 768, -1, 274, 769, -1, 7703, -1, \n  275, 769, -1, 69, 813, -1, 7705, -1, \n  101, 813, -1, 69, 816, -1, 7707, -1, \n  101, 816, -1, 552, 774, -1, 7709, -1, \n  553, 774, -1, 70, 775, -1, 7711, -1, \n  102, 775, -1, 71, 772, -1, 7713, -1, \n  103, 772, -1, 72, 775, -1, 7715, -1, \n  104, 775, -1, 72, 803, -1, 7717, -1, \n  104, 803, -1, 72, 776, -1, 7719, -1, \n  104, 776, -1, 72, 807, -1, 7721, -1, \n  104, 807, -1, 72, 814, -1, 7723, -1, \n  104, 814, -1, 73, 816, -1, 7725, -1, \n  105, 816, -1, 207, 769, -1, 7727, -1, \n  239, 769, -1, 75, 769, -1, 7729, -1, \n  107, 769, -1, 75, 803, -1, 7731, -1, \n  107, 803, -1, 75, 817, -1, 7733, -1, \n  107, 817, -1, 76, 803, -1, 7735, -1, \n  108, 803, -1, 7734, 772, -1, 7737, -1, \n  7735, 772, -1, 76, 817, -1, 7739, -1, \n  108, 817, -1, 76, 813, -1, 7741, -1, \n  108, 813, -1, 77, 769, -1, 7743, -1, \n  109, 769, -1, 77, 775, -1, 7745, -1, \n  109, 775, -1, 77, 803, -1, 7747, -1, \n  109, 803, -1, 78, 775, -1, 7749, -1, \n  110, 775, -1, 78, 803, -1, 7751, -1, \n  110, 803, -1, 78, 817, -1, 7753, -1, \n  110, 817, -1, 78, 813, -1, 7755, -1, \n  110, 813, -1, 213, 769, -1, 7757, -1, \n  245, 769, -1, 213, 776, -1, 7759, -1, \n  245, 776, -1, 332, 768, -1, 7761, -1, \n  333, 768, -1, 332, 769, -1, 7763, -1, \n  333, 769, -1, 80, 769, -1, 7765, -1, \n  112, 769, -1, 80, 775, -1, 7767, -1, \n  112, 775, -1, 82, 775, -1, 7769, -1, \n  114, 775, -1, 82, 803, -1, 7771, -1, \n  114, 803, -1, 7770, 772, -1, 7773, -1, \n  7771, 772, -1, 82, 817, -1, 7775, -1, \n  114, 817, -1, 83, 775, -1, 7777, -1, \n  115, 775, -1, 83, 803, -1, 7779, -1, \n  115, 803, -1, 346, 775, -1, 7781, -1, \n  347, 775, -1, 352, 775, -1, 7783, -1, \n  353, 775, -1, 7778, 775, -1, 7785, -1, \n  7779, 775, -1, 84, 775, -1, 7787, -1, \n  116, 775, -1, 84, 803, -1, 7789, -1, \n  116, 803, -1, 84, 817, -1, 7791, -1, \n  116, 817, -1, 84, 813, -1, 7793, -1, \n  116, 813, -1, 85, 804, -1, 7795, -1, \n  117, 804, -1, 85, 816, -1, 7797, -1, \n  117, 816, -1, 85, 813, -1, 7799, -1, \n  117, 813, -1, 360, 769, -1, 7801, -1, \n  361, 769, -1, 362, 776, -1, 7803, -1, \n  363, 776, -1, 86, 771, -1, 7805, -1, \n  118, 771, -1, 86, 803, -1, 7807, -1, \n  118, 803, -1, 87, 768, -1, 7809, -1, \n  119, 768, -1, 87, 769, -1, 7811, -1, \n  119, 769, -1, 87, 776, -1, 7813, -1, \n  119, 776, -1, 87, 775, -1, 7815, -1, \n  119, 775, -1, 87, 803, -1, 7817, -1, \n  119, 803, -1, 88, 775, -1, 7819, -1, \n  120, 775, -1, 88, 776, -1, 7821, -1, \n  120, 776, -1, 89, 775, -1, 7823, -1, \n  121, 775, -1, 90, 770, -1, 7825, -1, \n  122, 770, -1, 90, 803, -1, 7827, -1, \n  122, 803, -1, 90, 817, -1, 7829, -1, \n  122, 817, -1, 104, 817, -1, 116, 776, \n  -1, 119, 778, -1, 121, 778, -1, 97, \n  702, -1, 383, 775, -1, 223, -1, 65, \n  803, -1, 7841, -1, 97, 803, -1, 65, \n  777, -1, 7843, -1, 97, 777, -1, 194, \n  769, -1, 7845, -1, 226, 769, -1, 194, \n  768, -1, 7847, -1, 226, 768, -1, 194, \n  777, -1, 7849, -1, 226, 777, -1, 194, \n  771, -1, 7851, -1, 226, 771, -1, 7840, \n  770, -1, 7853, -1, 7841, 770, -1, 258, \n  769, -1, 7855, -1, 259, 769, -1, 258, \n  768, -1, 7857, -1, 259, 768, -1, 258, \n  777, -1, 7859, -1, 259, 777, -1, 258, \n  771, -1, 7861, -1, 259, 771, -1, 7840, \n  774, -1, 7863, -1, 7841, 774, -1, 69, \n  803, -1, 7865, -1, 101, 803, -1, 69, \n  777, -1, 7867, -1, 101, 777, -1, 69, \n  771, -1, 7869, -1, 101, 771, -1, 202, \n  769, -1, 7871, -1, 234, 769, -1, 202, \n  768, -1, 7873, -1, 234, 768, -1, 202, \n  777, -1, 7875, -1, 234, 777, -1, 202, \n  771, -1, 7877, -1, 234, 771, -1, 7864, \n  770, -1, 7879, -1, 7865, 770, -1, 73, \n  777, -1, 7881, -1, 105, 777, -1, 73, \n  803, -1, 7883, -1, 105, 803, -1, 79, \n  803, -1, 7885, -1, 111, 803, -1, 79, \n  777, -1, 7887, -1, 111, 777, -1, 212, \n  769, -1, 7889, -1, 244, 769, -1, 212, \n  768, -1, 7891, -1, 244, 768, -1, 212, \n  777, -1, 7893, -1, 244, 777, -1, 212, \n  771, -1, 7895, -1, 244, 771, -1, 7884, \n  770, -1, 7897, -1, 7885, 770, -1, 416, \n  769, -1, 7899, -1, 417, 769, -1, 416, \n  768, -1, 7901, -1, 417, 768, -1, 416, \n  777, -1, 7903, -1, 417, 777, -1, 416, \n  771, -1, 7905, -1, 417, 771, -1, 416, \n  803, -1, 7907, -1, 417, 803, -1, 85, \n  803, -1, 7909, -1, 117, 803, -1, 85, \n  777, -1, 7911, -1, 117, 777, -1, 431, \n  769, -1, 7913, -1, 432, 769, -1, 431, \n  768, -1, 7915, -1, 432, 768, -1, 431, \n  777, -1, 7917, -1, 432, 777, -1, 431, \n  771, -1, 7919, -1, 432, 771, -1, 431, \n  803, -1, 7921, -1, 432, 803, -1, 89, \n  768, -1, 7923, -1, 121, 768, -1, 89, \n  803, -1, 7925, -1, 121, 803, -1, 89, \n  777, -1, 7927, -1, 121, 777, -1, 89, \n  771, -1, 7929, -1, 121, 771, -1, 7931, \n  -1, 7933, -1, 7935, -1, 945, 787, -1, \n  945, 788, -1, 7936, 768, -1, 7937, 768, \n  -1, 7936, 769, -1, 7937, 769, -1, 7936, \n  834, -1, 7937, 834, -1, 913, 787, -1, \n  7936, -1, 913, 788, -1, 7937, -1, 7944, \n  768, -1, 7938, -1, 7945, 768, -1, 7939, \n  -1, 7944, 769, -1, 7940, -1, 7945, 769, \n  -1, 7941, -1, 7944, 834, -1, 7942, -1, \n  7945, 834, -1, 7943, -1, 949, 787, -1, \n  949, 788, -1, 7952, 768, -1, 7953, 768, \n  -1, 7952, 769, -1, 7953, 769, -1, 917, \n  787, -1, 7952, -1, 917, 788, -1, 7953, \n  -1, 7960, 768, -1, 7954, -1, 7961, 768, \n  -1, 7955, -1, 7960, 769, -1, 7956, -1, \n  7961, 769, -1, 7957, -1, 951, 787, -1, \n  951, 788, -1, 7968, 768, -1, 7969, 768, \n  -1, 7968, 769, -1, 7969, 769, -1, 7968, \n  834, -1, 7969, 834, -1, 919, 787, -1, \n  7968, -1, 919, 788, -1, 7969, -1, 7976, \n  768, -1, 7970, -1, 7977, 768, -1, 7971, \n  -1, 7976, 769, -1, 7972, -1, 7977, 769, \n  -1, 7973, -1, 7976, 834, -1, 7974, -1, \n  7977, 834, -1, 7975, -1, 953, 787, -1, \n  953, 788, -1, 7984, 768, -1, 7985, 768, \n  -1, 7984, 769, -1, 7985, 769, -1, 7984, \n  834, -1, 7985, 834, -1, 921, 787, -1, \n  7984, -1, 921, 788, -1, 7985, -1, 7992, \n  768, -1, 7986, -1, 7993, 768, -1, 7987, \n  -1, 7992, 769, -1, 7988, -1, 7993, 769, \n  -1, 7989, -1, 7992, 834, -1, 7990, -1, \n  7993, 834, -1, 7991, -1, 959, 787, -1, \n  959, 788, -1, 8000, 768, -1, 8001, 768, \n  -1, 8000, 769, -1, 8001, 769, -1, 927, \n  787, -1, 8000, -1, 927, 788, -1, 8001, \n  -1, 8008, 768, -1, 8002, -1, 8009, 768, \n  -1, 8003, -1, 8008, 769, -1, 8004, -1, \n  8009, 769, -1, 8005, -1, 965, 787, -1, \n  965, 788, -1, 8016, 768, -1, 965, 787, \n  768, -1, 8017, 768, -1, 8016, 769, -1, \n  965, 787, 769, -1, 8017, 769, -1, 8016, \n  834, -1, 965, 787, 834, -1, 8017, 834, \n  -1, 933, 788, -1, 8017, -1, 8025, 768, \n  -1, 8019, -1, 8025, 769, -1, 8021, -1, \n  8025, 834, -1, 8023, -1, 969, 787, -1, \n  969, 788, -1, 8032, 768, -1, 8033, 768, \n  -1, 8032, 769, -1, 8033, 769, -1, 8032, \n  834, -1, 8033, 834, -1, 937, 787, -1, \n  8032, -1, 937, 788, -1, 8033, -1, 8040, \n  768, -1, 8034, -1, 8041, 768, -1, 8035, \n  -1, 8040, 769, -1, 8036, -1, 8041, 769, \n  -1, 8037, -1, 8040, 834, -1, 8038, -1, \n  8041, 834, -1, 8039, -1, 945, 768, -1, \n  949, 768, -1, 951, 768, -1, 953, 768, \n  -1, 959, 768, -1, 965, 768, -1, 969, \n  768, -1, 7936, 837, -1, 7936, 953, -1, \n  7937, 837, -1, 7937, 953, -1, 7938, 837, \n  -1, 7938, 953, -1, 7939, 837, -1, 7939, \n  953, -1, 7940, 837, -1, 7940, 953, -1, \n  7941, 837, -1, 7941, 953, -1, 7942, 837, \n  -1, 7942, 953, -1, 7943, 837, -1, 7943, \n  953, -1, 7944, 837, -1, 8064, -1, 7945, \n  837, -1, 8065, -1, 7946, 837, -1, 8066, \n  -1, 7947, 837, -1, 8067, -1, 7948, 837, \n  -1, 8068, -1, 7949, 837, -1, 8069, -1, \n  7950, 837, -1, 8070, -1, 7951, 837, -1, \n  8071, -1, 7968, 837, -1, 7968, 953, -1, \n  7969, 837, -1, 7969, 953, -1, 7970, 837, \n  -1, 7970, 953, -1, 7971, 837, -1, 7971, \n  953, -1, 7972, 837, -1, 7972, 953, -1, \n  7973, 837, -1, 7973, 953, -1, 7974, 837, \n  -1, 7974, 953, -1, 7975, 837, -1, 7975, \n  953, -1, 7976, 837, -1, 8080, -1, 7977, \n  837, -1, 8081, -1, 7978, 837, -1, 8082, \n  -1, 7979, 837, -1, 8083, -1, 7980, 837, \n  -1, 8084, -1, 7981, 837, -1, 8085, -1, \n  7982, 837, -1, 8086, -1, 7983, 837, -1, \n  8087, -1, 8032, 837, -1, 8032, 953, -1, \n  8033, 837, -1, 8033, 953, -1, 8034, 837, \n  -1, 8034, 953, -1, 8035, 837, -1, 8035, \n  953, -1, 8036, 837, -1, 8036, 953, -1, \n  8037, 837, -1, 8037, 953, -1, 8038, 837, \n  -1, 8038, 953, -1, 8039, 837, -1, 8039, \n  953, -1, 8040, 837, -1, 8096, -1, 8041, \n  837, -1, 8097, -1, 8042, 837, -1, 8098, \n  -1, 8043, 837, -1, 8099, -1, 8044, 837, \n  -1, 8100, -1, 8045, 837, -1, 8101, -1, \n  8046, 837, -1, 8102, -1, 8047, 837, -1, \n  8103, -1, 945, 774, -1, 945, 772, -1, \n  8048, 837, -1, 8048, 953, -1, 945, 837, \n  -1, 945, 953, -1, 940, 837, -1, 940, \n  953, -1, 945, 834, -1, 8118, 837, -1, \n  945, 834, 953, -1, 913, 774, -1, 8112, \n  -1, 913, 772, -1, 8113, -1, 913, 768, \n  -1, 8048, -1, 902, -1, 8049, -1, 913, \n  837, -1, 8115, -1, 32, 787, -1, 32, \n  834, -1, 168, 834, -1, 8052, 837, -1, \n  8052, 953, -1, 951, 837, -1, 951, 953, \n  -1, 942, 837, -1, 942, 953, -1, 951, \n  834, -1, 8134, 837, -1, 951, 834, 953, \n  -1, 917, 768, -1, 8050, -1, 904, -1, \n  8051, -1, 919, 768, -1, 8052, -1, 905, \n  -1, 8053, -1, 919, 837, -1, 8131, -1, \n  8127, 768, -1, 8127, 769, -1, 8127, 834, \n  -1, 953, 774, -1, 953, 772, -1, 970, \n  768, -1, 953, 776, 768, -1, 912, -1, \n  953, 834, -1, 970, 834, -1, 953, 776, \n  834, -1, 921, 774, -1, 8144, -1, 921, \n  772, -1, 8145, -1, 921, 768, -1, 8054, \n  -1, 906, -1, 8055, -1, 8190, 768, -1, \n  8190, 769, -1, 8190, 834, -1, 965, 774, \n  -1, 965, 772, -1, 971, 768, -1, 965, \n  776, 768, -1, 944, -1, 961, 787, -1, \n  961, 788, -1, 965, 834, -1, 971, 834, \n  -1, 965, 776, 834, -1, 933, 774, -1, \n  8160, -1, 933, 772, -1, 8161, -1, 933, \n  768, -1, 8058, -1, 910, -1, 8059, -1, \n  929, 788, -1, 8165, -1, 168, 768, -1, \n  901, -1, 96, -1, 8060, 837, -1, 8060, \n  953, -1, 969, 837, -1, 969, 953, -1, \n  974, 837, -1, 974, 953, -1, 969, 834, \n  -1, 8182, 837, -1, 969, 834, 953, -1, \n  927, 768, -1, 8056, -1, 908, -1, 8057, \n  -1, 937, 768, -1, 8060, -1, 911, -1, \n  8061, -1, 937, 837, -1, 8179, -1, 180, \n  -1, 32, 788, -1, 8194, -1, 8195, -1, \n  8208, -1, 32, 819, -1, 46, -1, 46, \n  46, -1, 46, 46, 46, -1, 8242, 8242, \n  -1, 8242, 8242, 8242, -1, 8245, 8245, -1, \n  8245, 8245, 8245, -1, 33, 33, -1, 32, \n  773, -1, 63, 63, -1, 63, 33, -1, \n  33, 63, -1, 8242, 8242, 8242, 8242, -1, \n  48, -1, 52, -1, 53, -1, 54, -1, \n  55, -1, 56, -1, 57, -1, 43, -1, \n  8722, -1, 61, -1, 40, -1, 41, -1, \n  82, 115, -1, 97, 47, 99, -1, 97, \n  47, 115, -1, 67, -1, 176, 67, -1, \n  99, 47, 111, -1, 99, 47, 117, -1, \n  400, -1, 176, 70, -1, 78, 111, -1, \n  81, -1, 83, 77, -1, 84, 69, 76, \n  -1, 84, 77, -1, 90, -1, 937, -1, \n  197, -1, 70, -1, 8526, -1, 1488, -1, \n  1489, -1, 1490, -1, 1491, -1, 70, 65, \n  88, -1, 915, -1, 928, -1, 8721, -1, \n  49, 8260, 55, -1, 49, 8260, 57, -1, \n  49, 8260, 49, 48, -1, 49, 8260, 51, \n  -1, 50, 8260, 51, -1, 49, 8260, 53, \n  -1, 50, 8260, 53, -1, 51, 8260, 53, \n  -1, 52, 8260, 53, -1, 49, 8260, 54, \n  -1, 53, 8260, 54, -1, 49, 8260, 56, \n  -1, 51, 8260, 56, -1, 53, 8260, 56, \n  -1, 55, 8260, 56, -1, 49, 8260, -1, \n  8560, -1, 73, 73, -1, 8561, -1, 73, \n  73, 73, -1, 8562, -1, 73, 86, -1, \n  8563, -1, 86, -1, 8564, -1, 86, 73, \n  -1, 8565, -1, 86, 73, 73, -1, 8566, \n  -1, 86, 73, 73, 73, -1, 8567, -1, \n  73, 88, -1, 8568, -1, 88, -1, 8569, \n  -1, 88, 73, -1, 8570, -1, 88, 73, \n  73, -1, 8571, -1, 8572, -1, 8573, -1, \n  8574, -1, 8575, -1, 105, 105, -1, 105, \n  105, 105, -1, 105, 118, -1, 118, 105, \n  -1, 118, 105, 105, -1, 118, 105, 105, \n  105, -1, 105, 120, -1, 120, 105, -1, \n  120, 105, 105, -1, 8580, -1, 48, 8260, \n  51, -1, 8592, 824, -1, 8594, 824, -1, \n  8596, 824, -1, 8656, 824, -1, 8660, 824, \n  -1, 8658, 824, -1, 8707, 824, -1, 8712, \n  824, -1, 8715, 824, -1, 8739, 824, -1, \n  8741, 824, -1, 8747, 8747, -1, 8747, 8747, \n  8747, -1, 8750, 8750, -1, 8750, 8750, 8750, \n  -1, 8764, 824, -1, 8771, 824, -1, 8773, \n  824, -1, 8776, 824, -1, 61, 824, -1, \n  8801, 824, -1, 8781, 824, -1, 60, 824, \n  -1, 62, 824, -1, 8804, 824, -1, 8805, \n  824, -1, 8818, 824, -1, 8819, 824, -1, \n  8822, 824, -1, 8823, 824, -1, 8826, 824, \n  -1, 8827, 824, -1, 8834, 824, -1, 8835, \n  824, -1, 8838, 824, -1, 8839, 824, -1, \n  8866, 824, -1, 8872, 824, -1, 8873, 824, \n  -1, 8875, 824, -1, 8828, 824, -1, 8829, \n  824, -1, 8849, 824, -1, 8850, 824, -1, \n  8882, 824, -1, 8883, 824, -1, 8884, 824, \n  -1, 8885, 824, -1, 12296, -1, 12297, -1, \n  49, 48, -1, 49, 49, -1, 49, 50, \n  -1, 49, 51, -1, 49, 52, -1, 49, \n  53, -1, 49, 54, -1, 49, 55, -1, \n  49, 56, -1, 49, 57, -1, 50, 48, \n  -1, 40, 49, 41, -1, 40, 50, 41, \n  -1, 40, 51, 41, -1, 40, 52, 41, \n  -1, 40, 53, 41, -1, 40, 54, 41, \n  -1, 40, 55, 41, -1, 40, 56, 41, \n  -1, 40, 57, 41, -1, 40, 49, 48, \n  41, -1, 40, 49, 49, 41, -1, 40, \n  49, 50, 41, -1, 40, 49, 51, 41, \n  -1, 40, 49, 52, 41, -1, 40, 49, \n  53, 41, -1, 40, 49, 54, 41, -1, \n  40, 49, 55, 41, -1, 40, 49, 56, \n  41, -1, 40, 49, 57, 41, -1, 40, \n  50, 48, 41, -1, 49, 46, -1, 50, \n  46, -1, 51, 46, -1, 52, 46, -1, \n  53, 46, -1, 54, 46, -1, 55, 46, \n  -1, 56, 46, -1, 57, 46, -1, 49, \n  48, 46, -1, 49, 49, 46, -1, 49, \n  50, 46, -1, 49, 51, 46, -1, 49, \n  52, 46, -1, 49, 53, 46, -1, 49, \n  54, 46, -1, 49, 55, 46, -1, 49, \n  56, 46, -1, 49, 57, 46, -1, 50, \n  48, 46, -1, 40, 97, 41, -1, 40, \n  98, 41, -1, 40, 99, 41, -1, 40, \n  100, 41, -1, 40, 101, 41, -1, 40, \n  102, 41, -1, 40, 103, 41, -1, 40, \n  104, 41, -1, 40, 105, 41, -1, 40, \n  106, 41, -1, 40, 107, 41, -1, 40, \n  108, 41, -1, 40, 109, 41, -1, 40, \n  110, 41, -1, 40, 111, 41, -1, 40, \n  112, 41, -1, 40, 113, 41, -1, 40, \n  114, 41, -1, 40, 115, 41, -1, 40, \n  116, 41, -1, 40, 117, 41, -1, 40, \n  118, 41, -1, 40, 119, 41, -1, 40, \n  120, 41, -1, 40, 121, 41, -1, 40, \n  122, 41, -1, 9424, -1, 9425, -1, 9426, \n  -1, 9427, -1, 9428, -1, 9429, -1, 9430, \n  -1, 9431, -1, 9432, -1, 9433, -1, 9434, \n  -1, 9435, -1, 9436, -1, 9437, -1, 9438, \n  -1, 9439, -1, 9440, -1, 9441, -1, 83, \n  -1, 9442, -1, 9443, -1, 9444, -1, 9445, \n  -1, 9446, -1, 9447, -1, 89, -1, 9448, \n  -1, 9449, -1, 8747, 8747, 8747, 8747, -1, \n  58, 58, 61, -1, 61, 61, -1, 61, \n  61, 61, -1, 10973, 824, -1, 11312, -1, \n  11313, -1, 11314, -1, 11315, -1, 11316, -1, \n  11317, -1, 11318, -1, 11319, -1, 11320, -1, \n  11321, -1, 11322, -1, 11323, -1, 11324, -1, \n  11325, -1, 11326, -1, 11327, -1, 11328, -1, \n  11329, -1, 11330, -1, 11331, -1, 11332, -1, \n  11333, -1, 11334, -1, 11335, -1, 11336, -1, \n  11337, -1, 11338, -1, 11339, -1, 11340, -1, \n  11341, -1, 11342, -1, 11343, -1, 11344, -1, \n  11345, -1, 11346, -1, 11347, -1, 11348, -1, \n  11349, -1, 11350, -1, 11351, -1, 11352, -1, \n  11353, -1, 11354, -1, 11355, -1, 11356, -1, \n  11357, -1, 11358, -1, 11361, -1, 619, -1, \n  7549, -1, 637, -1, 11368, -1, 11370, -1, \n  11372, -1, 11379, -1, 11382, -1, 575, -1, \n  576, -1, 11393, -1, 11395, -1, 11397, -1, \n  11399, -1, 11401, -1, 11403, -1, 11405, -1, \n  11407, -1, 11409, -1, 11411, -1, 11413, -1, \n  11415, -1, 11417, -1, 11419, -1, 11421, -1, \n  11423, -1, 11425, -1, 11427, -1, 11429, -1, \n  11431, -1, 11433, -1, 11435, -1, 11437, -1, \n  11439, -1, 11441, -1, 11443, -1, 11445, -1, \n  11447, -1, 11449, -1, 11451, -1, 11453, -1, \n  11455, -1, 11457, -1, 11459, -1, 11461, -1, \n  11463, -1, 11465, -1, 11467, -1, 11469, -1, \n  11471, -1, 11473, -1, 11475, -1, 11477, -1, \n  11479, -1, 11481, -1, 11483, -1, 11485, -1, \n  11487, -1, 11489, -1, 11491, -1, 11500, -1, \n  11502, -1, 11507, -1, 11617, -1, 27597, -1, \n  40863, -1, 19968, -1, 20008, -1, 20022, -1, \n  20031, -1, 20057, -1, 20101, -1, 20108, -1, \n  20128, -1, 20154, -1, 20799, -1, 20837, -1, \n  20843, -1, 20866, -1, 20886, -1, 20907, -1, \n  20960, -1, 20981, -1, 20992, -1, 21147, -1, \n  21241, -1, 21269, -1, 21274, -1, 21304, -1, \n  21313, -1, 21340, -1, 21353, -1, 21378, -1, \n  21430, -1, 21448, -1, 21475, -1, 22231, -1, \n  22303, -1, 22763, -1, 22786, -1, 22794, -1, \n  22805, -1, 22823, -1, 22899, -1, 23376, -1, \n  23424, -1, 23544, -1, 23567, -1, 23586, -1, \n  23608, -1, 23662, -1, 23665, -1, 24027, -1, \n  24037, -1, 24049, -1, 24062, -1, 24178, -1, \n  24186, -1, 24191, -1, 24308, -1, 24318, -1, \n  24331, -1, 24339, -1, 24400, -1, 24417, -1, \n  24435, -1, 24515, -1, 25096, -1, 25142, -1, \n  25163, -1, 25903, -1, 25908, -1, 25991, -1, \n  26007, -1, 26020, -1, 26041, -1, 26080, -1, \n  26085, -1, 26352, -1, 26376, -1, 26408, -1, \n  27424, -1, 27490, -1, 27513, -1, 27571, -1, \n  27595, -1, 27604, -1, 27611, -1, 27663, -1, \n  27668, -1, 27700, -1, 28779, -1, 29226, -1, \n  29238, -1, 29243, -1, 29247, -1, 29255, -1, \n  29273, -1, 29275, -1, 29356, -1, 29572, -1, \n  29577, -1, 29916, -1, 29926, -1, 29976, -1, \n  29983, -1, 29992, -1, 30000, -1, 30091, -1, \n  30098, -1, 30326, -1, 30333, -1, 30382, -1, \n  30399, -1, 30446, -1, 30683, -1, 30690, -1, \n  30707, -1, 31034, -1, 31160, -1, 31166, -1, \n  31348, -1, 31435, -1, 31481, -1, 31859, -1, \n  31992, -1, 32566, -1, 32593, -1, 32650, -1, \n  32701, -1, 32769, -1, 32780, -1, 32786, -1, \n  32819, -1, 32895, -1, 32905, -1, 33251, -1, \n  33258, -1, 33267, -1, 33276, -1, 33292, -1, \n  33307, -1, 33311, -1, 33390, -1, 33394, -1, \n  33400, -1, 34381, -1, 34411, -1, 34880, -1, \n  34892, -1, 34915, -1, 35198, -1, 35211, -1, \n  35282, -1, 35328, -1, 35895, -1, 35910, -1, \n  35925, -1, 35960, -1, 35997, -1, 36196, -1, \n  36208, -1, 36275, -1, 36523, -1, 36554, -1, \n  36763, -1, 36784, -1, 36789, -1, 37009, -1, \n  37193, -1, 37318, -1, 37324, -1, 37329, -1, \n  38263, -1, 38272, -1, 38428, -1, 38582, -1, \n  38585, -1, 38632, -1, 38737, -1, 38750, -1, \n  38754, -1, 38761, -1, 38859, -1, 38893, -1, \n  38899, -1, 38913, -1, 39080, -1, 39131, -1, \n  39135, -1, 39318, -1, 39321, -1, 39340, -1, \n  39592, -1, 39640, -1, 39647, -1, 39717, -1, \n  39727, -1, 39730, -1, 39740, -1, 39770, -1, \n  40165, -1, 40565, -1, 40575, -1, 40613, -1, \n  40635, -1, 40643, -1, 40653, -1, 40657, -1, \n  40697, -1, 40701, -1, 40718, -1, 40723, -1, \n  40736, -1, 40763, -1, 40778, -1, 40786, -1, \n  40845, -1, 40860, -1, 40864, -1, 12306, -1, \n  21316, -1, 21317, -1, 12363, 12441, -1, 12365, \n  12441, -1, 12367, 12441, -1, 12369, 12441, -1, \n  12371, 12441, -1, 12373, 12441, -1, 12375, 12441, \n  -1, 12377, 12441, -1, 12379, 12441, -1, 12381, \n  12441, -1, 12383, 12441, -1, 12385, 12441, -1, \n  12388, 12441, -1, 12390, 12441, -1, 12392, 12441, \n  -1, 12399, 12441, -1, 12399, 12442, -1, 12402, \n  12441, -1, 12402, 12442, -1, 12405, 12441, -1, \n  12405, 12442, -1, 12408, 12441, -1, 12408, 12442, \n  -1, 12411, 12441, -1, 12411, 12442, -1, 12358, \n  12441, -1, 32, 12441, -1, 32, 12442, -1, \n  12445, 12441, -1, 12424, 12426, -1, 12459, 12441, \n  -1, 12461, 12441, -1, 12463, 12441, -1, 12465, \n  12441, -1, 12467, 12441, -1, 12469, 12441, -1, \n  12471, 12441, -1, 12473, 12441, -1, 12475, 12441, \n  -1, 12477, 12441, -1, 12479, 12441, -1, 12481, \n  12441, -1, 12484, 12441, -1, 12486, 12441, -1, \n  12488, 12441, -1, 12495, 12441, -1, 12495, 12442, \n  -1, 12498, 12441, -1, 12498, 12442, -1, 12501, \n  12441, -1, 12501, 12442, -1, 12504, 12441, -1, \n  12504, 12442, -1, 12507, 12441, -1, 12507, 12442, \n  -1, 12454, 12441, -1, 12527, 12441, -1, 12528, \n  12441, -1, 12529, 12441, -1, 12530, 12441, -1, \n  12541, 12441, -1, 12467, 12488, -1, 4352, -1, \n  4353, -1, 4522, -1, 4354, -1, 4524, -1, \n  4525, -1, 4355, -1, 4356, -1, 4357, -1, \n  4528, -1, 4529, -1, 4530, -1, 4531, -1, \n  4532, -1, 4533, -1, 4378, -1, 4358, -1, \n  4359, -1, 4360, -1, 4385, -1, 4361, -1, \n  4362, -1, 4363, -1, 4364, -1, 4365, -1, \n  4366, -1, 4367, -1, 4368, -1, 4369, -1, \n  4370, -1, 4449, -1, 4450, -1, 4451, -1, \n  4452, -1, 4453, -1, 4454, -1, 4455, -1, \n  4456, -1, 4457, -1, 4458, -1, 4459, -1, \n  4460, -1, 4461, -1, 4462, -1, 4463, -1, \n  4464, -1, 4465, -1, 4466, -1, 4467, -1, \n  4468, -1, 4469, -1, 4448, -1, 4372, -1, \n  4373, -1, 4551, -1, 4552, -1, 4556, -1, \n  4558, -1, 4563, -1, 4567, -1, 4569, -1, \n  4380, -1, 4573, -1, 4575, -1, 4381, -1, \n  4382, -1, 4384, -1, 4386, -1, 4387, -1, \n  4391, -1, 4393, -1, 4395, -1, 4396, -1, \n  4397, -1, 4398, -1, 4399, -1, 4402, -1, \n  4406, -1, 4416, -1, 4423, -1, 4428, -1, \n  4593, -1, 4594, -1, 4439, -1, 4440, -1, \n  4441, -1, 4484, -1, 4485, -1, 4488, -1, \n  4497, -1, 4498, -1, 4500, -1, 4510, -1, \n  4513, -1, 19977, -1, 22235, -1, 19978, -1, \n  20013, -1, 19979, -1, 30002, -1, 19993, -1, \n  19969, -1, 22825, -1, 22320, -1, 40, 4352, \n  41, -1, 40, 4354, 41, -1, 40, 4355, \n  41, -1, 40, 4357, 41, -1, 40, 4358, \n  41, -1, 40, 4359, 41, -1, 40, 4361, \n  41, -1, 40, 4363, 41, -1, 40, 4364, \n  41, -1, 40, 4366, 41, -1, 40, 4367, \n  41, -1, 40, 4368, 41, -1, 40, 4369, \n  41, -1, 40, 4370, 41, -1, 40, 4352, \n  4449, 41, -1, 40, 4354, 4449, 41, -1, \n  40, 4355, 4449, 41, -1, 40, 4357, 4449, \n  41, -1, 40, 4358, 4449, 41, -1, 40, \n  4359, 4449, 41, -1, 40, 4361, 4449, 41, \n  -1, 40, 4363, 4449, 41, -1, 40, 4364, \n  4449, 41, -1, 40, 4366, 4449, 41, -1, \n  40, 4367, 4449, 41, -1, 40, 4368, 4449, \n  41, -1, 40, 4369, 4449, 41, -1, 40, \n  4370, 4449, 41, -1, 40, 4364, 4462, 41, \n  -1, 40, 4363, 4457, 4364, 4453, 4523, 41, \n  -1, 40, 4363, 4457, 4370, 4462, 41, -1, \n  40, 19968, 41, -1, 40, 20108, 41, -1, \n  40, 19977, 41, -1, 40, 22235, 41, -1, \n  40, 20116, 41, -1, 40, 20845, 41, -1, \n  40, 19971, 41, -1, 40, 20843, 41, -1, \n  40, 20061, 41, -1, 40, 21313, 41, -1, \n  40, 26376, 41, -1, 40, 28779, 41, -1, \n  40, 27700, 41, -1, 40, 26408, 41, -1, \n  40, 37329, 41, -1, 40, 22303, 41, -1, \n  40, 26085, 41, -1, 40, 26666, 41, -1, \n  40, 26377, 41, -1, 40, 31038, 41, -1, \n  40, 21517, 41, -1, 40, 29305, 41, -1, \n  40, 36001, 41, -1, 40, 31069, 41, -1, \n  40, 21172, 41, -1, 40, 20195, 41, -1, \n  40, 21628, 41, -1, 40, 23398, 41, -1, \n  40, 30435, 41, -1, 40, 20225, 41, -1, \n  40, 36039, 41, -1, 40, 21332, 41, -1, \n  40, 31085, 41, -1, 40, 20241, 41, -1, \n  40, 33258, 41, -1, 40, 33267, 41, -1, \n  21839, -1, 24188, -1, 31631, -1, 80, 84, \n  69, -1, 50, 49, -1, 50, 50, -1, \n  50, 51, -1, 50, 52, -1, 50, 53, \n  -1, 50, 54, -1, 50, 55, -1, 50, \n  56, -1, 50, 57, -1, 51, 48, -1, \n  51, 49, -1, 51, 50, -1, 51, 51, \n  -1, 51, 52, -1, 51, 53, -1, 4352, \n  4449, -1, 4354, 4449, -1, 4355, 4449, -1, \n  4357, 4449, -1, 4358, 4449, -1, 4359, 4449, \n  -1, 4361, 4449, -1, 4363, 4449, -1, 4364, \n  4449, -1, 4366, 4449, -1, 4367, 4449, -1, \n  4368, 4449, -1, 4369, 4449, -1, 4370, 4449, \n  -1, 4366, 4449, 4535, 4352, 4457, -1, 4364, \n  4462, 4363, 4468, -1, 4363, 4462, -1, 20116, \n  -1, 20845, -1, 19971, -1, 20061, -1, 26666, \n  -1, 26377, -1, 31038, -1, 21517, -1, 29305, \n  -1, 36001, -1, 31069, -1, 21172, -1, 31192, \n  -1, 30007, -1, 36969, -1, 20778, -1, 21360, \n  -1, 27880, -1, 38917, -1, 20241, -1, 20889, \n  -1, 27491, -1, 24038, -1, 21491, -1, 21307, \n  -1, 23447, -1, 23398, -1, 30435, -1, 20225, \n  -1, 36039, -1, 21332, -1, 22812, -1, 51, \n  54, -1, 51, 55, -1, 51, 56, -1, \n  51, 57, -1, 52, 48, -1, 52, 49, \n  -1, 52, 50, -1, 52, 51, -1, 52, \n  52, -1, 52, 53, -1, 52, 54, -1, \n  52, 55, -1, 52, 56, -1, 52, 57, \n  -1, 53, 48, -1, 49, 26376, -1, 50, \n  26376, -1, 51, 26376, -1, 52, 26376, -1, \n  53, 26376, -1, 54, 26376, -1, 55, 26376, \n  -1, 56, 26376, -1, 57, 26376, -1, 49, \n  48, 26376, -1, 49, 49, 26376, -1, 49, \n  50, 26376, -1, 72, 103, -1, 101, 114, \n  103, -1, 101, 86, -1, 76, 84, 68, \n  -1, 12450, -1, 12452, -1, 12454, -1, 12456, \n  -1, 12458, -1, 12459, -1, 12461, -1, 12463, \n  -1, 12465, -1, 12467, -1, 12469, -1, 12471, \n  -1, 12473, -1, 12475, -1, 12477, -1, 12479, \n  -1, 12481, -1, 12484, -1, 12486, -1, 12488, \n  -1, 12490, -1, 12491, -1, 12492, -1, 12493, \n  -1, 12494, -1, 12495, -1, 12498, -1, 12501, \n  -1, 12504, -1, 12507, -1, 12510, -1, 12511, \n  -1, 12512, -1, 12513, -1, 12514, -1, 12516, \n  -1, 12518, -1, 12520, -1, 12521, -1, 12522, \n  -1, 12523, -1, 12524, -1, 12525, -1, 12527, \n  -1, 12528, -1, 12529, -1, 12530, -1, 12450, \n  12497, 12540, 12488, -1, 12450, 12523, 12501, 12449, \n  -1, 12450, 12531, 12506, 12450, -1, 12450, 12540, \n  12523, -1, 12452, 12491, 12531, 12464, -1, 12452, \n  12531, 12481, -1, 12454, 12457, 12531, -1, 12456, \n  12473, 12463, 12540, 12489, -1, 12456, 12540, 12459, \n  12540, -1, 12458, 12531, 12473, -1, 12458, 12540, \n  12512, -1, 12459, 12452, 12522, -1, 12459, 12521, \n  12483, 12488, -1, 12459, 12525, 12522, 12540, -1, \n  12460, 12525, 12531, -1, 12460, 12531, 12510, -1, \n  12462, 12460, -1, 12462, 12491, 12540, -1, 12461, \n  12517, 12522, 12540, -1, 12462, 12523, 12480, 12540, \n  -1, 12461, 12525, -1, 12461, 12525, 12464, 12521, \n  12512, -1, 12461, 12525, 12513, 12540, 12488, 12523, \n  -1, 12461, 12525, 12527, 12483, 12488, -1, 12464, \n  12521, 12512, -1, 12464, 12521, 12512, 12488, 12531, \n  -1, 12463, 12523, 12476, 12452, 12525, -1, 12463, \n  12525, 12540, 12493, -1, 12465, 12540, 12473, -1, \n  12467, 12523, 12490, -1, 12467, 12540, 12509, -1, \n  12469, 12452, 12463, 12523, -1, 12469, 12531, 12481, \n  12540, 12512, -1, 12471, 12522, 12531, 12464, -1, \n  12475, 12531, 12481, -1, 12475, 12531, 12488, -1, \n  12480, 12540, 12473, -1, 12487, 12471, -1, 12489, \n  12523, -1, 12488, 12531, -1, 12490, 12494, -1, \n  12494, 12483, 12488, -1, 12495, 12452, 12484, -1, \n  12497, 12540, 12475, 12531, 12488, -1, 12497, 12540, \n  12484, -1, 12496, 12540, 12524, 12523, -1, 12500, \n  12450, 12473, 12488, 12523, -1, 12500, 12463, 12523, \n  -1, 12500, 12467, -1, 12499, 12523, -1, 12501, \n  12449, 12521, 12483, 12489, -1, 12501, 12451, 12540, \n  12488, -1, 12502, 12483, 12471, 12455, 12523, -1, \n  12501, 12521, 12531, -1, 12504, 12463, 12479, 12540, \n  12523, -1, 12506, 12477, -1, 12506, 12491, 12498, \n  -1, 12504, 12523, 12484, -1, 12506, 12531, 12473, \n  -1, 12506, 12540, 12472, -1, 12505, 12540, 12479, \n  -1, 12509, 12452, 12531, 12488, -1, 12508, 12523, \n  12488, -1, 12507, 12531, -1, 12509, 12531, 12489, \n  -1, 12507, 12540, 12523, -1, 12507, 12540, 12531, \n  -1, 12510, 12452, 12463, 12525, -1, 12510, 12452, \n  12523, -1, 12510, 12483, 12495, -1, 12510, 12523, \n  12463, -1, 12510, 12531, 12471, 12519, 12531, -1, \n  12511, 12463, 12525, 12531, -1, 12511, 12522, -1, \n  12511, 12522, 12496, 12540, 12523, -1, 12513, 12460, \n  -1, 12513, 12460, 12488, 12531, -1, 12513, 12540, \n  12488, 12523, -1, 12516, 12540, 12489, -1, 12516, \n  12540, 12523, -1, 12518, 12450, 12531, -1, 12522, \n  12483, 12488, 12523, -1, 12522, 12521, -1, 12523, \n  12500, 12540, -1, 12523, 12540, 12502, 12523, -1, \n  12524, 12512, -1, 12524, 12531, 12488, 12466, 12531, \n  -1, 12527, 12483, 12488, -1, 48, 28857, -1, \n  49, 28857, -1, 50, 28857, -1, 51, 28857, \n  -1, 52, 28857, -1, 53, 28857, -1, 54, \n  28857, -1, 55, 28857, -1, 56, 28857, -1, \n  57, 28857, -1, 49, 48, 28857, -1, 49, \n  49, 28857, -1, 49, 50, 28857, -1, 49, \n  51, 28857, -1, 49, 52, 28857, -1, 49, \n  53, 28857, -1, 49, 54, 28857, -1, 49, \n  55, 28857, -1, 49, 56, 28857, -1, 49, \n  57, 28857, -1, 50, 48, 28857, -1, 50, \n  49, 28857, -1, 50, 50, 28857, -1, 50, \n  51, 28857, -1, 50, 52, 28857, -1, 104, \n  80, 97, -1, 100, 97, -1, 65, 85, \n  -1, 98, 97, 114, -1, 111, 86, -1, \n  112, 99, -1, 100, 109, -1, 100, 109, \n  178, -1, 100, 109, 179, -1, 73, 85, \n  -1, 24179, 25104, -1, 26157, 21644, -1, 22823, \n  27491, -1, 26126, 27835, -1, 26666, 24335, 20250, \n  31038, -1, 112, 65, -1, 110, 65, -1, \n  956, 65, -1, 109, 65, -1, 107, 65, \n  -1, 75, 66, -1, 77, 66, -1, 71, \n  66, -1, 99, 97, 108, -1, 107, 99, \n  97, 108, -1, 112, 70, -1, 110, 70, \n  -1, 956, 70, -1, 956, 103, -1, 109, \n  103, -1, 107, 103, -1, 72, 122, -1, \n  107, 72, 122, -1, 77, 72, 122, -1, \n  71, 72, 122, -1, 84, 72, 122, -1, \n  956, 8467, -1, 109, 8467, -1, 100, 8467, \n  -1, 107, 8467, -1, 102, 109, -1, 110, \n  109, -1, 956, 109, -1, 109, 109, -1, \n  99, 109, -1, 107, 109, -1, 109, 109, \n  178, -1, 99, 109, 178, -1, 109, 178, \n  -1, 107, 109, 178, -1, 109, 109, 179, \n  -1, 99, 109, 179, -1, 109, 179, -1, \n  107, 109, 179, -1, 109, 8725, 115, -1, \n  109, 8725, 115, 178, -1, 80, 97, -1, \n  107, 80, 97, -1, 77, 80, 97, -1, \n  71, 80, 97, -1, 114, 97, 100, -1, \n  114, 97, 100, 8725, 115, -1, 114, 97, \n  100, 8725, 115, 178, -1, 112, 115, -1, \n  110, 115, -1, 956, 115, -1, 109, 115, \n  -1, 112, 86, -1, 110, 86, -1, 956, \n  86, -1, 109, 86, -1, 107, 86, -1, \n  77, 86, -1, 112, 87, -1, 110, 87, \n  -1, 956, 87, -1, 109, 87, -1, 107, \n  87, -1, 77, 87, -1, 107, 937, -1, \n  77, 937, -1, 97, 46, 109, 46, -1, \n  66, 113, -1, 99, 99, -1, 99, 100, \n  -1, 67, 8725, 107, 103, -1, 67, 111, \n  46, -1, 100, 66, -1, 71, 121, -1, \n  104, 97, -1, 72, 80, -1, 105, 110, \n  -1, 75, 75, -1, 75, 77, -1, 107, \n  116, -1, 108, 109, -1, 108, 110, -1, \n  108, 111, 103, -1, 108, 120, -1, 109, \n  98, -1, 109, 105, 108, -1, 109, 111, \n  108, -1, 80, 72, -1, 112, 46, 109, \n  46, -1, 80, 80, 77, -1, 80, 82, \n  -1, 115, 114, -1, 83, 118, -1, 87, \n  98, -1, 86, 8725, 109, -1, 65, 8725, \n  109, -1, 49, 26085, -1, 50, 26085, -1, \n  51, 26085, -1, 52, 26085, -1, 53, 26085, \n  -1, 54, 26085, -1, 55, 26085, -1, 56, \n  26085, -1, 57, 26085, -1, 49, 48, 26085, \n  -1, 49, 49, 26085, -1, 49, 50, 26085, \n  -1, 49, 51, 26085, -1, 49, 52, 26085, \n  -1, 49, 53, 26085, -1, 49, 54, 26085, \n  -1, 49, 55, 26085, -1, 49, 56, 26085, \n  -1, 49, 57, 26085, -1, 50, 48, 26085, \n  -1, 50, 49, 26085, -1, 50, 50, 26085, \n  -1, 50, 51, 26085, -1, 50, 52, 26085, \n  -1, 50, 53, 26085, -1, 50, 54, 26085, \n  -1, 50, 55, 26085, -1, 50, 56, 26085, \n  -1, 50, 57, 26085, -1, 51, 48, 26085, \n  -1, 51, 49, 26085, -1, 103, 97, 108, \n  -1, 42561, -1, 42563, -1, 42565, -1, 42567, \n  -1, 42569, -1, 42571, -1, 42573, -1, 42575, \n  -1, 42577, -1, 42579, -1, 42581, -1, 42583, \n  -1, 42585, -1, 42587, -1, 42589, -1, 42591, \n  -1, 42593, -1, 42595, -1, 42597, -1, 42599, \n  -1, 42601, -1, 42603, -1, 42605, -1, 42625, \n  -1, 42627, -1, 42629, -1, 42631, -1, 42633, \n  -1, 42635, -1, 42637, -1, 42639, -1, 42641, \n  -1, 42643, -1, 42645, -1, 42647, -1, 42649, \n  -1, 42651, -1, 42787, -1, 42789, -1, 42791, \n  -1, 42793, -1, 42795, -1, 42797, -1, 42799, \n  -1, 42803, -1, 42805, -1, 42807, -1, 42809, \n  -1, 42811, -1, 42813, -1, 42815, -1, 42817, \n  -1, 42819, -1, 42821, -1, 42823, -1, 42825, \n  -1, 42827, -1, 42829, -1, 42831, -1, 42833, \n  -1, 42835, -1, 42837, -1, 42839, -1, 42841, \n  -1, 42843, -1, 42845, -1, 42847, -1, 42849, \n  -1, 42851, -1, 42853, -1, 42855, -1, 42857, \n  -1, 42859, -1, 42861, -1, 42863, -1, 42874, \n  -1, 42876, -1, 7545, -1, 42879, -1, 42881, \n  -1, 42883, -1, 42885, -1, 42887, -1, 42892, \n  -1, 42897, -1, 42899, -1, 42903, -1, 42905, \n  -1, 42907, -1, 42909, -1, 42911, -1, 42913, \n  -1, 42915, -1, 42917, -1, 42919, -1, 42921, \n  -1, 620, -1, 670, -1, 647, -1, 43859, \n  -1, 42933, -1, 42935, -1, 294, -1, 43831, \n  -1, 43858, -1, 5024, -1, 5025, -1, 5026, \n  -1, 5027, -1, 5028, -1, 5029, -1, 5030, \n  -1, 5031, -1, 5032, -1, 5033, -1, 5034, \n  -1, 5035, -1, 5036, -1, 5037, -1, 5038, \n  -1, 5039, -1, 5040, -1, 5041, -1, 5042, \n  -1, 5043, -1, 5044, -1, 5045, -1, 5046, \n  -1, 5047, -1, 5048, -1, 5049, -1, 5050, \n  -1, 5051, -1, 5052, -1, 5053, -1, 5054, \n  -1, 5055, -1, 5056, -1, 5057, -1, 5058, \n  -1, 5059, -1, 5060, -1, 5061, -1, 5062, \n  -1, 5063, -1, 5064, -1, 5065, -1, 5066, \n  -1, 5067, -1, 5068, -1, 5069, -1, 5070, \n  -1, 5071, -1, 5072, -1, 5073, -1, 5074, \n  -1, 5075, -1, 5076, -1, 5077, -1, 5078, \n  -1, 5079, -1, 5080, -1, 5081, -1, 5082, \n  -1, 5083, -1, 5084, -1, 5085, -1, 5086, \n  -1, 5087, -1, 5088, -1, 5089, -1, 5090, \n  -1, 5091, -1, 5092, -1, 5093, -1, 5094, \n  -1, 5095, -1, 5096, -1, 5097, -1, 5098, \n  -1, 5099, -1, 5100, -1, 5101, -1, 5102, \n  -1, 5103, -1, 35912, -1, 26356, -1, 36040, \n  -1, 28369, -1, 20018, -1, 21477, -1, 22865, \n  -1, 21895, -1, 22856, -1, 25078, -1, 30313, \n  -1, 32645, -1, 34367, -1, 34746, -1, 35064, \n  -1, 37007, -1, 27138, -1, 27931, -1, 28889, \n  -1, 29662, -1, 33853, -1, 37226, -1, 39409, \n  -1, 20098, -1, 21365, -1, 27396, -1, 29211, \n  -1, 34349, -1, 40478, -1, 23888, -1, 28651, \n  -1, 34253, -1, 35172, -1, 25289, -1, 33240, \n  -1, 34847, -1, 24266, -1, 26391, -1, 28010, \n  -1, 29436, -1, 37070, -1, 20358, -1, 20919, \n  -1, 21214, -1, 25796, -1, 27347, -1, 29200, \n  -1, 30439, -1, 34310, -1, 34396, -1, 36335, \n  -1, 38706, -1, 39791, -1, 40442, -1, 30860, \n  -1, 31103, -1, 32160, -1, 33737, -1, 37636, \n  -1, 35542, -1, 22751, -1, 24324, -1, 31840, \n  -1, 32894, -1, 29282, -1, 30922, -1, 36034, \n  -1, 38647, -1, 22744, -1, 23650, -1, 27155, \n  -1, 28122, -1, 28431, -1, 32047, -1, 32311, \n  -1, 38475, -1, 21202, -1, 32907, -1, 20956, \n  -1, 20940, -1, 31260, -1, 32190, -1, 33777, \n  -1, 38517, -1, 35712, -1, 25295, -1, 35582, \n  -1, 20025, -1, 23527, -1, 24594, -1, 29575, \n  -1, 30064, -1, 21271, -1, 30971, -1, 20415, \n  -1, 24489, -1, 19981, -1, 27852, -1, 25976, \n  -1, 32034, -1, 21443, -1, 22622, -1, 30465, \n  -1, 33865, -1, 35498, -1, 27578, -1, 27784, \n  -1, 25342, -1, 33509, -1, 25504, -1, 30053, \n  -1, 20142, -1, 20841, -1, 20937, -1, 26753, \n  -1, 31975, -1, 33391, -1, 35538, -1, 37327, \n  -1, 21237, -1, 21570, -1, 24300, -1, 26053, \n  -1, 28670, -1, 31018, -1, 38317, -1, 39530, \n  -1, 40599, -1, 40654, -1, 26310, -1, 27511, \n  -1, 36706, -1, 24180, -1, 24976, -1, 25088, \n  -1, 25754, -1, 28451, -1, 29001, -1, 29833, \n  -1, 31178, -1, 32244, -1, 32879, -1, 36646, \n  -1, 34030, -1, 36899, -1, 37706, -1, 21015, \n  -1, 21155, -1, 21693, -1, 28872, -1, 35010, \n  -1, 24265, -1, 24565, -1, 25467, -1, 27566, \n  -1, 31806, -1, 29557, -1, 20196, -1, 22265, \n  -1, 23994, -1, 24604, -1, 29618, -1, 29801, \n  -1, 32666, -1, 32838, -1, 37428, -1, 38646, \n  -1, 38728, -1, 38936, -1, 20363, -1, 31150, \n  -1, 37300, -1, 38584, -1, 24801, -1, 20102, \n  -1, 20698, -1, 23534, -1, 23615, -1, 26009, \n  -1, 29134, -1, 30274, -1, 34044, -1, 36988, \n  -1, 26248, -1, 38446, -1, 21129, -1, 26491, \n  -1, 26611, -1, 27969, -1, 28316, -1, 29705, \n  -1, 30041, -1, 30827, -1, 32016, -1, 39006, \n  -1, 25134, -1, 38520, -1, 20523, -1, 23833, \n  -1, 28138, -1, 36650, -1, 24459, -1, 24900, \n  -1, 26647, -1, 38534, -1, 21033, -1, 21519, \n  -1, 23653, -1, 26131, -1, 26446, -1, 26792, \n  -1, 27877, -1, 29702, -1, 30178, -1, 32633, \n  -1, 35023, -1, 35041, -1, 38626, -1, 21311, \n  -1, 28346, -1, 21533, -1, 29136, -1, 29848, \n  -1, 34298, -1, 38563, -1, 40023, -1, 40607, \n  -1, 26519, -1, 28107, -1, 33256, -1, 31520, \n  -1, 31890, -1, 29376, -1, 28825, -1, 35672, \n  -1, 20160, -1, 33590, -1, 21050, -1, 20999, \n  -1, 24230, -1, 25299, -1, 31958, -1, 23429, \n  -1, 27934, -1, 26292, -1, 36667, -1, 38477, \n  -1, 24275, -1, 20800, -1, 21952, -1, 22618, \n  -1, 26228, -1, 20958, -1, 29482, -1, 30410, \n  -1, 31036, -1, 31070, -1, 31077, -1, 31119, \n  -1, 38742, -1, 31934, -1, 34322, -1, 35576, \n  -1, 36920, -1, 37117, -1, 39151, -1, 39164, \n  -1, 39208, -1, 40372, -1, 37086, -1, 38583, \n  -1, 20398, -1, 20711, -1, 20813, -1, 21193, \n  -1, 21220, -1, 21329, -1, 21917, -1, 22022, \n  -1, 22120, -1, 22592, -1, 22696, -1, 23652, \n  -1, 24724, -1, 24936, -1, 24974, -1, 25074, \n  -1, 25935, -1, 26082, -1, 26257, -1, 26757, \n  -1, 28023, -1, 28186, -1, 28450, -1, 29038, \n  -1, 29227, -1, 29730, -1, 30865, -1, 31049, \n  -1, 31048, -1, 31056, -1, 31062, -1, 31117, \n  -1, 31118, -1, 31296, -1, 31361, -1, 31680, \n  -1, 32265, -1, 32321, -1, 32626, -1, 32773, \n  -1, 33261, -1, 33401, -1, 33879, -1, 35088, \n  -1, 35222, -1, 35585, -1, 35641, -1, 36051, \n  -1, 36104, -1, 36790, -1, 38627, -1, 38911, \n  -1, 38971, -1, 24693, -1, 148206, -1, 33304, \n  -1, 20006, -1, 20917, -1, 20840, -1, 20352, \n  -1, 20805, -1, 20864, -1, 21191, -1, 21242, \n  -1, 21845, -1, 21913, -1, 21986, -1, 22707, \n  -1, 22852, -1, 22868, -1, 23138, -1, 23336, \n  -1, 24274, -1, 24281, -1, 24425, -1, 24493, \n  -1, 24792, -1, 24910, -1, 24840, -1, 24928, \n  -1, 25140, -1, 25540, -1, 25628, -1, 25682, \n  -1, 25942, -1, 26395, -1, 26454, -1, 28379, \n  -1, 28363, -1, 28702, -1, 30631, -1, 29237, \n  -1, 29359, -1, 29809, -1, 29958, -1, 30011, \n  -1, 30237, -1, 30239, -1, 30427, -1, 30452, \n  -1, 30538, -1, 30528, -1, 30924, -1, 31409, \n  -1, 31867, -1, 32091, -1, 32574, -1, 33618, \n  -1, 33775, -1, 34681, -1, 35137, -1, 35206, \n  -1, 35519, -1, 35531, -1, 35565, -1, 35722, \n  -1, 36664, -1, 36978, -1, 37273, -1, 37494, \n  -1, 38524, -1, 38875, -1, 38923, -1, 39698, \n  -1, 141386, -1, 141380, -1, 144341, -1, 15261, \n  -1, 16408, -1, 16441, -1, 152137, -1, 154832, \n  -1, 163539, -1, 40771, -1, 40846, -1, 102, \n  102, -1, 102, 105, -1, 102, 108, -1, \n  102, 102, 105, -1, 102, 102, 108, -1, \n  383, 116, -1, 115, 116, -1, 1396, 1398, \n  -1, 1396, 1381, -1, 1396, 1387, -1, 1406, \n  1398, -1, 1396, 1389, -1, 1497, 1460, -1, \n  1522, 1463, -1, 1506, -1, 1492, -1, 1499, \n  -1, 1500, -1, 1501, -1, 1512, -1, 1514, \n  -1, 1513, 1473, -1, 1513, 1474, -1, 64329, \n  1473, -1, 64329, 1474, -1, 1488, 1463, -1, \n  1488, 1464, -1, 1488, 1468, -1, 1489, 1468, \n  -1, 1490, 1468, -1, 1491, 1468, -1, 1492, \n  1468, -1, 1493, 1468, -1, 1494, 1468, -1, \n  1496, 1468, -1, 1497, 1468, -1, 1498, 1468, \n  -1, 1499, 1468, -1, 1500, 1468, -1, 1502, \n  1468, -1, 1504, 1468, -1, 1505, 1468, -1, \n  1507, 1468, -1, 1508, 1468, -1, 1510, 1468, \n  -1, 1511, 1468, -1, 1512, 1468, -1, 1513, \n  1468, -1, 1514, 1468, -1, 1493, 1465, -1, \n  1489, 1471, -1, 1499, 1471, -1, 1508, 1471, \n  -1, 1488, 1500, -1, 1649, -1, 1659, -1, \n  1662, -1, 1664, -1, 1658, -1, 1663, -1, \n  1657, -1, 1700, -1, 1702, -1, 1668, -1, \n  1667, -1, 1670, -1, 1671, -1, 1677, -1, \n  1676, -1, 1678, -1, 1672, -1, 1688, -1, \n  1681, -1, 1705, -1, 1711, -1, 1715, -1, \n  1713, -1, 1722, -1, 1723, -1, 1728, -1, \n  1729, -1, 1726, -1, 1746, -1, 1747, -1, \n  1709, -1, 1735, -1, 1734, -1, 1736, -1, \n  1655, -1, 1739, -1, 1733, -1, 1737, -1, \n  1744, -1, 1609, -1, 1574, 1575, -1, 1574, \n  1749, -1, 1574, 1608, -1, 1574, 1735, -1, \n  1574, 1734, -1, 1574, 1736, -1, 1574, 1744, \n  -1, 1574, 1609, -1, 1740, -1, 1574, 1580, \n  -1, 1574, 1581, -1, 1574, 1605, -1, 1574, \n  1610, -1, 1576, 1580, -1, 1576, 1581, -1, \n  1576, 1582, -1, 1576, 1605, -1, 1576, 1609, \n  -1, 1576, 1610, -1, 1578, 1580, -1, 1578, \n  1581, -1, 1578, 1582, -1, 1578, 1605, -1, \n  1578, 1609, -1, 1578, 1610, -1, 1579, 1580, \n  -1, 1579, 1605, -1, 1579, 1609, -1, 1579, \n  1610, -1, 1580, 1581, -1, 1580, 1605, -1, \n  1581, 1580, -1, 1581, 1605, -1, 1582, 1580, \n  -1, 1582, 1581, -1, 1582, 1605, -1, 1587, \n  1580, -1, 1587, 1581, -1, 1587, 1582, -1, \n  1587, 1605, -1, 1589, 1581, -1, 1589, 1605, \n  -1, 1590, 1580, -1, 1590, 1581, -1, 1590, \n  1582, -1, 1590, 1605, -1, 1591, 1581, -1, \n  1591, 1605, -1, 1592, 1605, -1, 1593, 1580, \n  -1, 1593, 1605, -1, 1594, 1580, -1, 1594, \n  1605, -1, 1601, 1580, -1, 1601, 1581, -1, \n  1601, 1582, -1, 1601, 1605, -1, 1601, 1609, \n  -1, 1601, 1610, -1, 1602, 1581, -1, 1602, \n  1605, -1, 1602, 1609, -1, 1602, 1610, -1, \n  1603, 1575, -1, 1603, 1580, -1, 1603, 1581, \n  -1, 1603, 1582, -1, 1603, 1604, -1, 1603, \n  1605, -1, 1603, 1609, -1, 1603, 1610, -1, \n  1604, 1580, -1, 1604, 1581, -1, 1604, 1582, \n  -1, 1604, 1605, -1, 1604, 1609, -1, 1604, \n  1610, -1, 1605, 1580, -1, 1605, 1581, -1, \n  1605, 1582, -1, 1605, 1605, -1, 1605, 1609, \n  -1, 1605, 1610, -1, 1606, 1580, -1, 1606, \n  1581, -1, 1606, 1582, -1, 1606, 1605, -1, \n  1606, 1609, -1, 1606, 1610, -1, 1607, 1580, \n  -1, 1607, 1605, -1, 1607, 1609, -1, 1607, \n  1610, -1, 1610, 1580, -1, 1610, 1581, -1, \n  1610, 1582, -1, 1610, 1605, -1, 1610, 1609, \n  -1, 1610, 1610, -1, 1584, 1648, -1, 1585, \n  1648, -1, 1609, 1648, -1, 32, 1612, 1617, \n  -1, 32, 1613, 1617, -1, 32, 1614, 1617, \n  -1, 32, 1615, 1617, -1, 32, 1616, 1617, \n  -1, 32, 1617, 1648, -1, 1574, 1585, -1, \n  1574, 1586, -1, 1574, 1606, -1, 1576, 1585, \n  -1, 1576, 1586, -1, 1576, 1606, -1, 1578, \n  1585, -1, 1578, 1586, -1, 1578, 1606, -1, \n  1579, 1585, -1, 1579, 1586, -1, 1579, 1606, \n  -1, 1605, 1575, -1, 1606, 1585, -1, 1606, \n  1586, -1, 1606, 1606, -1, 1610, 1585, -1, \n  1610, 1586, -1, 1610, 1606, -1, 1574, 1582, \n  -1, 1574, 1607, -1, 1576, 1607, -1, 1578, \n  1607, -1, 1589, 1582, -1, 1604, 1607, -1, \n  1606, 1607, -1, 1607, 1648, -1, 1610, 1607, \n  -1, 1579, 1607, -1, 1587, 1607, -1, 1588, \n  1605, -1, 1588, 1607, -1, 1600, 1614, 1617, \n  -1, 1600, 1615, 1617, -1, 1600, 1616, 1617, \n  -1, 1591, 1609, -1, 1591, 1610, -1, 1593, \n  1609, -1, 1593, 1610, -1, 1594, 1609, -1, \n  1594, 1610, -1, 1587, 1609, -1, 1587, 1610, \n  -1, 1588, 1609, -1, 1588, 1610, -1, 1581, \n  1609, -1, 1581, 1610, -1, 1580, 1609, -1, \n  1580, 1610, -1, 1582, 1609, -1, 1582, 1610, \n  -1, 1589, 1609, -1, 1589, 1610, -1, 1590, \n  1609, -1, 1590, 1610, -1, 1588, 1580, -1, \n  1588, 1581, -1, 1588, 1582, -1, 1588, 1585, \n  -1, 1587, 1585, -1, 1589, 1585, -1, 1590, \n  1585, -1, 1575, 1611, -1, 1578, 1580, 1605, \n  -1, 1578, 1581, 1580, -1, 1578, 1581, 1605, \n  -1, 1578, 1582, 1605, -1, 1578, 1605, 1580, \n  -1, 1578, 1605, 1581, -1, 1578, 1605, 1582, \n  -1, 1580, 1605, 1581, -1, 1581, 1605, 1610, \n  -1, 1581, 1605, 1609, -1, 1587, 1581, 1580, \n  -1, 1587, 1580, 1581, -1, 1587, 1580, 1609, \n  -1, 1587, 1605, 1581, -1, 1587, 1605, 1580, \n  -1, 1587, 1605, 1605, -1, 1589, 1581, 1581, \n  -1, 1589, 1605, 1605, -1, 1588, 1581, 1605, \n  -1, 1588, 1580, 1610, -1, 1588, 1605, 1582, \n  -1, 1588, 1605, 1605, -1, 1590, 1581, 1609, \n  -1, 1590, 1582, 1605, -1, 1591, 1605, 1581, \n  -1, 1591, 1605, 1605, -1, 1591, 1605, 1610, \n  -1, 1593, 1580, 1605, -1, 1593, 1605, 1605, \n  -1, 1593, 1605, 1609, -1, 1594, 1605, 1605, \n  -1, 1594, 1605, 1610, -1, 1594, 1605, 1609, \n  -1, 1601, 1582, 1605, -1, 1602, 1605, 1581, \n  -1, 1602, 1605, 1605, -1, 1604, 1581, 1605, \n  -1, 1604, 1581, 1610, -1, 1604, 1581, 1609, \n  -1, 1604, 1580, 1580, -1, 1604, 1582, 1605, \n  -1, 1604, 1605, 1581, -1, 1605, 1581, 1580, \n  -1, 1605, 1581, 1605, -1, 1605, 1581, 1610, \n  -1, 1605, 1580, 1581, -1, 1605, 1580, 1605, \n  -1, 1605, 1582, 1580, -1, 1605, 1582, 1605, \n  -1, 1605, 1580, 1582, -1, 1607, 1605, 1580, \n  -1, 1607, 1605, 1605, -1, 1606, 1581, 1605, \n  -1, 1606, 1581, 1609, -1, 1606, 1580, 1605, \n  -1, 1606, 1580, 1609, -1, 1606, 1605, 1610, \n  -1, 1606, 1605, 1609, -1, 1610, 1605, 1605, \n  -1, 1576, 1582, 1610, -1, 1578, 1580, 1610, \n  -1, 1578, 1580, 1609, -1, 1578, 1582, 1610, \n  -1, 1578, 1582, 1609, -1, 1578, 1605, 1610, \n  -1, 1578, 1605, 1609, -1, 1580, 1605, 1610, \n  -1, 1580, 1581, 1609, -1, 1580, 1605, 1609, \n  -1, 1587, 1582, 1609, -1, 1589, 1581, 1610, \n  -1, 1588, 1581, 1610, -1, 1590, 1581, 1610, \n  -1, 1604, 1580, 1610, -1, 1604, 1605, 1610, \n  -1, 1610, 1581, 1610, -1, 1610, 1580, 1610, \n  -1, 1610, 1605, 1610, -1, 1605, 1605, 1610, \n  -1, 1602, 1605, 1610, -1, 1606, 1581, 1610, \n  -1, 1593, 1605, 1610, -1, 1603, 1605, 1610, \n  -1, 1606, 1580, 1581, -1, 1605, 1582, 1610, \n  -1, 1604, 1580, 1605, -1, 1603, 1605, 1605, \n  -1, 1580, 1581, 1610, -1, 1581, 1580, 1610, \n  -1, 1605, 1580, 1610, -1, 1601, 1605, 1610, \n  -1, 1576, 1581, 1610, -1, 1587, 1582, 1610, \n  -1, 1606, 1580, 1610, -1, 1589, 1604, 1746, \n  -1, 1602, 1604, 1746, -1, 1575, 1604, 1604, \n  1607, -1, 1575, 1603, 1576, 1585, -1, 1605, \n  1581, 1605, 1583, -1, 1589, 1604, 1593, 1605, \n  -1, 1585, 1587, 1608, 1604, -1, 1593, 1604, \n  1610, 1607, -1, 1608, 1587, 1604, 1605, -1, \n  1589, 1604, 1609, -1, 1589, 1604, 1609, 32, \n  1575, 1604, 1604, 1607, 32, 1593, 1604, 1610, \n  1607, 32, 1608, 1587, 1604, 1605, -1, 1580, \n  1604, 32, 1580, 1604, 1575, 1604, 1607, -1, \n  1585, 1740, 1575, 1604, -1, 44, -1, 12289, \n  -1, 12290, -1, 58, -1, 33, -1, 63, \n  -1, 12310, -1, 12311, -1, 8230, -1, 8229, \n  -1, 8212, -1, 8211, -1, 95, -1, 123, \n  -1, 125, -1, 12308, -1, 12309, -1, 12304, \n  -1, 12305, -1, 12298, -1, 12299, -1, 12300, \n  -1, 12301, -1, 12302, -1, 12303, -1, 91, \n  -1, 93, -1, 8254, -1, 35, -1, 38, \n  -1, 42, -1, 45, -1, 60, -1, 62, \n  -1, 92, -1, 36, -1, 37, -1, 64, \n  -1, 32, 1611, -1, 1600, 1611, -1, 32, \n  1612, -1, 32, 1613, -1, 32, 1614, -1, \n  1600, 1614, -1, 32, 1615, -1, 1600, 1615, \n  -1, 32, 1616, -1, 1600, 1616, -1, 32, \n  1617, -1, 1600, 1617, -1, 32, 1618, -1, \n  1600, 1618, -1, 1569, -1, 1570, -1, 1571, \n  -1, 1572, -1, 1573, -1, 1574, -1, 1575, \n  -1, 1576, -1, 1577, -1, 1578, -1, 1579, \n  -1, 1580, -1, 1581, -1, 1582, -1, 1583, \n  -1, 1584, -1, 1585, -1, 1586, -1, 1587, \n  -1, 1588, -1, 1589, -1, 1590, -1, 1591, \n  -1, 1592, -1, 1593, -1, 1594, -1, 1601, \n  -1, 1602, -1, 1603, -1, 1604, -1, 1605, \n  -1, 1606, -1, 1607, -1, 1608, -1, 1610, \n  -1, 1604, 1570, -1, 1604, 1571, -1, 1604, \n  1573, -1, 1604, 1575, -1, 34, -1, 39, \n  -1, 47, -1, 65345, -1, 65346, -1, 65347, \n  -1, 65348, -1, 65349, -1, 65350, -1, 65351, \n  -1, 65352, -1, 65353, -1, 65354, -1, 65355, \n  -1, 65356, -1, 65357, -1, 65358, -1, 65359, \n  -1, 65360, -1, 65361, -1, 65362, -1, 65363, \n  -1, 65364, -1, 65365, -1, 65366, -1, 65367, \n  -1, 65368, -1, 65369, -1, 65370, -1, 94, \n  -1, 124, -1, 126, -1, 10629, -1, 10630, \n  -1, 12539, -1, 12449, -1, 12451, -1, 12453, \n  -1, 12455, -1, 12457, -1, 12515, -1, 12517, \n  -1, 12519, -1, 12483, -1, 12540, -1, 12531, \n  -1, 12441, -1, 12442, -1, 12644, -1, 12593, \n  -1, 12594, -1, 12595, -1, 12596, -1, 12597, \n  -1, 12598, -1, 12599, -1, 12600, -1, 12601, \n  -1, 12602, -1, 12603, -1, 12604, -1, 12605, \n  -1, 12606, -1, 12607, -1, 12608, -1, 12609, \n  -1, 12610, -1, 12611, -1, 12612, -1, 12613, \n  -1, 12614, -1, 12615, -1, 12616, -1, 12617, \n  -1, 12618, -1, 12619, -1, 12620, -1, 12621, \n  -1, 12622, -1, 12623, -1, 12624, -1, 12625, \n  -1, 12626, -1, 12627, -1, 12628, -1, 12629, \n  -1, 12630, -1, 12631, -1, 12632, -1, 12633, \n  -1, 12634, -1, 12635, -1, 12636, -1, 12637, \n  -1, 12638, -1, 12639, -1, 12640, -1, 12641, \n  -1, 12642, -1, 12643, -1, 162, -1, 163, \n  -1, 172, -1, 175, -1, 166, -1, 165, \n  -1, 8361, -1, 9474, -1, 8592, -1, 8593, \n  -1, 8594, -1, 8595, -1, 9632, -1, 9675, \n  -1, 66600, -1, 66601, -1, 66602, -1, 66603, \n  -1, 66604, -1, 66605, -1, 66606, -1, 66607, \n  -1, 66608, -1, 66609, -1, 66610, -1, 66611, \n  -1, 66612, -1, 66613, -1, 66614, -1, 66615, \n  -1, 66616, -1, 66617, -1, 66618, -1, 66619, \n  -1, 66620, -1, 66621, -1, 66622, -1, 66623, \n  -1, 66624, -1, 66625, -1, 66626, -1, 66627, \n  -1, 66628, -1, 66629, -1, 66630, -1, 66631, \n  -1, 66632, -1, 66633, -1, 66634, -1, 66635, \n  -1, 66636, -1, 66637, -1, 66638, -1, 66639, \n  -1, 68800, -1, 68801, -1, 68802, -1, 68803, \n  -1, 68804, -1, 68805, -1, 68806, -1, 68807, \n  -1, 68808, -1, 68809, -1, 68810, -1, 68811, \n  -1, 68812, -1, 68813, -1, 68814, -1, 68815, \n  -1, 68816, -1, 68817, -1, 68818, -1, 68819, \n  -1, 68820, -1, 68821, -1, 68822, -1, 68823, \n  -1, 68824, -1, 68825, -1, 68826, -1, 68827, \n  -1, 68828, -1, 68829, -1, 68830, -1, 68831, \n  -1, 68832, -1, 68833, -1, 68834, -1, 68835, \n  -1, 68836, -1, 68837, -1, 68838, -1, 68839, \n  -1, 68840, -1, 68841, -1, 68842, -1, 68843, \n  -1, 68844, -1, 68845, -1, 68846, -1, 68847, \n  -1, 68848, -1, 68849, -1, 68850, -1, 69785, \n  69818, -1, 69787, 69818, -1, 69797, 69818, -1, \n  69937, 69927, -1, 69938, 69927, -1, 70471, 70462, \n  -1, 70471, 70487, -1, 70841, 70842, -1, 70841, \n  70832, -1, 70841, 70845, -1, 71096, 71087, -1, \n  71097, 71087, -1, 71872, -1, 71873, -1, 71874, \n  -1, 71875, -1, 71876, -1, 71877, -1, 71878, \n  -1, 71879, -1, 71880, -1, 71881, -1, 71882, \n  -1, 71883, -1, 71884, -1, 71885, -1, 71886, \n  -1, 71887, -1, 71888, -1, 71889, -1, 71890, \n  -1, 71891, -1, 71892, -1, 71893, -1, 71894, \n  -1, 71895, -1, 71896, -1, 71897, -1, 71898, \n  -1, 71899, -1, 71900, -1, 71901, -1, 71902, \n  -1, 71903, -1, 119127, 119141, -1, 119128, 119141, \n  -1, 119135, 119150, -1, 119135, 119151, -1, 119135, \n  119152, -1, 119135, 119153, -1, 119135, 119154, -1, \n  119225, 119141, -1, 119226, 119141, -1, 119227, 119150, \n  -1, 119228, 119150, -1, 119227, 119151, -1, 119228, \n  119151, -1, 305, -1, 567, -1, 913, -1, \n  914, -1, 916, -1, 917, -1, 918, -1, \n  919, -1, 921, -1, 922, -1, 923, -1, \n  924, -1, 925, -1, 926, -1, 927, -1, \n  929, -1, 1012, -1, 932, -1, 934, -1, \n  935, -1, 936, -1, 8711, -1, 8706, -1, \n  1013, -1, 977, -1, 1008, -1, 981, -1, \n  1009, -1, 982, -1, 988, -1, 1646, -1, \n  1697, -1, 1647, -1, 48, 46, -1, 48, \n  44, -1, 49, 44, -1, 50, 44, -1, \n  51, 44, -1, 52, 44, -1, 53, 44, \n  -1, 54, 44, -1, 55, 44, -1, 56, \n  44, -1, 57, 44, -1, 40, 65, 41, \n  -1, 40, 66, 41, -1, 40, 67, 41, \n  -1, 40, 68, 41, -1, 40, 69, 41, \n  -1, 40, 70, 41, -1, 40, 71, 41, \n  -1, 40, 72, 41, -1, 40, 73, 41, \n  -1, 40, 74, 41, -1, 40, 75, 41, \n  -1, 40, 76, 41, -1, 40, 77, 41, \n  -1, 40, 78, 41, -1, 40, 79, 41, \n  -1, 40, 80, 41, -1, 40, 81, 41, \n  -1, 40, 82, 41, -1, 40, 83, 41, \n  -1, 40, 84, 41, -1, 40, 85, 41, \n  -1, 40, 86, 41, -1, 40, 87, 41, \n  -1, 40, 88, 41, -1, 40, 89, 41, \n  -1, 40, 90, 41, -1, 12308, 83, 12309, \n  -1, 67, 68, -1, 87, 90, -1, 72, \n  86, -1, 83, 68, -1, 83, 83, -1, \n  80, 80, 86, -1, 87, 67, -1, 77, \n  67, -1, 77, 68, -1, 68, 74, -1, \n  12411, 12363, -1, 12467, 12467, -1, 23383, -1, \n  21452, -1, 12487, -1, 22810, -1, 35299, -1, \n  20132, -1, 26144, -1, 28961, -1, 21069, -1, \n  24460, -1, 20877, -1, 26032, -1, 21021, -1, \n  32066, -1, 36009, -1, 22768, -1, 21561, -1, \n  28436, -1, 25237, -1, 25429, -1, 36938, -1, \n  25351, -1, 25171, -1, 31105, -1, 31354, -1, \n  21512, -1, 28288, -1, 30003, -1, 21106, -1, \n  21942, -1, 12308, 26412, 12309, -1, 12308, 19977, \n  12309, -1, 12308, 20108, 12309, -1, 12308, 23433, \n  12309, -1, 12308, 28857, 12309, -1, 12308, 25171, \n  12309, -1, 12308, 30423, 12309, -1, 12308, 21213, \n  12309, -1, 12308, 25943, 12309, -1, 24471, -1, \n  21487, -1, 20029, -1, 20024, -1, 20033, -1, \n  131362, -1, 20320, -1, 20411, -1, 20482, -1, \n  20602, -1, 20633, -1, 20687, -1, 13470, -1, \n  132666, -1, 20820, -1, 20836, -1, 20855, -1, \n  132380, -1, 13497, -1, 20839, -1, 132427, -1, \n  20887, -1, 20900, -1, 20172, -1, 20908, -1, \n  168415, -1, 20995, -1, 13535, -1, 21051, -1, \n  21062, -1, 21111, -1, 13589, -1, 21253, -1, \n  21254, -1, 21321, -1, 21338, -1, 21363, -1, \n  21373, -1, 21375, -1, 133676, -1, 28784, -1, \n  21450, -1, 21471, -1, 133987, -1, 21483, -1, \n  21489, -1, 21510, -1, 21662, -1, 21560, -1, \n  21576, -1, 21608, -1, 21666, -1, 21750, -1, \n  21776, -1, 21843, -1, 21859, -1, 21892, -1, \n  21931, -1, 21939, -1, 21954, -1, 22294, -1, \n  22295, -1, 22097, -1, 22132, -1, 22766, -1, \n  22478, -1, 22516, -1, 22541, -1, 22411, -1, \n  22578, -1, 22577, -1, 22700, -1, 136420, -1, \n  22770, -1, 22775, -1, 22790, -1, 22818, -1, \n  22882, -1, 136872, -1, 136938, -1, 23020, -1, \n  23067, -1, 23079, -1, 23000, -1, 23142, -1, \n  14062, -1, 14076, -1, 23304, -1, 23358, -1, \n  137672, -1, 23491, -1, 23512, -1, 23539, -1, \n  138008, -1, 23551, -1, 23558, -1, 24403, -1, \n  14209, -1, 23648, -1, 23744, -1, 23693, -1, \n  138724, -1, 23875, -1, 138726, -1, 23918, -1, \n  23915, -1, 23932, -1, 24033, -1, 24034, -1, \n  14383, -1, 24061, -1, 24104, -1, 24125, -1, \n  24169, -1, 14434, -1, 139651, -1, 14460, -1, \n  24240, -1, 24243, -1, 24246, -1, 172946, -1, \n  140081, -1, 33281, -1, 24354, -1, 14535, -1, \n  144056, -1, 156122, -1, 24418, -1, 24427, -1, \n  14563, -1, 24474, -1, 24525, -1, 24535, -1, \n  24569, -1, 24705, -1, 14650, -1, 14620, -1, \n  141012, -1, 24775, -1, 24904, -1, 24908, -1, \n  24954, -1, 25010, -1, 24996, -1, 25007, -1, \n  25054, -1, 25104, -1, 25115, -1, 25181, -1, \n  25265, -1, 25300, -1, 25424, -1, 142092, -1, \n  25405, -1, 25340, -1, 25448, -1, 25475, -1, \n  25572, -1, 142321, -1, 25634, -1, 25541, -1, \n  25513, -1, 14894, -1, 25705, -1, 25726, -1, \n  25757, -1, 25719, -1, 14956, -1, 25964, -1, \n  143370, -1, 26083, -1, 26360, -1, 26185, -1, \n  15129, -1, 15112, -1, 15076, -1, 20882, -1, \n  20885, -1, 26368, -1, 26268, -1, 32941, -1, \n  17369, -1, 26401, -1, 26462, -1, 26451, -1, \n  144323, -1, 15177, -1, 26618, -1, 26501, -1, \n  26706, -1, 144493, -1, 26766, -1, 26655, -1, \n  26900, -1, 26946, -1, 27043, -1, 27114, -1, \n  27304, -1, 145059, -1, 27355, -1, 15384, -1, \n  27425, -1, 145575, -1, 27476, -1, 15438, -1, \n  27506, -1, 27551, -1, 27579, -1, 146061, -1, \n  138507, -1, 146170, -1, 27726, -1, 146620, -1, \n  27839, -1, 27853, -1, 27751, -1, 27926, -1, \n  27966, -1, 28009, -1, 28024, -1, 28037, -1, \n  146718, -1, 27956, -1, 28207, -1, 28270, -1, \n  15667, -1, 28359, -1, 147153, -1, 28153, -1, \n  28526, -1, 147294, -1, 147342, -1, 28614, -1, \n  28729, -1, 28699, -1, 15766, -1, 28746, -1, \n  28797, -1, 28791, -1, 28845, -1, 132389, -1, \n  28997, -1, 148067, -1, 29084, -1, 148395, -1, \n  29224, -1, 29264, -1, 149000, -1, 29312, -1, \n  29333, -1, 149301, -1, 149524, -1, 29562, -1, \n  29579, -1, 16044, -1, 29605, -1, 16056, -1, \n  29767, -1, 29788, -1, 29829, -1, 29898, -1, \n  16155, -1, 29988, -1, 150582, -1, 30014, -1, \n  150674, -1, 139679, -1, 30224, -1, 151457, -1, \n  151480, -1, 151620, -1, 16380, -1, 16392, -1, \n  151795, -1, 151794, -1, 151833, -1, 151859, -1, \n  30494, -1, 30495, -1, 30603, -1, 16454, -1, \n  16534, -1, 152605, -1, 30798, -1, 16611, -1, \n  153126, -1, 153242, -1, 153285, -1, 31211, -1, \n  16687, -1, 31306, -1, 31311, -1, 153980, -1, \n  154279, -1, 31470, -1, 16898, -1, 154539, -1, \n  31686, -1, 31689, -1, 16935, -1, 154752, -1, \n  31954, -1, 17056, -1, 31976, -1, 31971, -1, \n  32000, -1, 155526, -1, 32099, -1, 17153, -1, \n  32199, -1, 32258, -1, 32325, -1, 17204, -1, \n  156200, -1, 156231, -1, 17241, -1, 156377, -1, \n  32634, -1, 156478, -1, 32661, -1, 32762, -1, \n  156890, -1, 156963, -1, 32864, -1, 157096, -1, \n  32880, -1, 144223, -1, 17365, -1, 32946, -1, \n  33027, -1, 17419, -1, 33086, -1, 23221, -1, \n  157607, -1, 157621, -1, 144275, -1, 144284, -1, \n  33284, -1, 36766, -1, 17515, -1, 33425, -1, \n  33419, -1, 33437, -1, 21171, -1, 33457, -1, \n  33459, -1, 33469, -1, 33510, -1, 158524, -1, \n  33565, -1, 33635, -1, 33709, -1, 33571, -1, \n  33725, -1, 33767, -1, 33619, -1, 33738, -1, \n  33740, -1, 33756, -1, 158774, -1, 159083, -1, \n  158933, -1, 17707, -1, 34033, -1, 34035, -1, \n  34070, -1, 160714, -1, 34148, -1, 159532, -1, \n  17757, -1, 17761, -1, 159665, -1, 159954, -1, \n  17771, -1, 34384, -1, 34407, -1, 34409, -1, \n  34473, -1, 34440, -1, 34574, -1, 34530, -1, \n  34600, -1, 34667, -1, 34694, -1, 17879, -1, \n  34785, -1, 34817, -1, 17913, -1, 34912, -1, \n  161383, -1, 35031, -1, 35038, -1, 17973, -1, \n  35066, -1, 13499, -1, 161966, -1, 162150, -1, \n  18110, -1, 18119, -1, 35488, -1, 162984, -1, \n  36011, -1, 36033, -1, 36123, -1, 36215, -1, \n  163631, -1, 133124, -1, 36299, -1, 36284, -1, \n  36336, -1, 133342, -1, 36564, -1, 165330, -1, \n  165357, -1, 37012, -1, 37105, -1, 37137, -1, \n  165678, -1, 37147, -1, 37432, -1, 37591, -1, \n  37592, -1, 37500, -1, 37881, -1, 37909, -1, \n  166906, -1, 38283, -1, 18837, -1, 38327, -1, \n  167287, -1, 18918, -1, 38595, -1, 23986, -1, \n  38691, -1, 168261, -1, 168474, -1, 19054, -1, \n  19062, -1, 38880, -1, 168970, -1, 19122, -1, \n  169110, -1, 38953, -1, 169398, -1, 39138, -1, \n  19251, -1, 39209, -1, 39335, -1, 39362, -1, \n  39422, -1, 19406, -1, 170800, -1, 40000, -1, \n  40189, -1, 19662, -1, 19693, -1, 40295, -1, \n  172238, -1, 19704, -1, 172293, -1, 172558, -1, \n  172689, -1, 19798, -1, 40702, -1, 40709, -1, \n  40719, -1, 40726, -1, 173568, -1, };\n\nconst utf8proc_uint16_t utf8proc_stage1table[] = {\n  0, 256, 512, 768, 1024, 1280, 1536, \n  1792, 2048, 2304, 2560, 2816, 3072, 3328, 3584, \n  3840, 4096, 4352, 4608, 4864, 5120, 5376, 5632, \n  5888, 6144, 6400, 6656, 6912, 7168, 7424, 7680, \n  7936, 8192, 8448, 8704, 8960, 9216, 9472, 9728, \n  9984, 10240, 10496, 10752, 11008, 11264, 11520, 11776, \n  12032, 12288, 12544, 12800, 13056, 13312, 13312, 13312, \n  13312, 13312, 13312, 13312, 13312, 13312, 13312, 13312, \n  13312, 13312, 13312, 13312, 13312, 13312, 13312, 13312, \n  13312, 13312, 13312, 13312, 13312, 13312, 13568, 13312, \n  13312, 13312, 13312, 13312, 13312, 13312, 13312, 13312, \n  13312, 13312, 13312, 13312, 13312, 13312, 13312, 13312, \n  13312, 13312, 13312, 13312, 13312, 13312, 13312, 13312, \n  13312, 13312, 13312, 13312, 13312, 13312, 13312, 13312, \n  13312, 13312, 13312, 13312, 13312, 13312, 13312, 13312, \n  13312, 13312, 13312, 13312, 13312, 13312, 13312, 13312, \n  13312, 13312, 13312, 13312, 13312, 13312, 13312, 13312, \n  13312, 13312, 13312, 13312, 13312, 13312, 13312, 13312, \n  13312, 13312, 13312, 13312, 13312, 13312, 13312, 13312, \n  13312, 13312, 13312, 13312, 13312, 13312, 13312, 13312, \n  13824, 14080, 13312, 13312, 13312, 14336, 13312, 14592, \n  14848, 15104, 15360, 15616, 15872, 16128, 16384, 16640, \n  16896, 17152, 17408, 17664, 16128, 16384, 16640, 16896, \n  17152, 17408, 17664, 16128, 16384, 16640, 16896, 17152, \n  17408, 17664, 16128, 16384, 16640, 16896, 17152, 17408, \n  17664, 16128, 16384, 16640, 16896, 17152, 17408, 17664, \n  16128, 16384, 16640, 16896, 17152, 17408, 17664, 16128, \n  17920, 18176, 18176, 18176, 18176, 18176, 18176, 18176, \n  18176, 18432, 18432, 18432, 18432, 18432, 18432, 18432, \n  18432, 18432, 18432, 18432, 18432, 18432, 18432, 18432, \n  18432, 18432, 18432, 18432, 18432, 18432, 18432, 18432, \n  18432, 18432, 18688, 18944, 19200, 19456, 19712, 19968, \n  20224, 20480, 20736, 20992, 21248, 21504, 21760, 22016, \n  22272, 22528, 22784, 23040, 23296, 23552, 23808, 24064, \n  23808, 24320, 24576, 24832, 25088, 25344, 25600, 25856, \n  26112, 26368, 23808, 26624, 23808, 23808, 23808, 23808, \n  23808, 26880, 26880, 26880, 27136, 27392, 27648, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 26880, 26880, 26880, 26880, 27904, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 26880, 26880, 28160, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 26880, 26880, 28416, 28672, 23808, 23808, 23808, \n  28928, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 29184, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 29440, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 29696, 29952, 30208, 30464, 30720, 30976, 31232, \n  31488, 10240, 10240, 31744, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 32000, 23808, 23808, 23808, 23808, 23808, 32256, \n  23808, 32512, 32768, 33024, 33280, 33536, 33792, 34048, \n  34304, 34560, 34816, 23808, 23808, 23808, 23808, 23808, \n  23808, 13312, 13312, 13312, 13312, 13312, 13312, 13312, \n  13312, 13312, 13312, 13312, 13312, 13312, 13312, 13312, \n  13312, 13312, 13312, 13312, 13312, 13312, 13312, 13312, \n  13312, 13312, 13312, 13312, 13312, 13312, 13312, 13312, \n  13312, 13312, 13312, 13312, 13312, 13312, 13312, 13312, \n  13312, 13312, 13312, 13312, 13312, 13312, 13312, 13312, \n  13312, 13312, 13312, 13312, 13312, 13312, 13312, 13312, \n  13312, 13312, 13312, 13312, 13312, 13312, 13312, 13312, \n  13312, 13312, 13312, 13312, 13312, 13312, 13312, 13312, \n  13312, 13312, 13312, 13312, 13312, 13312, 13312, 13312, \n  13312, 13312, 13312, 13312, 13312, 13312, 13312, 13312, \n  13312, 13312, 13312, 13312, 13312, 13312, 13312, 13312, \n  13312, 13312, 13312, 13312, 13312, 13312, 13312, 13312, \n  13312, 13312, 13312, 13312, 13312, 13312, 13312, 13312, \n  13312, 13312, 13312, 13312, 13312, 13312, 13312, 13312, \n  13312, 13312, 13312, 13312, 13312, 13312, 13312, 13312, \n  13312, 13312, 13312, 13312, 13312, 13312, 13312, 13312, \n  13312, 13312, 13312, 13312, 13312, 13312, 13312, 13312, \n  13312, 13312, 13312, 13312, 13312, 13312, 13312, 13312, \n  13312, 13312, 13312, 13312, 13312, 13312, 13312, 13312, \n  13312, 13312, 13312, 13312, 13312, 13312, 13312, 35072, \n  13312, 13312, 13312, 13312, 13312, 13312, 13312, 13312, \n  13312, 13312, 13312, 13312, 13312, 13312, 13312, 13312, \n  35328, 35584, 13312, 13312, 13312, 13312, 13312, 13312, \n  13312, 13312, 13312, 13312, 13312, 13312, 13312, 13312, \n  13312, 13312, 13312, 13312, 13312, 13312, 13312, 35840, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 36096, 36352, 36608, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 36864, 37120, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 23808, 23808, 23808, 23808, 23808, 23808, 23808, \n  23808, 18432, 18432, 18432, 18432, 18432, 18432, 18432, \n  18432, 18432, 18432, 18432, 18432, 18432, 18432, 18432, \n  18432, 18432, 18432, 18432, 18432, 18432, 18432, 18432, \n  18432, 18432, 18432, 18432, 18432, 18432, 18432, 18432, \n  18432, 18432, 18432, 18432, 18432, 18432, 18432, 18432, \n  18432, 18432, 18432, 18432, 18432, 18432, 18432, 18432, \n  18432, 18432, 18432, 18432, 18432, 18432, 18432, 18432, \n  18432, 18432, 18432, 18432, 18432, 18432, 18432, 18432, \n  18432, 18432, 18432, 18432, 18432, 18432, 18432, 18432, \n  18432, 18432, 18432, 18432, 18432, 18432, 18432, 18432, \n  18432, 18432, 18432, 18432, 18432, 18432, 18432, 18432, \n  18432, 18432, 18432, 18432, 18432, 18432, 18432, 18432, \n  18432, 18432, 18432, 18432, 18432, 18432, 18432, 18432, \n  18432, 18432, 18432, 18432, 18432, 18432, 18432, 18432, \n  18432, 18432, 18432, 18432, 18432, 18432, 18432, 18432, \n  18432, 18432, 18432, 18432, 18432, 18432, 18432, 18432, \n  18432, 18432, 18432, 18432, 18432, 18432, 18432, 18432, \n  18432, 18432, 18432, 18432, 18432, 18432, 18432, 18432, \n  18432, 18432, 18432, 18432, 18432, 18432, 18432, 18432, \n  18432, 18432, 18432, 18432, 18432, 18432, 18432, 18432, \n  18432, 18432, 18432, 18432, 18432, 18432, 18432, 18432, \n  18432, 18432, 18432, 18432, 18432, 18432, 18432, 18432, \n  18432, 18432, 18432, 18432, 18432, 18432, 18432, 18432, \n  18432, 18432, 18432, 18432, 18432, 18432, 18432, 18432, \n  18432, 18432, 18432, 18432, 18432, 18432, 18432, 18432, \n  18432, 18432, 18432, 18432, 18432, 18432, 18432, 18432, \n  18432, 18432, 18432, 18432, 18432, 18432, 18432, 18432, \n  18432, 18432, 18432, 18432, 18432, 18432, 18432, 18432, \n  18432, 18432, 18432, 18432, 18432, 18432, 18432, 18432, \n  18432, 18432, 18432, 18432, 18432, 18432, 18432, 18432, \n  18432, 18432, 18432, 18432, 18432, 18432, 18432, 18432, \n  18432, 18432, 18432, 18432, 18432, 18432, 18432, 18432, \n  37376, 18432, 18432, 18432, 18432, 18432, 18432, 18432, \n  18432, 18432, 18432, 18432, 18432, 18432, 18432, 18432, \n  18432, 18432, 18432, 18432, 18432, 18432, 18432, 18432, \n  18432, 18432, 18432, 18432, 18432, 18432, 18432, 18432, \n  18432, 18432, 18432, 18432, 18432, 18432, 18432, 18432, \n  18432, 18432, 18432, 18432, 18432, 18432, 18432, 18432, \n  18432, 18432, 18432, 18432, 18432, 18432, 18432, 18432, \n  18432, 18432, 18432, 18432, 18432, 18432, 18432, 18432, \n  18432, 18432, 18432, 18432, 18432, 18432, 18432, 18432, \n  18432, 18432, 18432, 18432, 18432, 18432, 18432, 18432, \n  18432, 18432, 18432, 18432, 18432, 18432, 18432, 18432, \n  18432, 18432, 18432, 18432, 18432, 18432, 18432, 18432, \n  18432, 18432, 18432, 18432, 18432, 18432, 18432, 18432, \n  18432, 18432, 18432, 18432, 18432, 18432, 18432, 18432, \n  18432, 18432, 18432, 18432, 18432, 18432, 18432, 18432, \n  18432, 18432, 18432, 18432, 18432, 18432, 18432, 18432, \n  18432, 18432, 18432, 18432, 18432, 18432, 18432, 18432, \n  18432, 18432, 18432, 18432, 18432, 18432, 18432, 18432, \n  18432, 18432, 18432, 18432, 18432, 18432, 18432, 18432, \n  18432, 18432, 18432, 18432, 18432, 18432, 18432, 18432, \n  18432, 18432, 18432, 18432, 18432, 18432, 18432, 18432, \n  18432, 18432, 18432, 18432, 18432, 18432, 18432, 18432, \n  18432, 18432, 18432, 18432, 18432, 18432, 18432, 18432, \n  18432, 18432, 18432, 18432, 18432, 18432, 18432, 18432, \n  18432, 18432, 18432, 18432, 18432, 18432, 18432, 18432, \n  18432, 18432, 18432, 18432, 18432, 18432, 18432, 18432, \n  18432, 18432, 18432, 18432, 18432, 18432, 18432, 18432, \n  18432, 18432, 18432, 18432, 18432, 18432, 18432, 18432, \n  18432, 18432, 18432, 18432, 18432, 18432, 18432, 18432, \n  18432, 18432, 18432, 18432, 18432, 18432, 18432, 18432, \n  18432, 18432, 18432, 18432, 18432, 18432, 18432, 18432, \n  18432, 18432, 18432, 18432, 18432, 18432, 18432, 18432, \n  37376, };\n\nconst utf8proc_uint16_t utf8proc_stage2table[] = {\n  1, 2, 2, 2, 2, 2, 2, \n  2, 2, 3, 4, 3, 5, 6, 2, \n  2, 2, 2, 2, 2, 2, 2, 2, \n  2, 2, 2, 2, 2, 7, 7, 7, \n  3, 8, 9, 9, 10, 11, 10, 9, \n  9, 12, 13, 9, 14, 15, 16, 15, \n  15, 17, 17, 17, 17, 17, 17, 17, \n  17, 17, 17, 15, 9, 18, 19, 20, \n  9, 9, 21, 22, 23, 24, 25, 26, \n  27, 28, 29, 30, 31, 32, 33, 34, \n  35, 36, 37, 38, 39, 40, 41, 42, \n  43, 44, 45, 46, 12, 9, 13, 47, \n  48, 47, 49, 50, 51, 52, 53, 54, \n  55, 56, 57, 58, 59, 60, 61, 62, \n  63, 64, 65, 66, 67, 68, 69, 70, \n  71, 72, 73, 74, 12, 75, 13, 75, \n  2, 2, 2, 2, 2, 2, 7, 2, \n  2, 2, 2, 2, 2, 2, 2, 2, \n  2, 2, 2, 2, 2, 2, 2, 2, \n  2, 2, 2, 2, 2, 2, 2, 2, \n  2, 76, 9, 11, 11, 11, 11, 77, \n  9, 78, 77, 79, 80, 75, 81, 77, \n  82, 83, 84, 85, 86, 87, 88, 9, \n  9, 89, 90, 91, 92, 93, 94, 95, \n  9, 96, 97, 98, 99, 100, 101, 102, \n  103, 104, 105, 106, 107, 108, 109, 110, \n  111, 112, 113, 114, 115, 116, 117, 118, \n  75, 119, 120, 121, 122, 123, 124, 125, \n  126, 127, 128, 129, 130, 131, 132, 133, \n  134, 135, 136, 137, 138, 139, 140, 141, \n  142, 143, 144, 145, 146, 147, 148, 149, \n  75, 150, 151, 152, 153, 154, 155, 156, \n  157, 158, 159, 160, 161, 162, 163, 164, \n  165, 166, 167, 168, 169, 170, 171, 172, \n  173, 174, 175, 176, 177, 178, 179, 180, \n  181, 182, 183, 184, 185, 186, 187, 188, \n  189, 190, 191, 192, 193, 194, 195, 196, \n  197, 198, 199, 200, 201, 202, 203, 204, \n  205, 206, 207, 208, 209, 210, 211, 212, \n  213, 214, 215, 216, 217, 218, 219, 220, \n  221, 222, 223, 224, 225, 226, 227, 228, \n  229, 230, 231, 232, 233, 234, 235, 236, \n  237, 238, 239, 240, 241, 242, 243, 244, \n  245, 246, 247, 248, 249, 250, 251, 252, \n  253, 254, 255, 256, 257, 258, 259, 260, \n  261, 262, 263, 264, 265, 266, 267, 268, \n  269, 270, 271, 272, 273, 274, 275, 276, \n  277, 278, 279, 280, 281, 282, 283, 284, \n  285, 286, 287, 288, 289, 290, 291, 292, \n  293, 294, 295, 296, 297, 298, 214, 299, \n  300, 301, 302, 303, 304, 305, 306, 307, \n  308, 309, 310, 311, 214, 312, 313, 314, \n  315, 316, 317, 318, 319, 320, 321, 322, \n  323, 324, 325, 214, 214, 326, 327, 328, \n  329, 330, 331, 332, 333, 334, 335, 336, \n  337, 338, 339, 214, 340, 341, 342, 214, \n  343, 340, 340, 340, 340, 344, 345, 346, \n  347, 348, 349, 350, 351, 352, 353, 354, \n  355, 356, 357, 358, 359, 360, 361, 362, \n  363, 364, 365, 366, 367, 368, 369, 370, \n  371, 372, 373, 374, 375, 376, 377, 378, \n  379, 380, 381, 382, 383, 384, 385, 386, \n  387, 388, 389, 390, 391, 392, 393, 394, \n  395, 396, 397, 398, 399, 400, 401, 402, \n  403, 404, 405, 406, 407, 408, 409, 410, \n  411, 412, 413, 414, 415, 416, 417, 418, \n  419, 420, 421, 422, 423, 424, 425, 426, \n  427, 428, 429, 430, 431, 432, 433, 434, \n  435, 436, 214, 437, 438, 439, 440, 441, \n  442, 443, 444, 445, 446, 447, 448, 449, \n  450, 451, 452, 453, 454, 214, 214, 214, \n  214, 214, 214, 455, 456, 457, 458, 459, \n  460, 461, 462, 463, 464, 465, 466, 467, \n  468, 469, 470, 471, 472, 473, 474, 475, \n  476, 477, 478, 479, 480, 481, 214, 482, \n  483, 214, 484, 214, 485, 486, 214, 214, \n  214, 487, 488, 214, 489, 214, 490, 491, \n  214, 492, 493, 214, 494, 495, 214, 214, \n  496, 214, 497, 498, 214, 214, 499, 214, \n  214, 214, 214, 214, 214, 214, 500, 214, \n  214, 501, 214, 214, 502, 214, 214, 214, \n  503, 504, 505, 506, 507, 508, 214, 214, \n  214, 214, 214, 509, 214, 340, 214, 214, \n  214, 214, 214, 214, 214, 214, 510, 511, \n  214, 214, 214, 214, 214, 214, 214, 214, \n  214, 214, 214, 214, 214, 214, 214, 214, \n  214, 512, 513, 514, 515, 516, 517, 518, \n  519, 520, 521, 521, 522, 522, 522, 522, \n  522, 522, 522, 47, 47, 47, 47, 521, \n  521, 521, 521, 521, 521, 521, 521, 521, \n  521, 522, 522, 47, 47, 47, 47, 47, \n  47, 523, 524, 525, 526, 527, 528, 47, \n  47, 529, 530, 531, 532, 533, 47, 47, \n  47, 47, 47, 47, 47, 521, 47, 522, \n  47, 47, 47, 47, 47, 47, 47, 47, \n  47, 47, 47, 47, 47, 47, 47, 47, \n  47, 534, 535, 536, 537, 538, 539, 540, \n  541, 542, 543, 544, 545, 546, 539, 539, \n  547, 539, 548, 539, 549, 550, 551, 552, \n  552, 552, 552, 551, 553, 552, 552, 552, \n  552, 552, 554, 554, 555, 556, 557, 558, \n  559, 560, 552, 552, 552, 552, 561, 562, \n  552, 563, 564, 552, 552, 565, 565, 565, \n  565, 566, 552, 552, 552, 552, 539, 539, \n  539, 567, 568, 569, 570, 571, 572, 539, \n  552, 552, 552, 539, 539, 539, 552, 552, \n  573, 539, 539, 539, 552, 552, 552, 552, \n  539, 551, 552, 552, 539, 574, 575, 575, \n  574, 575, 575, 574, 539, 539, 539, 539, \n  539, 539, 539, 539, 539, 539, 539, 539, \n  539, 576, 577, 578, 579, 580, 47, 581, \n  582, 0, 0, 583, 584, 585, 586, 587, \n  588, 0, 0, 0, 0, 87, 589, 590, \n  591, 592, 593, 594, 0, 595, 0, 596, \n  597, 598, 599, 600, 601, 602, 603, 604, \n  605, 606, 607, 608, 609, 610, 611, 612, \n  613, 614, 615, 0, 616, 617, 618, 619, \n  620, 621, 622, 623, 624, 625, 626, 627, \n  628, 629, 630, 631, 632, 633, 634, 635, \n  636, 637, 638, 639, 640, 641, 642, 643, \n  644, 645, 646, 647, 648, 649, 650, 651, \n  652, 653, 654, 655, 656, 657, 658, 659, \n  660, 661, 662, 663, 664, 665, 666, 667, \n  668, 669, 670, 671, 672, 673, 674, 675, \n  676, 677, 678, 679, 680, 681, 682, 683, \n  684, 685, 686, 687, 688, 689, 690, 691, \n  692, 693, 694, 695, 696, 697, 698, 75, \n  699, 700, 701, 702, 703, 214, 704, 705, \n  706, 707, 708, 709, 710, 711, 712, 713, \n  714, 715, 716, 717, 718, 719, 720, 721, \n  722, 723, 724, 725, 726, 727, 728, 729, \n  730, 731, 732, 733, 734, 735, 736, 737, \n  738, 739, 740, 741, 742, 743, 744, 745, \n  746, 747, 748, 749, 750, 751, 752, 753, \n  754, 755, 756, 757, 758, 759, 760, 761, \n  762, 763, 764, 765, 766, 767, 768, 769, \n  770, 771, 772, 773, 774, 775, 776, 777, \n  778, 779, 780, 781, 782, 783, 784, 785, \n  786, 787, 788, 789, 790, 791, 792, 793, \n  794, 795, 796, 797, 798, 799, 800, 801, \n  802, 803, 804, 805, 806, 807, 808, 809, \n  810, 811, 812, 813, 814, 815, 816, 817, \n  818, 819, 820, 821, 822, 823, 824, 825, \n  826, 827, 828, 829, 830, 831, 832, 833, \n  834, 835, 836, 837, 539, 539, 539, 539, \n  539, 838, 838, 839, 840, 841, 842, 843, \n  844, 845, 846, 847, 848, 849, 850, 851, \n  852, 853, 854, 855, 856, 857, 858, 859, \n  860, 861, 862, 863, 864, 865, 866, 867, \n  868, 869, 870, 871, 872, 873, 874, 875, \n  876, 877, 878, 879, 880, 881, 882, 883, \n  884, 885, 886, 887, 888, 889, 890, 891, \n  892, 893, 894, 895, 896, 897, 898, 899, \n  900, 901, 902, 903, 904, 905, 906, 907, \n  908, 909, 910, 911, 912, 913, 914, 915, \n  916, 917, 918, 919, 920, 921, 922, 923, \n  924, 925, 926, 927, 928, 929, 930, 931, \n  932, 933, 934, 935, 936, 937, 938, 939, \n  940, 941, 942, 943, 944, 945, 946, 947, \n  948, 949, 950, 951, 952, 953, 954, 955, \n  956, 957, 958, 959, 960, 961, 962, 963, \n  964, 965, 966, 967, 968, 969, 970, 971, \n  972, 973, 974, 975, 976, 977, 978, 979, \n  980, 981, 982, 983, 984, 985, 986, 987, \n  988, 989, 990, 991, 992, 993, 994, 995, \n  996, 997, 998, 999, 1000, 1001, 1002, 1003, \n  1004, 0, 1005, 1006, 1007, 1008, 1009, 1010, \n  1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, \n  1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, \n  1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, \n  1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, \n  0, 0, 522, 1043, 1043, 1043, 1043, 1043, \n  1043, 0, 1044, 1045, 1046, 1047, 1048, 1049, \n  1050, 1051, 1052, 1053, 1054, 1055, 1056, 1057, \n  1058, 1059, 1060, 1061, 1062, 1063, 1064, 1065, \n  1066, 1067, 1068, 1069, 1070, 1071, 1072, 1073, \n  1074, 1075, 1076, 1077, 1078, 1079, 1080, 1081, \n  1082, 0, 1043, 1083, 0, 0, 1084, 1084, \n  11, 0, 552, 539, 539, 539, 539, 552, \n  539, 539, 539, 1085, 552, 539, 539, 539, \n  539, 539, 539, 552, 552, 552, 552, 552, \n  552, 539, 539, 552, 539, 539, 1085, 1086, \n  539, 1087, 1088, 1089, 1090, 1091, 1092, 1093, \n  1094, 1095, 1096, 1096, 1097, 1098, 1099, 1100, \n  1101, 1102, 1103, 1104, 1102, 539, 552, 1102, \n  1095, 0, 0, 0, 0, 0, 0, 0, \n  0, 1105, 1105, 1105, 1105, 1105, 1105, 1105, \n  1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, \n  1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, \n  1105, 1105, 1105, 1105, 0, 0, 0, 0, \n  0, 1105, 1105, 1105, 1102, 1102, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 1106, 1107, 1107, 1107, 1106, 1106, 1108, \n  1108, 1109, 10, 10, 1110, 15, 1111, 1084, \n  1084, 539, 539, 539, 539, 539, 539, 539, \n  539, 1112, 1113, 1114, 1111, 1115, 0, 1116, \n  1111, 1117, 1117, 1118, 1119, 1120, 1121, 1122, \n  1123, 1117, 1117, 1117, 1117, 1117, 1117, 1117, \n  1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, \n  1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, \n  1117, 1124, 1117, 1117, 1117, 1117, 1117, 1117, \n  1125, 1126, 1117, 1127, 1128, 1129, 1130, 1112, \n  1113, 1114, 1131, 1132, 1133, 1134, 1135, 552, \n  539, 539, 539, 539, 539, 552, 539, 539, \n  552, 1136, 1136, 1136, 1136, 1136, 1136, 1136, \n  1136, 1136, 1136, 10, 1137, 1137, 1111, 1117, \n  1117, 1138, 1117, 1117, 1117, 1117, 1139, 1140, \n  1141, 1142, 1117, 1117, 1117, 1117, 1117, 1117, \n  1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, \n  1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, \n  1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, \n  1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, \n  1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, \n  1117, 1117, 1117, 1125, 1117, 1117, 1117, 1117, \n  1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, \n  1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, \n  1117, 1143, 1144, 1145, 1117, 1117, 1117, 1117, \n  1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, \n  1117, 1117, 1117, 1146, 1147, 1111, 1148, 539, \n  539, 539, 539, 539, 539, 539, 1107, 1084, \n  539, 539, 539, 539, 552, 539, 1124, 1124, \n  539, 539, 1084, 552, 539, 539, 552, 1117, \n  1117, 17, 17, 17, 17, 17, 17, 17, \n  17, 17, 17, 1117, 1117, 1117, 1149, 1149, \n  1125, 1116, 1116, 1116, 1116, 1116, 1116, 1116, \n  1116, 1116, 1116, 1116, 1116, 1116, 1116, 0, \n  1150, 1125, 1151, 1125, 1125, 1125, 1125, 1125, \n  1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, \n  1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, \n  1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, \n  1125, 539, 552, 539, 539, 552, 539, 539, \n  552, 552, 552, 539, 552, 552, 539, 552, \n  539, 539, 539, 552, 539, 552, 539, 552, \n  539, 552, 539, 539, 0, 0, 1125, 1125, \n  1125, 1117, 1117, 1117, 1117, 1117, 1117, 1117, \n  1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, \n  1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, \n  1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, \n  1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, \n  1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, \n  1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, \n  1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, \n  1117, 1125, 1117, 1117, 1117, 1117, 1117, 1117, \n  1117, 1117, 1117, 1117, 1117, 1117, 1125, 1125, \n  1125, 1117, 1117, 1117, 1117, 1117, 1117, 1152, \n  1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, \n  1152, 1152, 1117, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 1153, 1153, 1153, 1153, 1153, 1153, 1153, \n  1153, 1153, 1153, 1105, 1105, 1105, 1105, 1105, \n  1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, \n  1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, \n  1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, \n  1105, 1105, 1105, 1105, 539, 539, 539, 539, \n  539, 539, 539, 552, 539, 1154, 1154, 77, \n  9, 9, 9, 1154, 0, 0, 0, 0, \n  0, 1155, 1155, 1155, 1155, 1155, 1155, 1155, \n  1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, \n  1155, 1155, 1155, 1155, 1155, 1155, 1155, 539, \n  539, 539, 539, 1156, 539, 539, 539, 539, \n  539, 539, 539, 539, 539, 1156, 539, 539, \n  539, 1156, 539, 539, 539, 539, 539, 0, \n  0, 1157, 1157, 1157, 1157, 1157, 1157, 1157, \n  1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, \n  0, 1155, 1155, 1155, 1155, 1155, 1155, 1155, \n  1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, \n  1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, \n  1155, 1155, 552, 552, 552, 0, 0, 1157, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 1117, 1117, 1117, 1117, 1117, 1117, 1117, \n  1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, \n  1117, 1117, 1117, 1117, 1117, 1117, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 552, 539, 539, 552, \n  539, 539, 552, 539, 539, 539, 552, 552, \n  552, 1128, 1129, 1130, 539, 539, 539, 552, \n  539, 539, 552, 552, 539, 539, 539, 539, \n  539, 1152, 1152, 1152, 1158, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1160, 1161, 1159, 1159, 1159, 1159, 1159, \n  1159, 1162, 1163, 1159, 1164, 1165, 1159, 1159, \n  1159, 1159, 1159, 1152, 1158, 1166, 1159, 1158, \n  1158, 1158, 1152, 1152, 1152, 1152, 1152, 1152, \n  1152, 1152, 1158, 1158, 1158, 1158, 1167, 1158, \n  1158, 1159, 539, 552, 539, 539, 1152, 1152, \n  1152, 1168, 1169, 1170, 1171, 1172, 1173, 1174, \n  1175, 1159, 1159, 1152, 1152, 1176, 1176, 1177, \n  1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, \n  1177, 1176, 1178, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1152, 1158, 1158, 0, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 0, 0, \n  1159, 1159, 0, 0, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 0, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 0, 1159, 0, 0, 0, 1159, \n  1159, 1159, 1159, 0, 0, 1179, 1159, 1180, \n  1158, 1158, 1152, 1152, 1152, 1152, 0, 0, \n  1181, 1158, 0, 0, 1182, 1183, 1167, 1159, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  1184, 0, 0, 0, 0, 1185, 1186, 0, \n  1187, 1159, 1159, 1152, 1152, 0, 0, 1177, \n  1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, \n  1177, 1159, 1159, 1188, 1188, 1189, 1189, 1189, \n  1189, 1189, 1189, 1190, 1188, 0, 0, 0, \n  0, 0, 1152, 1152, 1158, 0, 1159, 1159, \n  1159, 1159, 1159, 1159, 0, 0, 0, 0, \n  1159, 1159, 0, 0, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 0, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 0, 1159, 1191, 0, 1159, 1192, \n  0, 1159, 1159, 0, 0, 1179, 0, 1158, \n  1158, 1158, 1152, 1152, 0, 0, 0, 0, \n  1152, 1152, 0, 0, 1152, 1152, 1167, 0, \n  0, 0, 1152, 0, 0, 0, 0, 0, \n  0, 0, 1193, 1194, 1195, 1159, 0, 1196, \n  0, 0, 0, 0, 0, 0, 0, 1177, \n  1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, \n  1177, 1152, 1152, 1159, 1159, 1159, 1152, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 1152, 1152, 1158, 0, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 0, \n  1159, 1159, 1159, 0, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 0, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 0, 1159, 1159, 0, 1159, 1159, \n  1159, 1159, 1159, 0, 0, 1179, 1159, 1158, \n  1158, 1158, 1152, 1152, 1152, 1152, 1152, 0, \n  1152, 1152, 1158, 0, 1158, 1158, 1167, 0, \n  0, 1159, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 1159, 1159, 1152, 1152, 0, 0, 1177, \n  1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, \n  1177, 1176, 1188, 0, 0, 0, 0, 0, \n  0, 0, 1159, 0, 0, 0, 0, 0, \n  0, 0, 1152, 1158, 1158, 0, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 0, 0, \n  1159, 1159, 0, 0, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 0, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 0, 1159, 1159, 0, 1159, 1159, \n  1159, 1159, 1159, 0, 0, 1179, 1159, 1197, \n  1152, 1158, 1152, 1152, 1152, 1152, 0, 0, \n  1198, 1199, 0, 0, 1200, 1201, 1167, 0, \n  0, 0, 0, 0, 0, 0, 0, 1202, \n  1203, 0, 0, 0, 0, 1204, 1205, 0, \n  1159, 1159, 1159, 1152, 1152, 0, 0, 1177, \n  1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, \n  1177, 1190, 1159, 1189, 1189, 1189, 1189, 1189, \n  1189, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 1152, 1159, 0, 1159, 1159, \n  1159, 1159, 1159, 1159, 0, 0, 0, 1159, \n  1159, 1159, 0, 1206, 1159, 1207, 1159, 0, \n  0, 0, 1159, 1159, 0, 1159, 0, 1159, \n  1159, 0, 0, 0, 1159, 1159, 0, 0, \n  0, 1159, 1159, 1159, 0, 0, 0, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 0, 0, 0, 0, 1208, \n  1158, 1152, 1158, 1158, 0, 0, 0, 1209, \n  1210, 1158, 0, 1211, 1212, 1213, 1167, 0, \n  0, 1159, 0, 0, 0, 0, 0, 0, \n  1214, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 1177, \n  1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, \n  1177, 1189, 1189, 1189, 1084, 1084, 1084, 1084, \n  1084, 1084, 1188, 1084, 0, 0, 0, 0, \n  0, 1152, 1158, 1158, 1158, 0, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 0, 1159, \n  1159, 1159, 0, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 0, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 0, 0, 0, 1159, 1152, \n  1152, 1152, 1158, 1158, 1158, 1158, 0, 1215, \n  1152, 1216, 0, 1152, 1152, 1152, 1167, 0, \n  0, 0, 0, 0, 0, 0, 1217, 1218, \n  0, 1159, 1159, 1159, 0, 0, 0, 0, \n  0, 1159, 1159, 1152, 1152, 0, 0, 1177, \n  1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, \n  1177, 0, 0, 0, 0, 0, 0, 0, \n  0, 1219, 1219, 1219, 1219, 1219, 1219, 1219, \n  1190, 0, 1152, 1158, 1158, 0, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 0, 1159, \n  1159, 1159, 0, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 0, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 0, 1159, 1159, \n  1159, 1159, 1159, 0, 0, 1179, 1159, 1158, \n  1220, 1221, 1158, 1222, 1158, 1158, 0, 1223, \n  1224, 1225, 0, 1226, 1227, 1152, 1167, 0, \n  0, 0, 0, 0, 0, 0, 1228, 1229, \n  0, 0, 0, 0, 0, 0, 0, 1159, \n  0, 1159, 1159, 1152, 1152, 0, 0, 1177, \n  1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, \n  1177, 0, 1159, 1159, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 1152, 1158, 1158, 0, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 0, 1159, \n  1159, 1159, 0, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 0, 0, 1159, 1230, \n  1158, 1158, 1152, 1152, 1152, 1152, 0, 1231, \n  1232, 1158, 0, 1233, 1234, 1235, 1167, 1159, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  1236, 0, 0, 0, 0, 0, 0, 0, \n  1159, 1159, 1159, 1152, 1152, 0, 0, 1177, \n  1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, \n  1177, 1189, 1189, 1189, 1189, 1189, 1189, 0, \n  0, 0, 1190, 1159, 1159, 1159, 1159, 1159, \n  1159, 0, 0, 1158, 1158, 0, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  0, 0, 0, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 0, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 0, 1159, 0, \n  0, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  0, 0, 0, 1237, 0, 0, 0, 0, \n  1238, 1158, 1158, 1152, 1152, 1152, 0, 1152, \n  0, 1158, 1239, 1240, 1158, 1241, 1242, 1243, \n  1244, 0, 0, 0, 0, 0, 0, 1177, \n  1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, \n  1177, 0, 0, 1158, 1158, 1176, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 1152, 340, 1245, 1152, 1152, 1152, \n  1152, 1246, 1246, 1167, 0, 0, 0, 0, \n  11, 340, 340, 340, 340, 340, 340, 522, \n  1152, 1247, 1247, 1247, 1247, 1152, 1152, 1152, \n  1043, 1248, 1248, 1248, 1248, 1248, 1248, 1248, \n  1248, 1248, 1248, 1043, 1043, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 340, 340, 0, 340, 0, 0, \n  340, 340, 0, 340, 0, 0, 340, 0, \n  0, 0, 0, 0, 0, 340, 340, 340, \n  340, 0, 340, 340, 340, 340, 340, 340, \n  340, 0, 340, 340, 340, 0, 340, 0, \n  340, 0, 0, 340, 340, 0, 340, 340, \n  340, 340, 1152, 340, 1249, 1152, 1152, 1152, \n  1152, 1250, 1250, 0, 1152, 1152, 340, 0, \n  0, 340, 340, 340, 340, 340, 0, 522, \n  0, 1251, 1251, 1251, 1251, 1152, 1152, 0, \n  0, 1248, 1248, 1248, 1248, 1248, 1248, 1248, \n  1248, 1248, 1248, 0, 0, 1252, 1253, 340, \n  340, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 1159, 1190, 1190, 1190, 1176, 1176, 1176, \n  1176, 1176, 1176, 1176, 1176, 1254, 1176, 1176, \n  1176, 1176, 1176, 1176, 1190, 1176, 1190, 1190, \n  1190, 552, 552, 1190, 1190, 1190, 1190, 1190, \n  1190, 1177, 1177, 1177, 1177, 1177, 1177, 1177, \n  1177, 1177, 1177, 1189, 1189, 1189, 1189, 1189, \n  1189, 1189, 1189, 1189, 1189, 1190, 552, 1190, \n  552, 1190, 1255, 1256, 1257, 1256, 1257, 1158, \n  1158, 1159, 1159, 1159, 1258, 1159, 1159, 1159, \n  1159, 0, 1159, 1159, 1159, 1159, 1259, 1159, \n  1159, 1159, 1159, 1260, 1159, 1159, 1159, 1159, \n  1261, 1159, 1159, 1159, 1159, 1262, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1263, 1159, 1159, 1159, 0, 0, \n  0, 0, 1264, 1265, 1266, 1267, 1268, 1269, \n  1270, 1271, 1272, 1265, 1265, 1265, 1265, 1152, \n  1158, 1265, 1273, 539, 539, 1167, 1176, 539, \n  539, 1159, 1159, 1159, 1159, 1159, 1152, 1152, \n  1152, 1152, 1152, 1152, 1274, 1152, 1152, 1152, \n  1152, 0, 1152, 1152, 1152, 1152, 1275, 1152, \n  1152, 1152, 1152, 1276, 1152, 1152, 1152, 1152, \n  1277, 1152, 1152, 1152, 1152, 1278, 1152, 1152, \n  1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, \n  1152, 1152, 1279, 1152, 1152, 1152, 0, 1190, \n  1190, 1190, 1190, 1190, 1190, 1190, 1190, 552, \n  1190, 1190, 1190, 1190, 1190, 1190, 0, 1190, \n  1190, 1176, 1176, 1176, 1176, 1176, 1190, 1190, \n  1190, 1190, 1176, 1176, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 340, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 340, 1159, 1159, 1159, 1159, 1280, 1281, \n  1159, 1159, 1159, 1159, 1282, 1282, 1152, 1283, \n  1152, 1152, 1158, 1152, 1152, 1152, 1152, 1152, \n  1179, 1282, 1167, 1167, 1158, 1158, 1152, 1152, \n  1159, 1177, 1177, 1248, 1248, 1177, 1177, 1177, \n  1177, 1177, 1177, 1043, 1043, 1043, 1176, 1176, \n  1176, 1159, 1159, 1159, 1159, 340, 1159, 1158, \n  1158, 1152, 1152, 1159, 1159, 1159, 1159, 1152, \n  1152, 1152, 1159, 1282, 1282, 1282, 1159, 1159, \n  1282, 1282, 1282, 1282, 1282, 1282, 1282, 1159, \n  1159, 1159, 1152, 1152, 1152, 1152, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1152, 1282, 1158, 1152, 1152, \n  1282, 1282, 1282, 1282, 1282, 1282, 552, 1159, \n  1282, 1177, 1177, 1177, 1177, 1177, 1177, 1177, \n  1177, 1177, 1177, 1282, 1282, 1282, 1152, 1190, \n  1190, 1284, 1285, 1286, 1287, 1288, 1289, 1290, \n  1291, 1292, 1293, 1294, 1295, 1296, 1297, 1298, \n  1299, 1300, 1301, 1302, 1303, 1304, 1305, 1306, \n  1307, 1308, 1309, 1310, 1311, 1312, 1313, 1314, \n  1315, 1316, 1317, 1318, 1319, 1320, 1321, 0, \n  1322, 0, 0, 0, 0, 0, 1323, 0, \n  0, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 1043, 1324, 340, 340, \n  340, 1325, 1325, 1325, 1325, 1325, 1325, 1325, \n  1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, \n  1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, \n  1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, \n  1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, \n  1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, \n  1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, \n  1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, \n  1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, \n  1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, \n  1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, \n  1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, \n  1326, 1327, 1328, 1328, 1328, 1328, 1328, 1328, \n  1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, \n  1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, \n  1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, \n  1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, \n  1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, \n  1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, \n  1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, \n  1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, \n  1328, 1329, 1329, 1329, 1329, 1329, 1329, 1329, \n  1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, \n  1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, \n  1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, \n  1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, \n  1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, \n  1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, \n  1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, \n  1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, \n  1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, \n  1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, \n  1329, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 0, 1159, 1159, 1159, 1159, 0, \n  0, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  0, 1159, 0, 1159, 1159, 1159, 1159, 0, \n  0, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 0, 1159, 1159, 1159, 1159, 0, \n  0, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 0, 1159, 1159, 1159, 1159, 0, \n  0, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  0, 1159, 0, 1159, 1159, 1159, 1159, 0, \n  0, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  0, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 0, 1159, 1159, 1159, 1159, 0, \n  0, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 340, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 0, 0, 539, 539, \n  539, 1176, 1043, 1176, 1176, 1176, 1176, 1176, \n  1176, 1176, 1189, 1189, 1189, 1189, 1189, 1189, \n  1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, \n  1189, 1189, 1189, 1189, 1189, 1189, 0, 0, \n  0, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 77, 77, 77, 77, 77, 1084, 77, \n  1084, 1084, 77, 0, 0, 0, 0, 0, \n  0, 1330, 1331, 1332, 1333, 1334, 1335, 1336, \n  1337, 1338, 1339, 1340, 1341, 1342, 1343, 1344, \n  1345, 1346, 1347, 1348, 1349, 1350, 1351, 1352, \n  1353, 1354, 1355, 1356, 1357, 1358, 1359, 1360, \n  1361, 1362, 1363, 1364, 1365, 1366, 1367, 1368, \n  1369, 1370, 1371, 1372, 1373, 1374, 1375, 1376, \n  1377, 1378, 1379, 1380, 1381, 1382, 1383, 1384, \n  1385, 1386, 1387, 1388, 1389, 1390, 1391, 1392, \n  1393, 1394, 1395, 1396, 1397, 1398, 1399, 1400, \n  1401, 1402, 1403, 1404, 1405, 1406, 1407, 1408, \n  1409, 1410, 1411, 1412, 1413, 1414, 1415, 0, \n  0, 1416, 1417, 1418, 1419, 1420, 1421, 0, \n  0, 1083, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 1159, 1159, 1159, \n  1159, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  1159, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 340, 1159, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 340, 340, 340, \n  340, 1159, 1159, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 1159, 1159, 340, \n  340, 340, 340, 1159, 1159, 1159, 1159, 1159, \n  1159, 340, 340, 1159, 1159, 1159, 1159, 340, \n  340, 340, 340, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 340, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1043, 1043, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 1422, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1256, 1257, 0, 0, \n  0, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 1159, 340, 1159, 340, 340, 340, 340, \n  340, 340, 340, 340, 1043, 1043, 1043, 1423, \n  1423, 1423, 340, 340, 340, 340, 340, 340, \n  340, 340, 0, 0, 0, 0, 0, 0, \n  0, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 0, 1159, \n  1159, 1159, 1159, 1152, 1152, 1167, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1152, 1152, 1167, 1176, 1176, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1152, 1152, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 1159, 1159, 340, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 0, 1159, \n  1159, 1159, 0, 1152, 1152, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 573, 573, 1158, \n  1152, 1152, 1152, 1152, 1152, 1152, 1152, 1158, \n  1158, 1158, 1158, 1158, 1158, 1158, 1158, 1152, \n  1158, 1158, 1152, 1152, 1152, 1152, 1152, 1152, \n  1152, 1152, 1152, 1167, 1152, 1176, 1176, 1043, \n  1178, 1176, 1176, 1176, 1188, 340, 539, 0, \n  0, 1177, 1177, 1177, 1177, 1177, 1177, 1177, \n  1177, 1177, 1177, 0, 0, 0, 0, 0, \n  0, 1424, 1424, 1424, 1424, 1424, 1424, 1424, \n  1424, 1424, 1424, 0, 0, 0, 0, 0, \n  0, 1425, 1425, 1425, 1425, 1425, 1425, 1426, \n  1425, 1425, 1425, 1425, 573, 573, 573, 81, \n  0, 1177, 1177, 1177, 1177, 1177, 1177, 1177, \n  1177, 1177, 1177, 0, 0, 0, 0, 0, \n  0, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1178, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 0, 0, 0, 0, 0, 0, 0, \n  0, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1086, 1159, 0, 0, 0, 0, \n  0, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 1159, 340, 340, 340, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  0, 1152, 1152, 1152, 1158, 1158, 1158, 1158, \n  1152, 1152, 1158, 1158, 1158, 0, 0, 0, \n  0, 1158, 1158, 1152, 1158, 1158, 1158, 1158, \n  1158, 1158, 1085, 539, 552, 0, 0, 0, \n  0, 1084, 0, 0, 0, 1425, 1425, 1177, \n  1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, \n  1177, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 0, \n  0, 340, 340, 340, 340, 340, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 0, 0, 0, \n  0, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 0, 0, 0, 0, 0, \n  0, 1177, 1177, 1177, 1177, 1177, 1177, 1177, \n  1177, 1177, 1177, 1189, 0, 0, 0, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  539, 552, 1158, 1158, 1152, 0, 0, 1176, \n  1176, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1158, 1152, \n  1158, 1152, 1152, 1152, 1152, 1152, 1152, 1152, \n  0, 1167, 1282, 1152, 1282, 1282, 1152, 1152, \n  1152, 1152, 1152, 1152, 1152, 1152, 1158, 1158, \n  1158, 1158, 1158, 1158, 1152, 1152, 539, 539, \n  539, 539, 539, 539, 539, 539, 0, 0, \n  552, 1177, 1177, 1177, 1177, 1177, 1177, 1177, \n  1177, 1177, 1177, 0, 0, 0, 0, 0, \n  0, 1177, 1177, 1177, 1177, 1177, 1177, 1177, \n  1177, 1177, 1177, 0, 0, 0, 0, 0, \n  0, 1176, 1176, 1176, 1176, 1176, 1176, 1176, \n  1178, 1176, 1176, 1176, 1176, 1176, 1176, 0, \n  0, 539, 539, 539, 539, 539, 552, 552, \n  552, 552, 552, 552, 539, 539, 552, 838, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 1152, 1152, 1152, 1152, 1158, 1427, 1428, \n  1429, 1430, 1431, 1432, 1433, 1434, 1435, 1436, \n  1159, 1159, 1437, 1438, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1179, 1439, 1152, \n  1152, 1152, 1152, 1440, 1441, 1442, 1443, 1444, \n  1445, 1446, 1447, 1448, 1449, 1450, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 0, 0, 0, \n  0, 1177, 1177, 1177, 1177, 1177, 1177, 1177, \n  1177, 1177, 1177, 1176, 1176, 1176, 1176, 1176, \n  1176, 1176, 1190, 1190, 1190, 1190, 1190, 1190, \n  1190, 1190, 1190, 1190, 539, 552, 539, 539, \n  539, 539, 539, 539, 539, 1190, 1190, 1190, \n  1190, 1190, 1190, 1190, 1190, 1190, 0, 0, \n  0, 1152, 1152, 1158, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1158, 1152, 1152, 1152, 1152, 1158, \n  1158, 1152, 1152, 1450, 1167, 1152, 1152, 1159, \n  1159, 1177, 1177, 1177, 1177, 1177, 1177, 1177, \n  1177, 1177, 1177, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1179, \n  1158, 1152, 1152, 1158, 1158, 1158, 1152, 1158, \n  1152, 1152, 1152, 1450, 1450, 0, 0, 0, \n  0, 0, 0, 0, 0, 1176, 1176, 1176, \n  1176, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1158, 1158, 1158, \n  1158, 1158, 1158, 1158, 1158, 1152, 1152, 1152, \n  1152, 1152, 1152, 1152, 1152, 1158, 1158, 1152, \n  1179, 0, 0, 0, 1176, 1176, 1176, 1176, \n  1176, 1177, 1177, 1177, 1177, 1177, 1177, 1177, \n  1177, 1177, 1177, 0, 0, 0, 1159, 1159, \n  1159, 1248, 1248, 1248, 1248, 1248, 1248, 1248, \n  1248, 1248, 1248, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 522, 522, 522, 522, 522, 522, 1043, \n  1043, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 1176, 1176, 1176, 1176, 1176, 1176, 1176, \n  1176, 0, 0, 0, 0, 0, 0, 0, \n  0, 539, 539, 539, 1176, 565, 552, 552, \n  552, 552, 552, 539, 539, 552, 552, 552, \n  552, 539, 1158, 565, 565, 565, 565, 565, \n  565, 565, 1159, 1159, 1159, 1159, 552, 1159, \n  1159, 1159, 1159, 1158, 1158, 539, 1159, 1159, \n  0, 539, 539, 0, 0, 0, 0, 0, \n  0, 214, 214, 214, 214, 214, 214, 214, \n  214, 214, 214, 214, 214, 214, 214, 214, \n  214, 214, 214, 214, 214, 214, 214, 214, \n  214, 214, 214, 214, 214, 214, 214, 214, \n  214, 214, 214, 214, 214, 214, 214, 214, \n  214, 214, 214, 214, 214, 1451, 1452, 1453, \n  522, 1454, 1455, 1456, 1457, 1458, 1459, 1460, \n  1461, 1462, 1463, 1464, 522, 1465, 1466, 1467, \n  1468, 1469, 1470, 1471, 1472, 1473, 1474, 1475, \n  1476, 1477, 1478, 1479, 1480, 1481, 1482, 522, \n  1483, 1484, 1485, 1486, 1487, 1488, 1489, 1490, \n  1491, 1492, 1493, 1494, 1495, 1496, 1497, 1498, \n  1499, 1500, 1501, 1502, 1503, 1504, 1505, 1506, \n  1507, 1508, 1509, 1510, 214, 214, 214, 214, \n  214, 214, 214, 214, 214, 214, 214, 214, \n  214, 1511, 1512, 1513, 214, 214, 1514, 214, \n  214, 214, 214, 214, 214, 214, 214, 214, \n  214, 214, 214, 214, 214, 214, 214, 214, \n  214, 214, 214, 214, 214, 214, 1513, 214, \n  214, 214, 214, 214, 1515, 1516, 1517, 1518, \n  1481, 1519, 1520, 1521, 1522, 1523, 1524, 1525, \n  1526, 1527, 1528, 1529, 1530, 1531, 1532, 1533, \n  1534, 1535, 1536, 1537, 1538, 1539, 1540, 1541, \n  1542, 1543, 1544, 1545, 1546, 1547, 1548, 1549, \n  1550, 539, 539, 552, 539, 539, 539, 539, \n  539, 539, 539, 552, 539, 539, 575, 1551, \n  552, 554, 539, 539, 539, 539, 539, 539, \n  539, 539, 539, 539, 539, 539, 539, 539, \n  539, 539, 539, 539, 539, 539, 539, 539, \n  539, 539, 539, 539, 539, 539, 539, 539, \n  539, 539, 539, 539, 539, 539, 539, 0, \n  0, 0, 0, 0, 0, 574, 552, 539, \n  552, 1552, 1553, 1554, 1555, 1556, 1557, 1558, \n  1559, 1560, 1561, 1562, 1563, 1564, 1565, 1566, \n  1567, 1568, 1569, 1570, 1571, 1572, 1573, 1574, \n  1575, 1576, 1577, 1578, 1579, 1580, 1581, 1582, \n  1583, 1584, 1585, 1586, 1587, 1588, 1589, 1590, \n  1591, 1592, 1593, 1594, 1595, 1596, 1597, 1598, \n  1599, 1600, 1601, 1602, 1603, 1604, 1605, 1606, \n  1607, 1608, 1609, 1610, 1611, 1612, 1613, 1614, \n  1615, 1616, 1617, 1618, 1619, 1620, 1621, 1622, \n  1623, 1624, 1625, 1626, 1627, 1628, 1629, 1630, \n  1631, 1632, 1633, 1634, 1635, 1636, 1637, 1638, \n  1639, 1640, 1641, 1642, 1643, 1644, 1645, 1646, \n  1647, 1648, 1649, 1650, 1651, 1652, 1653, 1654, \n  1655, 1656, 1657, 1658, 1659, 1660, 1661, 1662, \n  1663, 1664, 1665, 1666, 1667, 1668, 1669, 1670, \n  1671, 1672, 1673, 1674, 1675, 1676, 1677, 1678, \n  1679, 1680, 1681, 1682, 1683, 1684, 1685, 1686, \n  1687, 1688, 1689, 1690, 1691, 1692, 1693, 1694, \n  1695, 1696, 1697, 1698, 1699, 1700, 1701, 1702, \n  1703, 1704, 1705, 1706, 1707, 214, 214, 1708, \n  214, 1709, 1710, 1711, 1712, 1713, 1714, 1715, \n  1716, 1717, 1718, 1719, 1720, 1721, 1722, 1723, \n  1724, 1725, 1726, 1727, 1728, 1729, 1730, 1731, \n  1732, 1733, 1734, 1735, 1736, 1737, 1738, 1739, \n  1740, 1741, 1742, 1743, 1744, 1745, 1746, 1747, \n  1748, 1749, 1750, 1751, 1752, 1753, 1754, 1755, \n  1756, 1757, 1758, 1759, 1760, 1761, 1762, 1763, \n  1764, 1765, 1766, 1767, 1768, 1769, 1770, 1771, \n  1772, 1773, 1774, 1775, 1776, 1777, 1778, 1779, \n  1780, 1781, 1782, 1783, 1784, 1785, 1786, 1787, \n  1788, 1789, 1790, 1791, 1792, 1793, 1794, 1795, \n  1796, 1797, 1798, 1799, 1800, 1801, 1802, 1803, \n  1804, 1805, 1806, 1807, 1808, 1809, 1810, 1811, \n  1812, 1813, 1814, 1815, 1816, 1817, 1818, 1819, \n  1820, 1821, 1822, 1823, 1824, 1825, 1826, 0, \n  0, 1827, 1828, 1829, 1830, 1831, 1832, 0, \n  0, 1833, 1834, 1835, 1836, 1837, 1838, 1839, \n  1840, 1841, 1842, 1843, 1844, 1845, 1846, 1847, \n  1848, 1849, 1850, 1851, 1852, 1853, 1854, 1855, \n  1856, 1857, 1858, 1859, 1860, 1861, 1862, 1863, \n  1864, 1865, 1866, 1867, 1868, 1869, 1870, 0, \n  0, 1871, 1872, 1873, 1874, 1875, 1876, 0, \n  0, 1877, 1878, 1879, 1880, 1881, 1882, 1883, \n  1884, 0, 1885, 0, 1886, 0, 1887, 0, \n  1888, 1889, 1890, 1891, 1892, 1893, 1894, 1895, \n  1896, 1897, 1898, 1899, 1900, 1901, 1902, 1903, \n  1904, 1905, 1906, 1907, 1908, 1909, 1910, 1911, \n  1912, 1913, 1914, 1915, 1916, 1917, 1918, 0, \n  0, 1919, 1920, 1921, 1922, 1923, 1924, 1925, \n  1926, 1927, 1928, 1929, 1930, 1931, 1932, 1933, \n  1934, 1935, 1936, 1937, 1938, 1939, 1940, 1941, \n  1942, 1943, 1944, 1945, 1946, 1947, 1948, 1949, \n  1950, 1951, 1952, 1953, 1954, 1955, 1956, 1957, \n  1958, 1959, 1960, 1961, 1962, 1963, 1964, 1965, \n  1966, 1967, 1968, 1969, 1970, 1971, 0, 1972, \n  1973, 1974, 1975, 1976, 1977, 1978, 1979, 1980, \n  1981, 1982, 1983, 1984, 1985, 1986, 0, 1987, \n  1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, \n  1996, 1997, 1998, 1999, 2000, 0, 0, 2001, \n  2002, 2003, 2004, 2005, 2006, 0, 2007, 2008, \n  2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, \n  2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024, \n  2025, 0, 0, 2026, 2027, 2028, 0, 2029, \n  2030, 2031, 2032, 2033, 2034, 2035, 2036, 2037, \n  0, 2038, 2039, 2040, 2041, 2040, 2040, 2040, \n  2042, 2040, 2040, 2040, 81, 2043, 2043, 2044, \n  2045, 1083, 2046, 1083, 1083, 1083, 1083, 9, \n  2047, 2048, 2049, 2050, 2048, 2048, 2049, 2050, \n  2048, 9, 9, 9, 9, 2051, 2052, 2053, \n  9, 2054, 2055, 2056, 2057, 2058, 2059, 2060, \n  76, 10, 10, 10, 2061, 2062, 9, 2063, \n  2064, 9, 80, 92, 9, 2065, 9, 2066, \n  48, 48, 9, 9, 9, 2067, 12, 13, \n  2068, 2069, 2070, 9, 9, 9, 9, 9, \n  9, 9, 9, 75, 9, 48, 9, 9, \n  2071, 9, 9, 9, 9, 9, 9, 9, \n  2040, 81, 81, 81, 81, 81, 0, 2072, \n  2073, 2074, 2075, 81, 81, 81, 81, 81, \n  81, 2076, 2077, 0, 0, 2078, 2079, 2080, \n  2081, 2082, 2083, 2084, 2085, 2086, 2087, 2088, \n  2089, 2090, 2091, 2092, 2093, 2094, 2095, 2096, \n  2097, 2098, 2099, 2100, 2101, 2102, 2103, 2104, \n  0, 2105, 2106, 2107, 2108, 2109, 2110, 2111, \n  2112, 2113, 2114, 2115, 2116, 2117, 0, 0, \n  0, 11, 11, 11, 11, 11, 11, 11, \n  11, 2118, 11, 11, 11, 11, 11, 11, \n  11, 11, 11, 11, 11, 11, 11, 11, \n  11, 11, 1188, 11, 11, 11, 11, 11, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 539, 539, 565, 565, 539, 539, 539, \n  539, 565, 565, 565, 539, 539, 838, 838, \n  838, 838, 539, 838, 838, 838, 565, 565, \n  539, 552, 539, 565, 565, 552, 552, 552, \n  552, 539, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 2119, 2120, 2121, 2122, 77, 2123, 2124, \n  2125, 77, 2126, 2127, 2128, 2128, 2128, 2129, \n  2130, 2131, 2131, 2132, 2133, 77, 2134, 2135, \n  77, 75, 2136, 2137, 2138, 2138, 2138, 77, \n  77, 2139, 2140, 2141, 77, 2142, 77, 2143, \n  77, 2142, 77, 2144, 2145, 2146, 2121, 83, \n  2147, 2148, 2149, 2150, 2151, 2152, 2153, 2154, \n  2155, 2156, 2157, 1084, 2158, 2159, 2160, 2161, \n  2162, 2163, 75, 75, 75, 75, 2164, 2165, \n  2147, 2157, 2166, 77, 75, 1084, 77, 2167, \n  1190, 2168, 2169, 2170, 2171, 2172, 2173, 2174, \n  2175, 2176, 2177, 2178, 2179, 2180, 2181, 2182, \n  2183, 2184, 2185, 2186, 2187, 2188, 2189, 2190, \n  2191, 2192, 2193, 2194, 2195, 2196, 2197, 2198, \n  2199, 2200, 2201, 2202, 2203, 2204, 2205, 2206, \n  2207, 2208, 2209, 2210, 2211, 2212, 2213, 2214, \n  2215, 1423, 1423, 2216, 2217, 2218, 1423, 1423, \n  1423, 2216, 2219, 77, 77, 0, 0, 0, \n  0, 2220, 75, 2221, 75, 2222, 77, 77, \n  77, 77, 77, 2223, 2224, 77, 77, 77, \n  77, 75, 77, 77, 75, 77, 77, 75, \n  77, 77, 77, 77, 77, 77, 77, 2225, \n  77, 77, 77, 77, 77, 77, 77, 77, \n  77, 77, 77, 77, 77, 77, 77, 77, \n  77, 77, 77, 77, 77, 77, 77, 77, \n  77, 77, 77, 77, 77, 77, 2226, 2227, \n  2228, 2229, 77, 2230, 77, 2231, 77, 77, \n  77, 77, 77, 77, 77, 77, 77, 77, \n  77, 77, 77, 77, 77, 77, 77, 77, \n  77, 77, 77, 77, 77, 77, 77, 77, \n  77, 77, 77, 77, 77, 1108, 75, 75, \n  75, 75, 1108, 1108, 1108, 1108, 75, 75, \n  1108, 75, 2232, 2232, 2233, 2234, 75, 75, \n  75, 2235, 2236, 2232, 2237, 2238, 2232, 75, \n  75, 75, 2232, 14, 84, 75, 2232, 2232, \n  75, 75, 75, 2232, 2232, 2232, 2232, 75, \n  2232, 2232, 2232, 2232, 2239, 2240, 2241, 2242, \n  75, 75, 75, 75, 2232, 2243, 2244, 2232, \n  2245, 2246, 2232, 2232, 2232, 75, 75, 75, \n  75, 75, 2232, 75, 2232, 2247, 2232, 2232, \n  2232, 2232, 2248, 2232, 2249, 2250, 2251, 2232, \n  2252, 2253, 2254, 2232, 2232, 2232, 2255, 75, \n  75, 75, 75, 2232, 2232, 2232, 2232, 75, \n  75, 75, 75, 75, 75, 75, 75, 75, \n  2232, 2256, 2257, 2258, 75, 2259, 2260, 2232, \n  2232, 2232, 2232, 2232, 2232, 75, 2261, 2262, \n  2263, 2264, 2265, 2266, 2267, 2268, 2269, 2270, \n  2271, 2272, 2273, 2274, 2275, 2276, 2277, 2232, \n  2232, 2278, 2279, 2280, 2281, 2282, 2283, 2284, \n  2285, 2286, 2287, 2232, 2232, 2232, 75, 75, \n  2232, 2232, 2288, 2289, 75, 75, 75, 75, \n  75, 2232, 75, 75, 75, 75, 75, 75, \n  75, 75, 75, 2290, 2232, 75, 75, 2232, \n  2232, 2291, 2292, 2232, 2293, 2294, 2295, 2296, \n  2297, 2232, 2232, 2298, 2299, 2300, 2301, 2232, \n  2232, 2232, 75, 75, 75, 75, 75, 2232, \n  2232, 75, 75, 75, 75, 75, 75, 75, \n  75, 75, 2232, 2232, 2232, 2232, 2232, 75, \n  75, 2232, 2232, 75, 75, 75, 75, 2232, \n  2232, 2232, 2232, 2232, 2232, 2232, 2232, 2232, \n  2232, 2302, 2303, 2304, 2305, 2232, 2232, 2232, \n  2232, 2232, 2232, 2306, 2307, 2308, 2309, 75, \n  75, 2232, 2232, 2310, 2310, 2232, 2310, 2310, \n  2232, 2232, 2310, 2310, 2310, 2232, 2310, 2232, \n  2310, 77, 77, 77, 77, 77, 77, 77, \n  77, 12, 13, 12, 13, 77, 77, 77, \n  77, 77, 77, 77, 77, 77, 77, 77, \n  77, 77, 77, 77, 77, 77, 77, 77, \n  77, 2232, 2232, 77, 77, 77, 77, 77, \n  77, 77, 2311, 2312, 77, 77, 77, 77, \n  77, 77, 77, 77, 77, 77, 77, 837, \n  837, 837, 837, 837, 837, 837, 837, 837, \n  837, 837, 837, 837, 837, 837, 837, 837, \n  837, 837, 837, 837, 837, 837, 837, 837, \n  837, 837, 837, 837, 837, 837, 837, 837, \n  837, 837, 837, 837, 837, 837, 837, 837, \n  837, 837, 837, 837, 837, 837, 837, 837, \n  837, 837, 837, 837, 837, 837, 837, 837, \n  837, 837, 837, 837, 837, 837, 837, 837, \n  837, 837, 837, 837, 1084, 1108, 1084, 1084, \n  77, 77, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 837, 77, \n  1084, 1084, 1084, 1084, 75, 75, 75, 75, \n  75, 75, 75, 75, 75, 75, 75, 75, \n  75, 75, 75, 75, 75, 75, 75, 75, \n  75, 75, 75, 1108, 1108, 1084, 1084, 1084, \n  77, 77, 77, 77, 77, 77, 77, 77, \n  77, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 77, 77, 1084, 1084, \n  77, 77, 77, 77, 77, 1084, 1084, 1084, \n  1084, 1084, 1084, 77, 1084, 1108, 1108, 1108, \n  1108, 1108, 1108, 1084, 1084, 1084, 1084, 1084, \n  1084, 77, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 0, 0, 0, 0, \n  0, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 77, 77, 77, 77, 77, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 77, 77, 77, 77, 77, 77, 77, \n  77, 77, 77, 77, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 2313, 2314, 2315, 2316, 2317, 2318, 2319, \n  2320, 2321, 2322, 2323, 2324, 2325, 2326, 2327, \n  2328, 2329, 2330, 2331, 2332, 2333, 2334, 2335, \n  2336, 2337, 2338, 2339, 2340, 2341, 2342, 2343, \n  2344, 2345, 2346, 2347, 2348, 2349, 2350, 2351, \n  2352, 2353, 2354, 2355, 2356, 2357, 2358, 2359, \n  2360, 2361, 2362, 2363, 2364, 2365, 2366, 2367, \n  2368, 2369, 2370, 2371, 2372, 2373, 2374, 2375, \n  2376, 2377, 2378, 2379, 2380, 2381, 2382, 2383, \n  2384, 2385, 2386, 2387, 2388, 2389, 2390, 2391, \n  2392, 2393, 2394, 2395, 2396, 2397, 2398, 2399, \n  2400, 2401, 2402, 2403, 2404, 2405, 2406, 2407, \n  2408, 2409, 2410, 2411, 2412, 2413, 2414, 2415, \n  2416, 2417, 2418, 2419, 2420, 2421, 2422, 2423, \n  2424, 2425, 2426, 2427, 2428, 2429, 2430, 2431, \n  2432, 2433, 2434, 2435, 2436, 2437, 2438, 2439, \n  2440, 2441, 2442, 2443, 2444, 2445, 2446, 2447, \n  2448, 2449, 2450, 2451, 1219, 1219, 1219, 1219, \n  1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, \n  1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, \n  1219, 77, 77, 77, 77, 77, 77, 77, \n  77, 77, 77, 77, 77, 77, 77, 77, \n  77, 77, 77, 77, 77, 77, 77, 77, \n  77, 77, 77, 77, 77, 77, 77, 77, \n  77, 77, 77, 77, 77, 77, 77, 77, \n  77, 77, 77, 77, 77, 77, 77, 77, \n  77, 77, 77, 77, 77, 77, 77, 77, \n  77, 77, 77, 77, 77, 77, 77, 77, \n  77, 77, 77, 77, 77, 77, 77, 77, \n  77, 77, 77, 77, 77, 77, 77, 77, \n  77, 77, 77, 77, 77, 77, 77, 77, \n  77, 77, 77, 77, 77, 77, 77, 77, \n  77, 77, 77, 77, 77, 77, 77, 77, \n  77, 77, 77, 77, 77, 77, 77, 77, \n  77, 77, 77, 77, 77, 77, 77, 77, \n  77, 77, 77, 77, 77, 77, 77, 77, \n  77, 77, 77, 77, 77, 77, 77, 77, \n  77, 77, 77, 77, 77, 77, 77, 77, \n  77, 77, 77, 77, 77, 77, 77, 77, \n  77, 77, 77, 77, 77, 77, 77, 77, \n  77, 77, 77, 77, 77, 77, 77, 77, \n  77, 77, 77, 77, 77, 77, 77, 77, \n  77, 77, 77, 77, 77, 77, 77, 77, \n  75, 77, 77, 77, 77, 77, 77, 77, \n  77, 77, 75, 77, 77, 77, 77, 77, \n  77, 77, 77, 77, 77, 77, 77, 77, \n  77, 77, 77, 77, 77, 77, 77, 77, \n  77, 77, 77, 77, 77, 77, 77, 77, \n  77, 77, 77, 77, 77, 77, 77, 77, \n  77, 77, 77, 77, 77, 77, 77, 77, \n  77, 77, 77, 77, 77, 77, 77, 77, \n  77, 75, 75, 75, 75, 75, 75, 75, \n  75, 77, 77, 77, 1084, 77, 77, 77, \n  77, 77, 77, 77, 77, 77, 77, 77, \n  77, 77, 77, 77, 77, 77, 1084, 1084, \n  1084, 1084, 1084, 77, 77, 77, 77, 77, \n  77, 77, 77, 1084, 1084, 1084, 77, 77, \n  77, 77, 77, 77, 1084, 1084, 77, 77, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 77, 77, 77, 77, 77, 77, 77, \n  77, 77, 77, 77, 77, 77, 77, 77, \n  77, 77, 77, 77, 77, 77, 77, 77, \n  77, 77, 77, 77, 77, 77, 77, 77, \n  77, 77, 77, 77, 77, 77, 77, 77, \n  77, 77, 77, 77, 77, 77, 77, 77, \n  77, 77, 77, 77, 77, 77, 77, 77, \n  75, 77, 77, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 77, 77, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 77, 1084, 1084, 1084, 1084, 1084, \n  1084, 77, 1084, 77, 77, 837, 1084, 1084, \n  1084, 1084, 1084, 77, 77, 77, 77, 1084, \n  77, 77, 77, 77, 77, 77, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 77, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 12, 13, 12, 13, 12, 13, 12, \n  13, 12, 13, 12, 13, 12, 13, 1219, \n  1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, \n  1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, \n  1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, \n  1219, 1219, 1219, 1219, 1219, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 77, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 2232, 1108, 75, 2310, 2310, 12, 13, \n  75, 2310, 2310, 75, 2310, 2310, 2310, 1108, \n  1108, 1108, 75, 1108, 2232, 2232, 2310, 2310, \n  1108, 1108, 1108, 1108, 1108, 2310, 2310, 2310, \n  1108, 75, 1108, 2310, 2310, 2310, 2310, 12, \n  13, 12, 13, 12, 13, 12, 13, 12, \n  13, 1108, 1108, 1108, 1108, 1108, 1108, 1108, \n  1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, \n  1108, 837, 837, 837, 837, 837, 837, 837, \n  837, 837, 837, 837, 837, 837, 837, 837, \n  837, 837, 837, 837, 837, 837, 837, 837, \n  837, 837, 837, 837, 837, 837, 837, 837, \n  837, 837, 837, 837, 837, 837, 837, 837, \n  837, 837, 837, 837, 837, 837, 837, 837, \n  837, 837, 837, 837, 837, 837, 837, 837, \n  837, 837, 837, 837, 837, 837, 837, 837, \n  837, 837, 837, 837, 837, 837, 837, 837, \n  837, 837, 837, 837, 837, 837, 837, 837, \n  837, 837, 837, 837, 837, 837, 837, 837, \n  837, 837, 837, 837, 837, 837, 837, 837, \n  837, 837, 837, 837, 837, 837, 837, 837, \n  837, 837, 837, 837, 837, 837, 837, 837, \n  837, 837, 837, 837, 837, 837, 837, 837, \n  837, 837, 837, 837, 837, 837, 837, 837, \n  837, 837, 837, 837, 837, 837, 837, 837, \n  837, 837, 837, 837, 837, 837, 837, 837, \n  837, 837, 837, 837, 837, 837, 837, 837, \n  837, 837, 837, 837, 837, 837, 837, 837, \n  837, 837, 837, 837, 837, 837, 837, 837, \n  837, 837, 837, 837, 837, 837, 837, 837, \n  837, 837, 837, 837, 837, 837, 837, 837, \n  837, 837, 837, 837, 837, 837, 837, 837, \n  837, 837, 837, 837, 837, 837, 837, 837, \n  837, 837, 837, 837, 837, 837, 837, 837, \n  837, 837, 837, 837, 837, 837, 837, 837, \n  837, 837, 837, 837, 837, 837, 837, 837, \n  837, 837, 837, 837, 837, 837, 837, 837, \n  837, 837, 837, 837, 837, 837, 837, 837, \n  837, 837, 837, 837, 837, 837, 837, 837, \n  837, 837, 837, 837, 837, 837, 837, 837, \n  837, 1108, 1108, 1108, 1108, 1108, 1108, 1108, \n  1108, 75, 75, 1108, 1108, 1108, 1108, 1108, \n  1108, 1108, 1108, 75, 75, 1108, 1108, 1108, \n  1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, \n  1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, \n  1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, \n  1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, \n  1108, 75, 75, 1108, 1108, 1108, 1108, 1108, \n  1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, \n  1108, 1108, 75, 1108, 1108, 75, 75, 1108, \n  75, 1108, 75, 1108, 1108, 75, 75, 1108, \n  1108, 75, 75, 1108, 1108, 75, 75, 1108, \n  1108, 75, 75, 1108, 1108, 1108, 1108, 1108, \n  1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, \n  1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, \n  1108, 1108, 1108, 1108, 1108, 75, 75, 1108, \n  1108, 75, 1108, 75, 12, 13, 12, 13, \n  12, 13, 12, 13, 12, 13, 12, 13, \n  12, 13, 12, 13, 1256, 1257, 1256, 1257, \n  12, 13, 75, 1108, 2310, 2310, 2310, 2310, \n  2310, 2310, 2310, 2310, 2310, 2310, 2310, 2232, \n  2232, 2310, 2310, 2310, 2310, 2310, 2310, 2310, \n  2310, 1108, 1108, 1108, 1108, 1108, 1108, 1108, \n  1108, 2310, 1108, 1108, 1108, 1108, 1108, 1108, \n  1108, 2310, 2310, 2310, 2310, 2310, 2310, 1108, \n  1108, 1108, 2310, 1108, 1108, 1108, 1108, 2310, \n  2310, 2310, 2232, 2232, 75, 2232, 2232, 75, \n  75, 12, 13, 1256, 1257, 2310, 1108, 1108, \n  1108, 1108, 2310, 1108, 2310, 2310, 2310, 1108, \n  1108, 2310, 2310, 1108, 75, 1108, 1108, 1108, \n  1108, 1108, 1108, 1108, 1108, 2310, 2232, 2232, \n  2232, 2232, 2232, 75, 75, 12, 13, 1108, \n  1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, \n  1108, 1108, 1108, 2310, 2310, 2452, 2310, 2310, \n  2310, 2310, 2310, 2310, 2310, 2310, 2310, 2310, \n  2310, 2310, 2310, 2310, 2310, 2310, 1108, 2232, \n  2232, 2310, 2232, 75, 75, 2232, 75, 2232, \n  1108, 75, 2232, 75, 2232, 2232, 2310, 2310, \n  75, 75, 75, 75, 1108, 2310, 2310, 1108, \n  1108, 1108, 1108, 1108, 1108, 2232, 2232, 2232, \n  1108, 1108, 1108, 1108, 1108, 1108, 1108, 75, \n  75, 75, 75, 75, 75, 1108, 1108, 1108, \n  1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, \n  2310, 2310, 1108, 1108, 1108, 1108, 1108, 1108, \n  1108, 1108, 1108, 1108, 1108, 2310, 2310, 75, \n  75, 1108, 1108, 2232, 2232, 2232, 2232, 1108, \n  2232, 2232, 75, 75, 2232, 2453, 2454, 2455, \n  75, 1108, 2310, 2310, 2310, 2310, 2310, 2310, \n  2310, 2310, 2310, 2310, 2310, 2310, 2310, 2310, \n  2310, 2310, 2310, 2310, 2232, 2232, 2310, 2310, \n  2232, 2232, 2232, 2232, 2232, 2232, 2310, 2310, \n  2310, 2310, 2310, 2310, 2310, 2310, 2310, 2310, \n  2310, 2310, 2310, 2310, 2310, 1108, 1108, 2310, \n  2310, 2310, 2310, 2310, 2310, 2310, 2310, 1108, \n  2310, 2310, 2310, 2310, 2310, 2310, 2310, 2310, \n  2310, 2310, 2310, 2310, 2310, 2310, 2310, 2310, \n  2232, 2232, 2232, 2232, 2232, 2232, 2232, 2232, \n  2310, 2310, 2232, 2232, 2232, 2232, 2310, 2310, \n  2310, 2310, 2310, 2310, 2232, 2232, 2232, 2232, \n  1108, 1108, 1108, 1108, 1108, 2456, 2457, 2232, \n  1108, 1108, 1108, 2310, 2310, 2310, 2310, 2310, \n  1108, 1108, 1108, 1108, 1108, 2310, 2310, 2232, \n  75, 75, 75, 75, 2310, 1108, 1108, 75, \n  2310, 2310, 2310, 2310, 2310, 1108, 2310, 75, \n  75, 1084, 1084, 1084, 1084, 1084, 1084, 77, \n  77, 1084, 1084, 1084, 1084, 1084, 77, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 77, 77, \n  1084, 1084, 1084, 1084, 1084, 1084, 77, 77, \n  77, 77, 77, 77, 77, 1084, 1084, 77, \n  77, 1108, 1108, 1108, 1108, 1108, 1108, 1108, \n  1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, \n  1108, 1108, 1108, 1108, 1108, 1108, 1084, 1084, \n  1108, 1108, 1108, 1108, 1108, 1108, 1084, 77, \n  77, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 0, 0, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 0, \n  0, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 0, 0, 0, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 0, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 1084, 1084, 1084, \n  1084, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 2458, 2459, 2460, 2461, 2462, 2463, 2464, \n  2465, 2466, 2467, 2468, 2469, 2470, 2471, 2472, \n  2473, 2474, 2475, 2476, 2477, 2478, 2479, 2480, \n  2481, 2482, 2483, 2484, 2485, 2486, 2487, 2488, \n  2489, 2490, 2491, 2492, 2493, 2494, 2495, 2496, \n  2497, 2498, 2499, 2500, 2501, 2502, 2503, 2504, \n  0, 2505, 2506, 2507, 2508, 2509, 2510, 2511, \n  2512, 2513, 2514, 2515, 2516, 2517, 2518, 2519, \n  2520, 2521, 2522, 2523, 2524, 2525, 2526, 2527, \n  2528, 2529, 2530, 2531, 2532, 2533, 2534, 2535, \n  2536, 2537, 2538, 2539, 2540, 2541, 2542, 2543, \n  2544, 2545, 2546, 2547, 2548, 2549, 2550, 2551, \n  0, 2552, 2553, 2554, 2555, 2556, 2557, 2558, \n  2559, 2560, 2561, 2562, 2563, 2564, 2565, 2566, \n  2567, 2568, 214, 2569, 2570, 214, 2571, 2572, \n  214, 214, 214, 214, 214, 2573, 2574, 2575, \n  2576, 2577, 2578, 2579, 2580, 2581, 2582, 2583, \n  2584, 2585, 2586, 2587, 2588, 2589, 2590, 2591, \n  2592, 2593, 2594, 2595, 2596, 2597, 2598, 2599, \n  2600, 2601, 2602, 2603, 2604, 2605, 2606, 2607, \n  2608, 2609, 2610, 2611, 2612, 2613, 2614, 2615, \n  2616, 2617, 2618, 2619, 2620, 2621, 2622, 2623, \n  2624, 2625, 2626, 2627, 2628, 2629, 2630, 2631, \n  2632, 2633, 2634, 2635, 2636, 2637, 2638, 2639, \n  2640, 2641, 2642, 2643, 2644, 2645, 2646, 2647, \n  2648, 2649, 2650, 2651, 2652, 2653, 2654, 2655, \n  2656, 2657, 2658, 2659, 2660, 2661, 2662, 2663, \n  2664, 2665, 2666, 2667, 2668, 2669, 2670, 2671, \n  2672, 2673, 2674, 2675, 2676, 214, 77, 77, \n  1084, 77, 77, 1084, 2677, 2678, 2679, 2680, \n  539, 539, 539, 2681, 2682, 0, 0, 0, \n  0, 0, 9, 9, 9, 9, 1424, 9, \n  9, 2683, 2684, 2685, 2686, 2687, 2688, 2689, \n  2690, 2691, 2692, 2693, 2694, 2695, 2696, 2697, \n  2698, 2699, 2700, 2701, 2702, 2703, 2704, 2705, \n  2706, 2707, 2708, 2709, 2710, 2711, 2712, 2713, \n  2714, 2715, 2716, 2717, 2718, 2719, 2720, 0, \n  2721, 0, 0, 0, 0, 0, 2722, 0, \n  0, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 1159, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 0, 0, 0, 0, 0, 0, 0, \n  2723, 1043, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  1167, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  0, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  0, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  0, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  0, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  0, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  0, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  0, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  0, 539, 539, 539, 539, 539, 539, 539, \n  539, 539, 539, 539, 539, 539, 539, 539, \n  539, 539, 539, 539, 539, 539, 539, 539, \n  539, 539, 539, 539, 539, 539, 539, 539, \n  539, 9, 9, 80, 92, 80, 92, 9, \n  9, 9, 80, 92, 9, 80, 92, 1425, \n  1425, 1425, 1425, 9, 1425, 1425, 1425, 9, \n  1083, 9, 9, 1083, 9, 80, 92, 9, \n  9, 80, 92, 12, 13, 12, 13, 12, \n  13, 12, 13, 9, 9, 9, 9, 9, \n  521, 9, 9, 9, 9, 9, 9, 9, \n  9, 9, 9, 1083, 1083, 9, 9, 9, \n  9, 1083, 9, 2050, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 0, 1084, 1084, 1084, 1084, \n  2724, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 2725, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 2726, 2727, 2728, 2729, 2730, 2731, 2732, \n  2733, 2734, 2735, 2736, 2737, 2738, 2739, 2740, \n  2741, 2742, 2743, 2744, 2745, 2746, 2747, 2748, \n  2749, 2750, 2751, 2752, 2753, 2754, 2755, 2756, \n  2757, 2758, 2759, 2760, 2761, 2762, 2763, 2764, \n  2765, 2766, 2767, 2768, 2769, 2770, 2771, 2772, \n  2773, 2774, 2775, 2776, 2777, 2778, 2779, 2780, \n  2781, 2782, 2783, 2784, 2785, 2786, 2787, 2788, \n  2789, 2790, 2791, 2792, 2793, 2794, 2795, 2796, \n  2797, 2798, 2799, 2800, 2801, 2802, 2803, 2804, \n  2805, 2806, 2807, 2808, 2809, 2810, 2811, 2812, \n  2813, 2814, 2815, 2816, 2817, 2818, 2819, 2820, \n  2821, 2822, 2823, 2824, 2825, 2826, 2827, 2828, \n  2829, 2830, 2831, 2832, 2833, 2834, 2835, 2836, \n  2837, 2838, 2839, 2840, 2841, 2842, 2843, 2844, \n  2845, 2846, 2847, 2848, 2849, 2850, 2851, 2852, \n  2853, 2854, 2855, 2856, 2857, 2858, 2859, 2860, \n  2861, 2862, 2863, 2864, 2865, 2866, 2867, 2868, \n  2869, 2870, 2871, 2872, 2873, 2874, 2875, 2876, \n  2877, 2878, 2879, 2880, 2881, 2882, 2883, 2884, \n  2885, 2886, 2887, 2888, 2889, 2890, 2891, 2892, \n  2893, 2894, 2895, 2896, 2897, 2898, 2899, 2900, \n  2901, 2902, 2903, 2904, 2905, 2906, 2907, 2908, \n  2909, 2910, 2911, 2912, 2913, 2914, 2915, 2916, \n  2917, 2918, 2919, 2920, 2921, 2922, 2923, 2924, \n  2925, 2926, 2927, 2928, 2929, 2930, 2931, 2932, \n  2933, 2934, 2935, 2936, 2937, 2938, 2939, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 0, 0, 0, \n  0, 2940, 1425, 1425, 1425, 1084, 1178, 1159, \n  2216, 1256, 1257, 1256, 1257, 1256, 1257, 1256, \n  1257, 1256, 1257, 1084, 1084, 1256, 1257, 1256, \n  1257, 1256, 1257, 1256, 1257, 1426, 2941, 2942, \n  2942, 1084, 2216, 2216, 2216, 2216, 2216, 2216, \n  2216, 2216, 2216, 2943, 1086, 551, 1085, 2944, \n  2944, 1426, 1178, 1178, 1178, 1178, 1178, 2945, \n  1084, 2946, 2947, 2948, 1178, 1159, 1425, 1084, \n  77, 0, 1159, 1159, 1159, 1159, 1159, 2949, \n  1159, 1159, 1159, 1159, 2950, 2951, 2952, 2953, \n  2954, 2955, 2956, 2957, 2958, 2959, 2960, 2961, \n  2962, 2963, 2964, 2965, 2966, 2967, 2968, 2969, \n  2970, 2971, 2972, 2973, 1159, 2974, 2975, 2976, \n  2977, 2978, 2979, 1159, 1159, 1159, 1159, 1159, \n  2980, 2981, 2982, 2983, 2984, 2985, 2986, 2987, \n  2988, 2989, 2990, 2991, 2992, 2993, 2994, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 2995, 1159, 1159, \n  0, 0, 2996, 2997, 2998, 2999, 3000, 3001, \n  3002, 1426, 1159, 1159, 1159, 1159, 1159, 3003, \n  1159, 1159, 1159, 1159, 3004, 3005, 3006, 3007, \n  3008, 3009, 3010, 3011, 3012, 3013, 3014, 3015, \n  3016, 3017, 3018, 3019, 3020, 3021, 3022, 3023, \n  3024, 3025, 3026, 3027, 1159, 3028, 3029, 3030, \n  3031, 3032, 3033, 1159, 1159, 1159, 1159, 1159, \n  3034, 3035, 3036, 3037, 3038, 3039, 3040, 3041, \n  3042, 3043, 3044, 3045, 3046, 3047, 3048, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  3049, 3050, 3051, 3052, 1159, 3053, 1159, 1159, \n  3054, 3055, 3056, 3057, 1425, 1178, 3058, 3059, \n  3060, 0, 0, 0, 0, 0, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 0, \n  0, 0, 3061, 3062, 3063, 3064, 3065, 3066, \n  3067, 3068, 3069, 3070, 3071, 3072, 3073, 3074, \n  3075, 3076, 3077, 3078, 3079, 3080, 3081, 3082, \n  3083, 3084, 3085, 3086, 3087, 3088, 3089, 3090, \n  3091, 3092, 3093, 3094, 3095, 3096, 3097, 3098, \n  3099, 3100, 3101, 3102, 3103, 3104, 3105, 3106, \n  3107, 3108, 3109, 3110, 3111, 3112, 3113, 3114, \n  3115, 3116, 3117, 3118, 3119, 3120, 3121, 3122, \n  3123, 3124, 3125, 3126, 3127, 3128, 3129, 3130, \n  3131, 3132, 3133, 3134, 3135, 3136, 3137, 3138, \n  3139, 3140, 3141, 3142, 3143, 3144, 3145, 3146, \n  3147, 3148, 3149, 3150, 3151, 3152, 3153, 3154, \n  0, 1190, 1190, 3155, 3156, 3157, 3158, 3159, \n  3160, 3161, 3162, 3163, 3164, 3165, 3166, 3167, \n  3168, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 0, 0, 0, 0, \n  0, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 3169, 3170, 3171, 3172, 3173, 3174, 3175, \n  3176, 3177, 3178, 3179, 3180, 3181, 3182, 3183, \n  3184, 3185, 3186, 3187, 3188, 3189, 3190, 3191, \n  3192, 3193, 3194, 3195, 3196, 3197, 3198, 3199, \n  0, 3200, 3201, 3202, 3203, 3204, 3205, 3206, \n  3207, 3208, 3209, 3210, 3211, 3212, 3213, 3214, \n  3215, 3216, 3217, 3218, 3219, 3220, 3221, 3222, \n  3223, 3224, 3225, 3226, 3227, 3228, 3229, 3230, \n  3231, 3232, 3233, 3234, 3235, 3236, 3237, 3238, \n  3239, 1189, 1189, 1189, 1189, 1189, 1189, 1189, \n  1189, 3240, 3241, 3242, 3243, 3244, 3245, 3246, \n  3247, 3248, 3249, 3250, 3251, 3252, 3253, 3254, \n  3255, 3256, 3257, 3258, 3259, 3260, 3261, 3262, \n  3263, 3264, 3265, 3266, 3267, 3268, 3269, 3270, \n  3271, 3272, 3273, 3274, 3275, 3276, 3277, 3278, \n  3279, 3280, 3281, 3282, 3283, 3284, 3285, 3286, \n  1190, 3287, 3288, 3289, 3290, 3291, 3292, 3293, \n  3294, 3295, 3296, 3297, 3298, 3299, 3300, 3301, \n  3302, 3303, 3304, 3305, 3306, 3307, 3308, 3309, \n  3310, 3311, 3312, 3313, 3314, 3315, 3316, 3317, \n  3318, 3319, 3320, 3321, 3322, 3323, 3324, 3325, \n  3326, 3327, 3328, 3329, 3330, 3331, 3332, 3333, \n  3334, 3335, 3336, 3337, 3338, 3339, 3340, 3341, \n  3342, 3343, 3344, 3345, 3346, 3347, 3348, 3349, \n  3350, 3351, 3352, 3353, 3354, 3355, 3356, 3357, \n  3358, 3359, 3360, 3361, 3362, 3363, 3364, 3365, \n  3366, 3367, 3368, 3369, 3370, 3371, 3372, 3373, \n  3374, 3375, 3376, 3377, 3378, 3379, 3380, 3381, \n  3382, 3383, 3384, 3385, 3386, 3387, 3388, 3389, \n  3390, 3391, 3392, 3393, 3394, 3395, 3396, 3397, \n  3398, 3399, 3400, 3401, 3402, 3403, 3404, 3405, \n  3406, 3407, 3408, 3409, 3410, 3411, 3412, 3413, \n  0, 3414, 3415, 3416, 3417, 3418, 3419, 3420, \n  3421, 3422, 3423, 3424, 3425, 3426, 3427, 3428, \n  3429, 3430, 3431, 3432, 3433, 3434, 3435, 3436, \n  3437, 3438, 3439, 3440, 3441, 3442, 3443, 3444, \n  3445, 3446, 3447, 3448, 3449, 3450, 3451, 3452, \n  3453, 3454, 3455, 3456, 3457, 3458, 3459, 3460, \n  3461, 3462, 3463, 3464, 3465, 3466, 3467, 3468, \n  3469, 3470, 3471, 3472, 3473, 3474, 3475, 3476, \n  3477, 3478, 3479, 3480, 3481, 3482, 3483, 3484, \n  3485, 3486, 3487, 3488, 3489, 3490, 3491, 3492, \n  3493, 3494, 3495, 3496, 3497, 3498, 3499, 3500, \n  3501, 3502, 3503, 3504, 3505, 3506, 3507, 3508, \n  3509, 3510, 3511, 3512, 3513, 3514, 3515, 3516, \n  3517, 3518, 3519, 3520, 3521, 3522, 3523, 3524, \n  3525, 3526, 3527, 3528, 3529, 3530, 3531, 3532, \n  3533, 3534, 3535, 3536, 3537, 3538, 3539, 3540, \n  3541, 3542, 3543, 3544, 3545, 3546, 3547, 3548, \n  3549, 3550, 3551, 3552, 3553, 3554, 3555, 3556, \n  3557, 3558, 3559, 3560, 3561, 3562, 3563, 3564, \n  3565, 3566, 3567, 3568, 3569, 3570, 3571, 3572, \n  3573, 3574, 3575, 3576, 3577, 3578, 3579, 3580, \n  3581, 3582, 3583, 3584, 3585, 3586, 3587, 3588, \n  3589, 3590, 3591, 3592, 3593, 3594, 3595, 3596, \n  3597, 3598, 3599, 3600, 3601, 3602, 3603, 3604, \n  3605, 3606, 3607, 3608, 3609, 3610, 3611, 3612, \n  3613, 3614, 3615, 3616, 3617, 3618, 3619, 3620, \n  3621, 3622, 3623, 3624, 3625, 3626, 3627, 3628, \n  3629, 3630, 3631, 3632, 3633, 3634, 3635, 3636, \n  3637, 3638, 3639, 3640, 3641, 3642, 3643, 3644, \n  3645, 3646, 3647, 3648, 3649, 3650, 3651, 3652, \n  3653, 3654, 3655, 3656, 3657, 3658, 3659, 3660, \n  3661, 3662, 3663, 3664, 3665, 3666, 3667, 3668, \n  3669, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1178, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 0, 0, \n  0, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 522, 522, 522, 522, 522, 522, 1043, \n  1043, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1178, 1425, 1425, \n  1425, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1177, 1177, 1177, 1177, 1177, 1177, 1177, \n  1177, 1177, 1177, 1159, 1159, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 3670, 3671, 3672, 3673, 3674, 3675, 3676, \n  3677, 3678, 3679, 3680, 3681, 3682, 3683, 3684, \n  3685, 3686, 3687, 3688, 3689, 3690, 3691, 3692, \n  3693, 3694, 3695, 3696, 3697, 3698, 3699, 3700, \n  3701, 3702, 3703, 3704, 3705, 3706, 3707, 3708, \n  3709, 3710, 3711, 3712, 3713, 3714, 3715, 1159, \n  539, 838, 838, 838, 9, 539, 539, 539, \n  539, 539, 539, 539, 539, 539, 539, 9, \n  521, 3716, 3717, 3718, 3719, 3720, 3721, 3722, \n  3723, 3724, 3725, 3726, 3727, 3728, 3729, 3730, \n  3731, 3732, 3733, 3734, 3735, 3736, 3737, 3738, \n  3739, 3740, 3741, 3742, 3743, 3744, 3745, 539, \n  539, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 1423, \n  1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, \n  1423, 539, 539, 1043, 1043, 1043, 1043, 1043, \n  1043, 0, 0, 0, 0, 0, 0, 0, \n  0, 47, 47, 47, 47, 47, 47, 47, \n  47, 47, 47, 47, 47, 47, 47, 47, \n  47, 47, 47, 47, 47, 47, 47, 47, \n  521, 521, 521, 521, 521, 521, 521, 521, \n  521, 47, 47, 3746, 3747, 3748, 3749, 3750, \n  3751, 3752, 3753, 3754, 3755, 3756, 3757, 3758, \n  3759, 214, 214, 3760, 3761, 3762, 3763, 3764, \n  3765, 3766, 3767, 3768, 3769, 3770, 3771, 3772, \n  3773, 3774, 3775, 3776, 3777, 3778, 3779, 3780, \n  3781, 3782, 3783, 3784, 3785, 3786, 3787, 3788, \n  3789, 3790, 3791, 3792, 3793, 3794, 3795, 3796, \n  3797, 3798, 3799, 3800, 3801, 3802, 3803, 3804, \n  3805, 3806, 3807, 3808, 3809, 3810, 3811, 3812, \n  3813, 3814, 3815, 3816, 3817, 3818, 3819, 3820, \n  3821, 3822, 1513, 1513, 1513, 1513, 1513, 1513, \n  1513, 214, 3823, 3824, 3825, 3826, 3827, 3828, \n  3829, 3830, 3831, 3832, 3833, 3834, 3835, 3836, \n  3837, 521, 3838, 3838, 3839, 3840, 3841, 214, \n  340, 3842, 3843, 3844, 3845, 214, 214, 3846, \n  3847, 3848, 3849, 3850, 3851, 3852, 3853, 3854, \n  3855, 3856, 3857, 3858, 3859, 3860, 3861, 3862, \n  3863, 3864, 3865, 3866, 3867, 3868, 3869, 0, \n  0, 3870, 3871, 3872, 3873, 3874, 3875, 3876, \n  3877, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  340, 3878, 3879, 214, 340, 340, 340, 340, \n  1159, 1159, 1159, 1152, 1159, 1159, 1159, 1167, \n  1159, 1159, 1159, 1159, 1152, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1158, 1158, 1152, 1152, \n  1158, 77, 77, 1084, 1084, 0, 0, 0, \n  0, 1189, 1189, 1189, 1189, 1189, 1189, 1190, \n  1190, 1188, 3880, 0, 0, 0, 0, 0, \n  0, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1425, 1425, 1425, \n  1425, 0, 0, 0, 0, 0, 0, 0, \n  0, 1158, 1158, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1158, 1158, 1158, \n  1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, \n  1158, 1158, 1158, 1158, 1158, 1167, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 1176, \n  1176, 1177, 1177, 1177, 1177, 1177, 1177, 1177, \n  1177, 1177, 1177, 0, 0, 0, 0, 0, \n  0, 539, 539, 539, 539, 539, 539, 539, \n  539, 539, 539, 539, 539, 539, 539, 539, \n  539, 539, 539, 1159, 1159, 1159, 1159, 1159, \n  1159, 1176, 1176, 1176, 1159, 1176, 1159, 0, \n  0, 1177, 1177, 1177, 1177, 1177, 1177, 1177, \n  1177, 1177, 1177, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1152, \n  1152, 1152, 1152, 1152, 552, 552, 552, 1176, \n  1176, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, \n  1152, 1152, 1152, 1158, 1450, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  1176, 1325, 1325, 1325, 1325, 1325, 1325, 1325, \n  1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, \n  1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, \n  1325, 1325, 1325, 1325, 1325, 1325, 0, 0, \n  0, 1152, 1152, 1152, 1158, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1179, 1158, 1158, 1152, \n  1152, 1152, 1152, 1158, 1158, 1152, 1158, 1158, \n  1158, 1450, 1176, 1176, 1176, 1176, 1176, 1176, \n  1176, 1176, 1176, 1176, 1176, 1176, 1176, 0, \n  1178, 1177, 1177, 1177, 1177, 1177, 1177, 1177, \n  1177, 1177, 1177, 0, 0, 0, 0, 1176, \n  1176, 340, 1159, 1159, 1159, 1159, 1152, 522, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  340, 1248, 1248, 1248, 1248, 1248, 1248, 1248, \n  1248, 1248, 1177, 1159, 1159, 1159, 340, 1159, \n  0, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1152, 1152, 1152, 1152, 1152, 1152, \n  1158, 1158, 1152, 1152, 1158, 1158, 1152, 1152, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 1159, 1159, 1159, 1152, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1152, 1158, 0, \n  0, 1177, 1177, 1177, 1177, 1177, 1177, 1177, \n  1177, 1177, 1177, 0, 0, 1176, 1176, 1176, \n  1176, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1178, 1159, 1159, 1159, 1159, 1159, 1159, \n  1190, 1190, 1190, 1159, 1282, 1152, 1282, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 539, 1159, 539, 539, 552, 1159, 1159, \n  539, 539, 1159, 1159, 1159, 1159, 1159, 539, \n  539, 1159, 539, 1159, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 1159, 1159, 1178, 1176, \n  1176, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1158, 1152, 1152, 1158, \n  1158, 1176, 1176, 1159, 1178, 1178, 1158, 1167, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 1159, 1159, 1159, 1159, 1159, 1159, \n  0, 0, 1159, 1159, 1159, 1159, 1159, 1159, \n  0, 0, 1159, 1159, 1159, 1159, 1159, 1159, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  0, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  0, 214, 214, 214, 214, 214, 214, 214, \n  214, 214, 214, 214, 214, 214, 214, 214, \n  214, 214, 214, 214, 214, 214, 214, 214, \n  214, 214, 214, 214, 214, 214, 214, 214, \n  214, 214, 214, 214, 3881, 214, 214, 214, \n  214, 214, 214, 214, 3838, 3882, 3883, 3884, \n  3885, 214, 214, 214, 214, 214, 214, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 3886, 3887, 3888, 3889, 3890, 3891, 3892, \n  3893, 3894, 3895, 3896, 3897, 3898, 3899, 3900, \n  3901, 3902, 3903, 3904, 3905, 3906, 3907, 3908, \n  3909, 3910, 3911, 3912, 3913, 3914, 3915, 3916, \n  3917, 3918, 3919, 3920, 3921, 3922, 3923, 3924, \n  3925, 3926, 3927, 3928, 3929, 3930, 3931, 3932, \n  3933, 3934, 3935, 3936, 3937, 3938, 3939, 3940, \n  3941, 3942, 3943, 3944, 3945, 3946, 3947, 3948, \n  3949, 3950, 3951, 3952, 3953, 3954, 3955, 3956, \n  3957, 3958, 3959, 3960, 3961, 3962, 3963, 3964, \n  3965, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1158, 1158, 1152, 1158, \n  1158, 1152, 1158, 1158, 1176, 1158, 1167, 0, \n  0, 1177, 1177, 1177, 1177, 1177, 1177, 1177, \n  1177, 1177, 1177, 0, 0, 0, 0, 0, \n  0, 3966, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3966, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3966, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3966, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3966, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3966, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3966, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3966, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3966, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3966, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3966, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3966, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3966, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3966, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3966, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3966, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3966, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3966, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3966, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3966, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3966, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3966, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3966, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3966, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3966, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3966, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3966, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3966, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3966, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3966, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3966, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3966, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3966, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3966, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3966, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3966, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3966, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3966, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3966, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3966, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3966, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3966, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3966, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3966, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3966, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3966, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3966, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3966, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3966, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3966, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3966, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3966, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3966, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3966, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3966, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3966, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3966, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3966, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3966, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3966, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3966, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3966, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3966, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3966, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3966, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3966, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3966, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3966, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3966, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, \n  3967, 3967, 3967, 3967, 3967, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 1328, 1328, 1328, 1328, 1328, 1328, 1328, \n  1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, \n  1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, \n  0, 0, 0, 0, 1329, 1329, 1329, 1329, \n  1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, \n  1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, \n  1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, \n  1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, \n  1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, \n  1329, 1329, 1329, 1329, 1329, 0, 0, 0, \n  0, 3968, 3968, 3968, 3968, 3968, 3968, 3968, \n  3968, 3968, 3968, 3968, 3968, 3968, 3968, 3968, \n  3968, 3968, 3968, 3968, 3968, 3968, 3968, 3968, \n  3968, 3968, 3968, 3968, 3968, 3968, 3968, 3968, \n  3968, 3968, 3968, 3968, 3968, 3968, 3968, 3968, \n  3968, 3968, 3968, 3968, 3968, 3968, 3968, 3968, \n  3968, 3968, 3968, 3968, 3968, 3968, 3968, 3968, \n  3968, 3968, 3968, 3968, 3968, 3968, 3968, 3968, \n  3968, 3968, 3968, 3968, 3968, 3968, 3968, 3968, \n  3968, 3968, 3968, 3968, 3968, 3968, 3968, 3968, \n  3968, 3968, 3968, 3968, 3968, 3968, 3968, 3968, \n  3968, 3968, 3968, 3968, 3968, 3968, 3968, 3968, \n  3968, 3968, 3968, 3968, 3968, 3968, 3968, 3968, \n  3968, 3968, 3968, 3968, 3968, 3968, 3968, 3968, \n  3968, 3968, 3968, 3968, 3968, 3968, 3968, 3968, \n  3968, 3968, 3968, 3968, 3968, 3968, 3968, 3968, \n  3968, 3968, 3968, 3968, 3968, 3968, 3968, 3968, \n  3968, 3968, 3968, 3968, 3968, 3968, 3968, 3968, \n  3968, 3968, 3968, 3968, 3968, 3968, 3968, 3968, \n  3968, 3968, 3968, 3968, 3968, 3968, 3968, 3968, \n  3968, 3968, 3968, 3968, 3968, 3968, 3968, 3968, \n  3968, 3968, 3968, 3968, 3968, 3968, 3968, 3968, \n  3968, 3968, 3968, 3968, 3968, 3968, 3968, 3968, \n  3968, 3968, 3968, 3968, 3968, 3968, 3968, 3968, \n  3968, 3968, 3968, 3968, 3968, 3968, 3968, 3968, \n  3968, 3968, 3968, 3968, 3968, 3968, 3968, 3968, \n  3968, 3968, 3968, 3968, 3968, 3968, 3968, 3968, \n  3968, 3968, 3968, 3968, 3968, 3968, 3968, 3968, \n  3968, 3968, 3968, 3968, 3968, 3968, 3968, 3968, \n  3968, 3968, 3968, 3968, 3968, 3968, 3968, 3968, \n  3968, 3968, 3968, 3968, 3968, 3968, 3968, 3968, \n  3968, 3968, 3968, 3968, 3968, 3968, 3968, 3968, \n  3968, 3969, 3969, 3969, 3969, 3969, 3969, 3969, \n  3969, 3969, 3969, 3969, 3969, 3969, 3969, 3969, \n  3969, 3969, 3969, 3969, 3969, 3969, 3969, 3969, \n  3969, 3969, 3969, 3969, 3969, 3969, 3969, 3969, \n  3969, 3969, 3969, 3969, 3969, 3969, 3969, 3969, \n  3969, 3969, 3969, 3969, 3969, 3969, 3969, 3969, \n  3969, 3969, 3969, 3969, 3969, 3969, 3969, 3969, \n  3969, 3969, 3969, 3969, 3969, 3969, 3969, 3969, \n  3969, 3969, 3969, 3969, 3969, 3969, 3969, 3969, \n  3969, 3969, 3969, 3969, 3969, 3969, 3969, 3969, \n  3969, 3969, 3969, 3969, 3969, 3969, 3969, 3969, \n  3969, 3969, 3969, 3969, 3969, 3969, 3969, 3969, \n  3969, 3969, 3969, 3969, 3969, 3969, 3969, 3969, \n  3969, 3969, 3969, 3969, 3969, 3969, 3969, 3969, \n  3969, 3969, 3969, 3969, 3969, 3969, 3969, 3969, \n  3969, 3969, 3969, 3969, 3969, 3969, 3969, 3969, \n  3969, 3969, 3969, 3969, 3969, 3969, 3969, 3969, \n  3969, 3969, 3969, 3969, 3969, 3969, 3969, 3969, \n  3969, 3969, 3969, 3969, 3969, 3969, 3969, 3969, \n  3969, 3969, 3969, 3969, 3969, 3969, 3969, 3969, \n  3969, 3969, 3969, 3969, 3969, 3969, 3969, 3969, \n  3969, 3969, 3969, 3969, 3969, 3969, 3969, 3969, \n  3969, 3969, 3969, 3969, 3969, 3969, 3969, 3969, \n  3969, 3969, 3969, 3969, 3969, 3969, 3969, 3969, \n  3969, 3969, 3969, 3969, 3969, 3969, 3969, 3969, \n  3969, 3969, 3969, 3969, 3969, 3969, 3969, 3969, \n  3969, 3969, 3969, 3969, 3969, 3969, 3969, 3969, \n  3969, 3969, 3969, 3969, 3969, 3969, 3969, 3969, \n  3969, 3969, 3969, 3969, 3969, 3969, 3969, 3969, \n  3969, 3969, 3969, 3969, 3969, 3969, 3969, 3969, \n  3969, 3969, 3969, 3969, 3969, 3969, 3969, 3969, \n  3969, 3969, 3969, 3969, 3969, 3969, 3969, 3969, \n  3969, 3970, 3971, 3972, 3973, 3974, 3975, 3976, \n  3977, 3977, 3978, 3979, 3980, 3981, 3982, 3983, \n  3984, 3985, 3986, 3987, 3988, 3989, 3990, 3991, \n  3992, 3993, 3994, 3995, 3996, 3997, 3998, 3999, \n  4000, 4001, 4002, 4003, 4004, 4005, 4006, 4007, \n  4008, 4009, 4010, 4011, 4012, 4013, 4014, 4015, \n  4016, 4017, 4018, 4019, 4020, 4021, 4022, 4023, \n  4024, 4025, 4026, 4027, 4028, 4029, 4030, 4031, \n  4032, 4033, 4034, 4035, 4036, 4037, 4038, 4039, \n  4040, 4041, 4042, 4043, 4044, 4045, 4046, 4047, \n  4048, 4049, 4050, 4051, 4052, 4053, 4054, 4055, \n  4056, 4057, 4058, 4059, 4060, 3989, 4061, 4062, \n  4063, 4064, 4065, 4066, 4067, 4068, 4069, 4070, \n  4071, 4072, 4073, 4074, 4075, 4076, 4077, 4078, \n  4079, 4080, 4081, 4082, 4083, 4084, 4085, 4086, \n  4087, 4088, 4089, 4090, 4091, 4092, 4093, 4094, \n  4095, 4096, 4097, 4098, 4099, 4100, 4101, 4102, \n  4103, 4104, 4105, 4106, 4107, 4108, 4109, 4110, \n  4111, 4112, 4113, 4114, 4115, 4116, 4117, 4118, \n  4119, 4120, 4121, 4122, 4123, 4124, 4125, 4126, \n  4127, 4128, 4079, 4129, 4130, 4131, 4132, 4133, \n  4134, 4135, 4136, 4063, 4137, 4138, 4139, 4140, \n  4141, 4142, 4143, 4144, 4145, 4146, 4147, 4148, \n  4149, 4150, 4151, 4152, 4153, 4154, 4155, 4156, \n  3989, 4157, 4158, 4159, 4160, 4161, 4162, 4163, \n  4164, 4165, 4166, 4167, 4168, 4169, 4170, 4171, \n  4172, 4173, 4174, 4175, 4176, 4177, 4178, 4179, \n  4180, 4181, 4182, 4183, 4065, 4184, 4185, 4186, \n  4187, 4188, 4189, 4190, 4191, 4192, 4193, 4194, \n  4195, 4196, 4197, 4198, 4199, 4200, 4201, 4202, \n  4203, 4204, 4205, 4206, 4207, 4208, 4209, 4210, \n  4211, 4212, 4213, 4214, 4215, 4216, 4217, 4218, \n  4219, 4220, 4221, 4222, 4223, 4224, 4225, 4226, \n  4227, 4228, 4229, 4230, 4231, 4232, 4233, 1159, \n  1159, 4234, 1159, 4235, 1159, 1159, 4236, 4237, \n  4238, 4239, 4240, 4241, 4242, 4243, 4244, 4245, \n  1159, 4246, 1159, 4247, 1159, 1159, 4248, 4249, \n  1159, 1159, 1159, 4250, 4251, 4252, 4253, 4254, \n  4255, 4256, 4257, 4258, 4259, 4260, 4261, 4262, \n  4263, 4264, 4265, 4266, 4267, 4268, 4269, 4270, \n  4271, 4272, 4273, 4274, 4275, 4276, 4277, 4278, \n  4279, 4280, 4281, 4282, 4283, 4284, 4285, 4286, \n  4287, 4288, 4289, 4290, 4291, 4292, 4293, 4294, \n  4118, 4295, 4296, 4297, 4298, 4299, 4300, 4300, \n  4301, 4302, 4303, 4304, 4305, 4306, 4307, 4308, \n  4248, 4309, 4310, 4311, 4312, 4313, 4314, 0, \n  0, 4315, 4316, 4317, 4318, 4319, 4320, 4321, \n  4322, 4262, 4323, 4324, 4325, 4234, 4326, 4327, \n  4328, 4329, 4330, 4331, 4332, 4333, 4334, 4335, \n  4336, 4337, 4271, 4338, 4272, 4339, 4340, 4341, \n  4342, 4343, 4235, 4010, 4344, 4345, 4346, 4080, \n  4167, 4347, 4348, 4279, 4349, 4280, 4350, 4351, \n  4352, 4237, 4353, 4354, 4355, 4356, 4357, 4238, \n  4358, 4359, 4360, 4361, 4362, 4363, 4294, 4364, \n  4365, 4118, 4366, 4298, 4367, 4368, 4369, 4370, \n  4371, 4303, 4372, 4247, 4373, 4304, 4061, 4374, \n  4305, 4375, 4307, 4376, 4377, 4378, 4379, 4380, \n  4309, 4243, 4381, 4310, 4382, 4311, 4383, 3977, \n  4384, 4385, 4386, 4387, 4388, 4389, 4390, 4391, \n  4392, 4393, 4394, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 4395, 4396, 4397, 4398, 4399, 4400, 4401, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 4402, 4403, 4404, 4405, \n  4406, 0, 0, 0, 0, 0, 4407, 4408, \n  4409, 4410, 4411, 4412, 4413, 4414, 4415, 4416, \n  4417, 4418, 4419, 4420, 4421, 4422, 4423, 4424, \n  4425, 4426, 4427, 4428, 4429, 4430, 4431, 4432, \n  0, 4433, 4434, 4435, 4436, 4437, 0, 4438, \n  0, 4439, 4440, 0, 4441, 4442, 0, 4443, \n  4444, 4445, 4446, 4447, 4448, 4449, 4450, 4451, \n  4452, 4453, 4454, 4455, 4456, 4457, 4458, 4459, \n  4460, 4461, 4462, 4463, 4464, 4465, 4466, 4467, \n  4468, 4469, 4470, 4471, 4472, 4473, 4474, 4475, \n  4476, 4477, 4478, 4479, 4480, 4481, 4482, 4483, \n  4484, 4485, 4486, 4487, 4488, 4489, 4490, 4491, \n  4492, 4493, 4494, 4495, 4496, 4497, 4498, 4499, \n  4500, 4501, 4502, 4503, 4504, 4505, 4506, 4507, \n  4508, 4509, 4510, 4511, 4512, 4513, 4514, 4515, \n  4516, 4517, 4518, 4519, 4520, 4521, 4522, 4523, \n  4524, 4525, 4526, 4527, 4528, 4529, 4530, 4531, \n  4532, 4533, 4534, 4535, 4536, 4537, 4538, 4539, \n  4540, 4541, 4542, 4543, 4544, 4545, 4546, 4547, \n  4548, 4549, 4550, 4551, 4551, 4551, 4551, 4551, \n  4551, 4551, 4551, 4551, 4551, 4551, 4551, 4551, \n  4551, 4551, 4551, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 4552, 4553, 4554, 4555, \n  4556, 4557, 4558, 4559, 4560, 4561, 4562, 4563, \n  4564, 4565, 4566, 4567, 4568, 4569, 4570, 4571, \n  4572, 4573, 4574, 4575, 4576, 4577, 4578, 4579, \n  4580, 4581, 4582, 4583, 4584, 4585, 4586, 4587, \n  4588, 4589, 4590, 4591, 4592, 4593, 4594, 4595, \n  4596, 4597, 4598, 4599, 4590, 4600, 4601, 4602, \n  4603, 4604, 4605, 4606, 4607, 4608, 4609, 4610, \n  4611, 4612, 4613, 4614, 4615, 4616, 4617, 4618, \n  4619, 4620, 4621, 4622, 4623, 4624, 4625, 4626, \n  4627, 4628, 4629, 4630, 4631, 4632, 4633, 4634, \n  4635, 4636, 4637, 4638, 4639, 4640, 4641, 4642, \n  4643, 4644, 4645, 4646, 4647, 4648, 4649, 4650, \n  4651, 4652, 4653, 4654, 4655, 4656, 4657, 4658, \n  4659, 4660, 4661, 4662, 4663, 4664, 4665, 4666, \n  4667, 4668, 4669, 4670, 4671, 4672, 4673, 4674, \n  4675, 4676, 4677, 4678, 4679, 4680, 4681, 4682, \n  4683, 4684, 4685, 4686, 4687, 4688, 4689, 4690, \n  4691, 4692, 4693, 4694, 4695, 4696, 4697, 4698, \n  4699, 4591, 4700, 4701, 4702, 4703, 4704, 4705, \n  4706, 4707, 4708, 4709, 4710, 4711, 4712, 4713, \n  4714, 4715, 4716, 4717, 4718, 4719, 4720, 4721, \n  4722, 4723, 4724, 4725, 4726, 4727, 4728, 4729, \n  4730, 4731, 4732, 4733, 4734, 4735, 4736, 4737, \n  4738, 4739, 4740, 4741, 4742, 4743, 4744, 4745, \n  4746, 4747, 4748, 4749, 4750, 4751, 4752, 4753, \n  4754, 4755, 4756, 4757, 4758, 4759, 4760, 4761, \n  4762, 4763, 4764, 4765, 4766, 4767, 4768, 4769, \n  4770, 4771, 4772, 4773, 4774, 4775, 4776, 4777, \n  4778, 4779, 4780, 4781, 4782, 4783, 4784, 4785, \n  4786, 4787, 4788, 4789, 4790, 4791, 4792, 4793, \n  4794, 4795, 4796, 4797, 4798, 4799, 4800, 4801, \n  4802, 4803, 4804, 4805, 4806, 4807, 4808, 4809, \n  4810, 4811, 4812, 4813, 4814, 4815, 4816, 4817, \n  4818, 4819, 4820, 4821, 4822, 4823, 4824, 4825, \n  4826, 4827, 4828, 4829, 4830, 4831, 4832, 4833, \n  4834, 4835, 4836, 4837, 4838, 4839, 4840, 4841, \n  4842, 4843, 4844, 4845, 4846, 4847, 4848, 4849, \n  4850, 4851, 4852, 4853, 4854, 4855, 4856, 4857, \n  4858, 4859, 4860, 4861, 4862, 4863, 4864, 4865, \n  4866, 4867, 4868, 4869, 4870, 4871, 4872, 4873, \n  4874, 4875, 4876, 4877, 4878, 4879, 4880, 4881, \n  4882, 4883, 4884, 4885, 4886, 4887, 4888, 4889, \n  4890, 4891, 4892, 4893, 4894, 4895, 4896, 4897, \n  4898, 4899, 4900, 4901, 4902, 4903, 4904, 4905, \n  4906, 4907, 4908, 4909, 4910, 4911, 4912, 2942, \n  2941, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 4913, 4914, 4915, 4916, 4917, 4918, 4919, \n  4920, 4921, 4922, 4923, 4924, 4925, 4926, 4927, \n  4928, 4929, 4930, 4931, 4932, 4933, 4934, 4935, \n  4936, 4937, 4938, 4939, 4940, 4941, 4942, 4943, \n  4944, 4945, 4946, 4947, 4948, 4949, 4950, 4951, \n  4952, 4953, 4954, 4955, 4956, 4957, 4958, 4959, \n  4960, 4961, 4962, 4963, 4964, 4965, 4966, 4967, \n  4968, 4969, 4970, 4971, 4972, 4973, 4974, 4975, \n  4976, 0, 0, 4977, 4978, 4979, 4980, 4981, \n  4982, 4983, 4984, 4985, 4986, 4987, 4988, 4989, \n  4990, 4991, 4992, 4993, 4994, 4995, 4996, 4997, \n  4998, 4999, 5000, 5001, 5002, 5003, 5004, 5005, \n  5006, 5007, 5008, 5009, 5010, 5011, 5012, 5013, \n  5014, 5015, 5016, 5017, 5018, 5019, 5020, 5021, \n  5022, 5023, 5024, 5025, 5026, 5027, 5028, 5029, \n  5030, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 5031, 5032, 5033, 5034, 5035, 5036, 5037, \n  5038, 5039, 5040, 5041, 5042, 5043, 1084, 0, \n  0, 573, 573, 573, 573, 573, 573, 573, \n  573, 573, 573, 573, 573, 573, 573, 573, \n  573, 5044, 5045, 5046, 5047, 5048, 5049, 5050, \n  5051, 5052, 5053, 0, 0, 0, 0, 0, \n  0, 539, 539, 539, 539, 539, 539, 539, \n  552, 552, 552, 552, 552, 552, 552, 539, \n  539, 5054, 5055, 5056, 5057, 5057, 5058, 5059, \n  5060, 5061, 5062, 5063, 5064, 5065, 5066, 5067, \n  5068, 5069, 5070, 5071, 5072, 5073, 1425, 1425, \n  5074, 5075, 5076, 5076, 5076, 5076, 5077, 5077, \n  5077, 5078, 5079, 5080, 0, 5081, 5082, 5083, \n  5084, 5085, 5086, 5087, 5088, 5089, 5090, 5091, \n  5092, 5093, 5094, 5095, 5096, 5097, 5098, 5099, \n  0, 5100, 5101, 5102, 5103, 0, 0, 0, \n  0, 5104, 5105, 5106, 1117, 5107, 0, 5108, \n  5109, 5110, 5111, 5112, 5113, 5114, 5115, 5116, \n  5117, 5118, 5119, 5120, 5121, 5122, 5123, 5124, \n  5125, 5126, 5127, 5128, 5129, 5130, 5131, 5132, \n  5133, 5134, 5135, 5136, 5137, 5138, 5139, 5140, \n  5141, 5142, 5143, 5144, 5145, 5146, 5147, 5148, \n  5149, 5150, 5151, 5152, 5153, 5154, 5155, 5156, \n  5157, 5158, 5159, 5160, 5161, 5162, 5163, 5164, \n  5165, 5166, 5167, 5168, 5169, 5170, 5171, 5172, \n  5173, 5174, 5175, 5176, 5177, 5178, 5179, 5180, \n  5181, 5182, 5183, 5184, 5185, 5186, 5187, 5188, \n  5189, 5190, 5191, 5192, 5193, 5194, 5195, 5196, \n  5197, 5198, 5199, 5200, 5201, 5202, 5203, 5204, \n  5205, 5206, 5207, 5208, 5209, 5210, 5211, 5212, \n  5213, 5214, 5215, 5216, 5217, 5218, 5219, 5220, \n  5221, 5222, 5223, 5224, 5225, 5226, 5227, 5228, \n  5229, 5230, 5231, 5232, 5233, 5234, 5235, 5236, \n  5237, 5238, 5239, 5240, 5241, 5242, 0, 0, \n  81, 0, 5243, 5244, 5245, 5246, 5247, 5248, \n  5249, 5250, 5251, 5252, 5253, 5254, 5255, 5256, \n  5257, 5258, 5259, 5260, 5261, 5262, 5263, 5264, \n  5265, 5266, 5267, 5268, 5269, 5270, 5271, 5272, \n  5273, 5274, 5275, 5276, 5277, 5278, 5279, 5280, \n  5281, 5282, 5283, 5284, 5285, 5286, 5287, 5288, \n  5289, 5290, 5291, 5292, 5293, 5294, 5295, 5296, \n  5297, 5298, 5299, 5300, 5301, 5302, 5303, 5304, \n  5305, 5306, 5307, 5308, 5309, 5310, 5311, 5312, \n  5313, 5314, 5315, 5316, 5317, 5318, 5319, 5320, \n  5321, 5322, 5323, 5324, 5325, 5326, 5327, 5328, \n  5329, 5330, 5331, 5332, 5333, 5334, 5335, 5336, \n  5337, 5338, 5339, 5340, 5341, 5342, 5343, 5344, \n  5345, 5346, 5347, 5348, 5349, 5350, 5351, 5352, \n  5353, 5354, 5355, 5356, 5357, 5358, 5359, 5360, \n  5361, 5362, 5363, 5364, 5365, 5366, 5367, 5368, \n  5369, 5370, 5371, 5372, 5373, 5374, 5375, 5376, \n  5377, 5378, 5379, 5380, 5381, 5382, 5383, 5384, \n  5385, 5386, 5387, 5388, 5389, 5390, 5391, 5392, \n  5393, 5394, 5395, 5396, 5397, 5398, 5399, 5400, \n  5401, 5402, 5403, 5404, 5405, 5406, 5407, 5408, \n  5409, 5410, 5411, 5412, 5413, 5414, 5415, 5416, \n  5417, 5418, 5419, 5420, 5421, 5422, 5423, 5424, \n  5425, 5426, 5427, 5428, 5429, 5430, 5431, 5432, \n  0, 0, 0, 5433, 5434, 5435, 5436, 5437, \n  5438, 0, 0, 5439, 5440, 5441, 5442, 5443, \n  5444, 0, 0, 5445, 5446, 5447, 5448, 5449, \n  5450, 0, 0, 5451, 5452, 5453, 0, 0, \n  0, 5454, 5455, 5456, 5457, 5458, 5459, 5460, \n  0, 5461, 5462, 5463, 5464, 5465, 5466, 5467, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 5468, 5468, 5468, 1084, 77, 0, \n  0, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 0, 340, 1159, \n  1159, 340, 340, 340, 1159, 340, 340, 340, \n  340, 340, 340, 340, 340, 1159, 340, 340, \n  340, 340, 340, 1159, 1159, 1159, 340, 340, \n  0, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 1159, \n  340, 340, 340, 340, 0, 340, 340, 0, \n  340, 340, 1159, 340, 340, 1159, 1159, 1159, \n  340, 340, 340, 1159, 1159, 340, 1159, 0, \n  0, 340, 340, 1159, 340, 340, 1159, 340, \n  1159, 1159, 1159, 340, 1159, 1159, 1159, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 340, 340, 1159, 1159, 1159, 1159, 340, \n  340, 340, 340, 1159, 1159, 1159, 1159, 1159, \n  340, 1159, 340, 340, 340, 340, 1159, 1159, \n  1159, 1159, 1159, 340, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  340, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 340, 1159, 340, 1159, \n  1159, 1159, 1159, 1159, 340, 340, 1159, 1159, \n  1159, 1159, 1159, 1159, 340, 1159, 1159, 1159, \n  1159, 1159, 340, 340, 340, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  340, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 0, 0, 0, 0, \n  0, 1043, 9, 1043, 0, 0, 0, 0, \n  5469, 5469, 5469, 5469, 5469, 5469, 5469, 5469, \n  5469, 5469, 5469, 5469, 5469, 5469, 5469, 5469, \n  5469, 5469, 5469, 5469, 5469, 5469, 5469, 5469, \n  5469, 5469, 1189, 5469, 1189, 5469, 1189, 1189, \n  1189, 1189, 1189, 1189, 5469, 1189, 5469, 1189, \n  1189, 1189, 1189, 1189, 1189, 0, 0, 0, \n  1190, 837, 1190, 837, 837, 837, 837, 837, \n  1190, 5470, 5470, 5470, 5470, 5470, 5470, 5470, \n  5470, 5470, 5470, 5470, 5470, 5470, 5470, 5470, \n  5470, 5470, 5470, 5470, 5470, 5470, 5470, 5470, \n  5470, 5470, 5470, 5470, 5470, 5470, 5470, 5470, \n  5470, 5470, 5470, 5470, 5470, 5470, 5470, 5470, \n  5470, 5470, 5471, 5471, 5471, 5471, 5471, 5471, \n  5470, 5471, 5470, 5470, 5470, 5470, 1424, 1424, \n  1219, 1424, 77, 77, 77, 77, 77, 77, \n  77, 77, 77, 77, 77, 77, 77, 77, \n  77, 1084, 77, 1424, 1424, 77, 0, 0, \n  0, 77, 77, 77, 77, 77, 77, 77, \n  1084, 1084, 1084, 77, 77, 0, 0, 0, \n  0, 77, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 1190, 1190, 1190, 1190, 1190, 1190, 1190, \n  1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, \n  1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, \n  1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, \n  1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, \n  1190, 1190, 1190, 1190, 1190, 1190, 552, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 1159, \n  1159, 340, 340, 340, 340, 340, 340, 340, \n  340, 1159, 340, 1159, 340, 340, 0, 0, \n  0, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 1159, 340, 340, 340, 340, 340, 340, \n  1159, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 552, 5472, 5472, 5472, 5472, 5472, 5472, \n  5472, 5472, 5472, 5472, 5472, 5472, 5472, 5472, \n  5472, 5472, 5472, 5472, 5472, 5472, 5472, 5472, \n  5472, 5472, 5472, 5472, 5472, 0, 0, 0, \n  0, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 5469, 5469, 5469, 5469, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 1423, 340, 340, 340, 340, 340, \n  340, 340, 340, 1423, 0, 0, 0, 0, \n  0, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 539, \n  539, 539, 539, 539, 0, 0, 0, 0, \n  0, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 0, \n  1176, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 0, 0, 0, \n  0, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1176, 2216, 2216, 2216, 2216, 2216, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 5473, 5474, 5475, 5476, 5477, 5478, 5479, \n  5480, 5481, 5482, 5483, 5484, 5485, 5486, 5487, \n  5488, 5489, 5490, 5491, 5492, 5493, 5494, 5495, \n  5496, 5497, 5498, 5499, 5500, 5501, 5502, 5503, \n  5504, 5505, 5506, 5507, 5508, 5509, 5510, 5511, \n  5512, 5513, 5514, 5515, 5516, 5517, 5518, 5519, \n  5520, 5521, 5522, 5523, 5524, 5525, 5526, 5527, \n  5528, 5529, 5530, 5531, 5532, 5533, 5534, 5535, \n  5536, 5537, 5538, 5539, 5540, 5541, 5542, 5543, \n  5544, 5545, 5546, 5547, 5548, 5549, 5550, 5551, \n  5552, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 1159, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 1159, \n  340, 1159, 340, 340, 1159, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 1159, 0, \n  0, 1248, 1248, 1248, 1248, 1248, 1248, 1248, \n  1248, 1248, 1248, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 0, 0, 0, 0, 0, 0, 0, \n  0, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  1043, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 1159, 340, 340, 340, \n  340, 1159, 340, 1159, 1159, 1159, 340, 340, \n  340, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 340, 340, 1159, 340, 340, 1159, 1159, \n  340, 340, 1159, 1159, 1159, 1159, 340, 1159, \n  340, 340, 340, 340, 340, 1159, 1159, 1159, \n  340, 1159, 340, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 340, 1159, 1159, 1159, 340, \n  1159, 1159, 340, 340, 1159, 1159, 1159, 1159, \n  1159, 1159, 340, 340, 1159, 1159, 1159, 340, \n  340, 340, 340, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 340, 1159, 1159, 1159, 1159, \n  340, 1159, 1159, 340, 340, 340, 1159, 1159, \n  1159, 1159, 340, 340, 340, 1159, 1159, 1159, \n  1159, 340, 1159, 1159, 1159, 1159, 1159, 1159, \n  340, 1159, 1159, 1159, 1159, 1159, 340, 340, \n  1159, 1159, 340, 1159, 1159, 340, 1159, 1159, \n  1159, 1159, 1159, 340, 1159, 1159, 1159, 340, \n  1159, 1159, 340, 1159, 1159, 340, 1159, 340, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 340, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  340, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 340, 340, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 340, 1159, \n  340, 340, 340, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 340, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  340, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 1159, 1159, 1159, 1159, 1159, 1159, \n  340, 340, 1159, 1159, 340, 1159, 340, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 1155, 1155, 1155, 1105, 1155, 1105, 0, \n  0, 1155, 0, 1105, 1155, 1155, 1155, 1155, \n  1155, 1105, 1155, 1105, 1155, 1155, 1155, 1155, \n  1155, 1155, 1105, 1155, 1155, 1155, 1155, 1105, \n  1155, 1105, 1155, 1155, 1105, 1105, 1155, 1105, \n  1155, 1105, 1105, 1105, 1105, 1155, 1105, 1105, \n  1105, 1105, 1105, 1155, 1105, 1155, 1105, 0, \n  1155, 1105, 0, 0, 0, 1155, 0, 0, \n  1155, 1105, 1105, 1105, 1105, 1105, 1105, 1105, \n  1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, \n  1105, 1105, 1105, 1105, 1105, 1105, 1105, 0, \n  1102, 5553, 5553, 5553, 5553, 5553, 5553, 5553, \n  5553, 1155, 1155, 1155, 1105, 1105, 1105, 1105, \n  1155, 1105, 1105, 1155, 1105, 1155, 1105, 1105, \n  1155, 1155, 1105, 1155, 1155, 1105, 1155, 1155, \n  5554, 5554, 5553, 5553, 5555, 5555, 5555, 5555, \n  5553, 1155, 1105, 1155, 1155, 1155, 1105, 1105, \n  1105, 1105, 1105, 1155, 1155, 1105, 1105, 1105, \n  1105, 1105, 1105, 1105, 1105, 1105, 1105, 1155, \n  1155, 1105, 1155, 1155, 1105, 1105, 1105, 1105, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  5553, 5553, 5553, 5553, 5553, 5553, 5553, 5553, \n  5553, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 1105, 1105, 1105, 1105, 1105, 1105, 1105, \n  1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, \n  1105, 1105, 1105, 1105, 0, 1105, 1105, 0, \n  0, 0, 0, 0, 5553, 5553, 5553, 5553, \n  5553, 1105, 1105, 1105, 1105, 1105, 1105, 1105, \n  1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, \n  1105, 1105, 1105, 1105, 1105, 1105, 1105, 5553, \n  5553, 5553, 5553, 5553, 5553, 0, 0, 0, \n  9, 1105, 1105, 1105, 1105, 1105, 1105, 1105, \n  1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, \n  1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, \n  1105, 1105, 1105, 0, 0, 0, 0, 0, \n  1102, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 1155, 1105, 1155, 1155, 1155, 1155, 1155, \n  1105, 1155, 1155, 1155, 1155, 1155, 1155, 1155, \n  1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, \n  1105, 1155, 1155, 1155, 1155, 1155, 1155, 1105, \n  1155, 1155, 1105, 1155, 1105, 1155, 1105, 1105, \n  1105, 1105, 1155, 1105, 1155, 1105, 1155, 1105, \n  1105, 1105, 1155, 1105, 1155, 1105, 1155, 1155, \n  1105, 0, 0, 0, 0, 5555, 5553, 1105, \n  1155, 5553, 5553, 5553, 5553, 5555, 5555, 5555, \n  5553, 5553, 5555, 5555, 5555, 5555, 5555, 5555, \n  5555, 0, 0, 5555, 5555, 5555, 5555, 5555, \n  5555, 5555, 5555, 5555, 5555, 5555, 5555, 5555, \n  5555, 5555, 5555, 5555, 5555, 5555, 5555, 5555, \n  5555, 5555, 5555, 5555, 5555, 5555, 5555, 5555, \n  5555, 5555, 5555, 5555, 5555, 5555, 5555, 5553, \n  5553, 5553, 5553, 5555, 5553, 5555, 5555, 5555, \n  5555, 1155, 1152, 1152, 1152, 0, 1152, 1152, \n  0, 0, 0, 0, 0, 1152, 552, 1152, \n  539, 1155, 1155, 1155, 1155, 0, 1155, 1155, \n  1155, 0, 1155, 1155, 1155, 1155, 1155, 1155, \n  1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, \n  1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, \n  1155, 1155, 1155, 1155, 1155, 0, 0, 0, \n  0, 539, 565, 552, 0, 0, 0, 0, \n  1167, 5555, 5555, 5555, 5555, 5555, 5555, 5555, \n  5555, 0, 0, 0, 0, 0, 0, 0, \n  0, 1157, 1157, 1157, 1157, 1157, 1157, 1157, \n  1157, 1157, 0, 0, 0, 0, 0, 0, \n  0, 1105, 1105, 1105, 1105, 1105, 1105, 1105, \n  1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, \n  1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, \n  1105, 1105, 1105, 1105, 1105, 1105, 5553, 5553, \n  1102, 1105, 1105, 1105, 1105, 1105, 1105, 1105, \n  1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, \n  1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, \n  1105, 1105, 1105, 1105, 1105, 1105, 5553, 5553, \n  5553, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 1105, 1155, 1155, 1105, 1105, 1105, 1155, \n  1105, 5556, 1105, 1105, 1105, 1105, 1105, 1105, \n  1105, 1155, 1155, 1155, 1105, 1155, 1155, 1155, \n  1105, 1155, 1155, 1155, 1155, 1155, 1155, 1155, \n  1155, 1155, 1105, 1155, 1155, 1105, 539, 552, \n  0, 0, 0, 0, 5553, 5555, 5555, 5555, \n  5555, 1157, 1157, 1157, 1157, 1102, 1102, 1102, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 1105, 1155, 1155, 1155, 1155, 1105, 1105, \n  1105, 1155, 1155, 1155, 1155, 1105, 1105, 1105, \n  1105, 1105, 1155, 1155, 1155, 1155, 1105, 1155, \n  1105, 1105, 1105, 1105, 1155, 1105, 1105, 1105, \n  1105, 1155, 1155, 1105, 1105, 1105, 1105, 1105, \n  1155, 1105, 1105, 1155, 1155, 1105, 1105, 1105, \n  1105, 1105, 1155, 1155, 1155, 1155, 1155, 0, \n  0, 0, 9, 9, 9, 9, 9, 9, \n  9, 1155, 1155, 1105, 1105, 1155, 1105, 1105, \n  1105, 1155, 1105, 1155, 1105, 1155, 1155, 1105, \n  1105, 1155, 1155, 1105, 1105, 1105, 1105, 0, \n  0, 5553, 5553, 5553, 5553, 5553, 5553, 5555, \n  5553, 1105, 1105, 1105, 1105, 1155, 1105, 1105, \n  1155, 1105, 1105, 1105, 1105, 1155, 1105, 1155, \n  1105, 1105, 1155, 1105, 0, 0, 0, 0, \n  0, 5553, 5553, 5553, 5553, 5553, 5553, 5553, \n  5553, 1105, 1155, 1105, 1155, 1105, 1105, 1105, \n  1155, 1105, 1155, 1105, 1105, 1105, 1155, 1105, \n  1105, 1155, 1105, 0, 0, 0, 0, 0, \n  0, 0, 1157, 1157, 1157, 1157, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 5553, 5553, 5553, 5555, 5553, 5553, \n  5555, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 1105, 1105, 1105, 1105, 1105, 1105, 1105, \n  1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, \n  1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, \n  1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, \n  1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, \n  1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, \n  1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, \n  1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, \n  1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, \n  1105, 1105, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 5557, 5558, 5559, 5560, 5561, 5562, 5563, \n  5564, 5565, 5566, 5567, 5568, 5569, 5570, 5571, \n  5572, 5573, 5574, 5575, 5576, 5577, 5578, 5579, \n  5580, 5581, 5582, 5583, 5584, 5585, 5586, 5587, \n  5588, 5589, 5590, 5591, 5592, 5593, 5594, 5595, \n  5596, 5597, 5598, 5599, 5600, 5601, 5602, 5603, \n  5604, 5605, 5606, 5607, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 5608, 5609, 5610, 5611, 5612, 5613, 5614, \n  5615, 5616, 5617, 5618, 5619, 5620, 5621, 5622, \n  5623, 5624, 5625, 5626, 5627, 5628, 5629, 5630, \n  5631, 5632, 5633, 5634, 5635, 5636, 5637, 5638, \n  5639, 5640, 5641, 5642, 5643, 5644, 5645, 5646, \n  5647, 5648, 5649, 5650, 5651, 5652, 5653, 5654, \n  5655, 5656, 5657, 5658, 0, 0, 0, 0, \n  0, 0, 0, 5553, 5553, 5553, 5553, 5553, \n  5553, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 5659, 5659, 5660, 5659, 5659, 5659, 5659, \n  5659, 5660, 5659, 5659, 5660, 5660, 5660, 5659, \n  5659, 5660, 5659, 5659, 5659, 5660, 5660, 5659, \n  5660, 5660, 5659, 5659, 5660, 5660, 5660, 5660, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 1158, 1152, 1158, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1152, 1152, 1152, 1152, 1152, 1152, 1152, \n  1152, 1152, 1152, 1152, 1152, 1152, 1152, 1167, \n  1176, 1176, 1176, 1176, 1176, 1176, 1176, 0, \n  0, 0, 0, 1219, 1219, 1219, 1219, 1219, \n  1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, \n  1219, 1219, 1219, 1219, 1219, 1219, 1219, 1177, \n  1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, \n  1177, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  1167, 1152, 1152, 1158, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 5661, 5662, 5663, 5664, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 5665, 1159, \n  1159, 1159, 1159, 1159, 5666, 1159, 1159, 1159, \n  1159, 1158, 1158, 1158, 1152, 1152, 1152, 1152, \n  1158, 1158, 1167, 5667, 1176, 1176, 5668, 1176, \n  1176, 1176, 1176, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 0, 0, 0, 0, 0, 0, \n  0, 1248, 1248, 1248, 1248, 1248, 1248, 1248, \n  1248, 1248, 1248, 0, 0, 0, 0, 0, \n  0, 539, 539, 539, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  5669, 1152, 1152, 1152, 1152, 1158, 1152, 5670, \n  5671, 1152, 5672, 5673, 1167, 1167, 0, 1177, \n  1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, \n  1177, 1176, 1176, 1176, 1176, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 1159, 340, 340, 340, 1159, 340, 340, \n  340, 340, 1159, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 1159, 340, 1159, \n  1159, 1159, 1159, 1159, 340, 1159, 340, 1159, \n  340, 340, 340, 340, 1179, 1043, 1043, 1159, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 1152, 1152, 1158, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1158, 1158, 1158, 1152, \n  1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, \n  1158, 1450, 1159, 1159, 1159, 1159, 1176, 1176, \n  1176, 1176, 1176, 1179, 1152, 1152, 1176, 0, \n  0, 1177, 1177, 1177, 1177, 1177, 1177, 1177, \n  1177, 1177, 1177, 1159, 1176, 1159, 1176, 1176, \n  1176, 0, 1189, 1189, 1189, 1189, 1189, 1189, \n  1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, \n  1189, 1189, 1189, 1189, 1189, 1189, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 0, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1158, 1158, 1158, \n  1152, 1152, 1152, 1158, 1158, 1152, 1450, 1179, \n  1152, 1176, 1176, 1176, 1176, 1176, 1176, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 340, 340, 340, 340, 340, 340, 340, \n  0, 340, 0, 340, 340, 340, 340, 0, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 0, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 1043, 0, 0, 0, 0, 0, \n  0, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  1152, 1158, 1158, 1158, 1152, 1152, 1152, 1152, \n  1152, 1152, 1179, 1167, 0, 0, 0, 0, \n  0, 1248, 1248, 1248, 1248, 1248, 1248, 1248, \n  1248, 1248, 1248, 0, 0, 0, 0, 0, \n  0, 1152, 1152, 1158, 1158, 0, 340, 340, \n  340, 340, 340, 340, 340, 340, 0, 0, \n  340, 340, 0, 0, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 0, 340, 340, 340, 340, 340, \n  340, 340, 0, 340, 340, 0, 340, 340, \n  340, 340, 340, 0, 0, 1179, 340, 5674, \n  1158, 1152, 1158, 1158, 1158, 1158, 0, 0, \n  5675, 1158, 0, 0, 5676, 5677, 1450, 0, \n  0, 340, 0, 0, 0, 0, 0, 0, \n  5678, 0, 0, 0, 0, 0, 340, 340, \n  340, 340, 340, 1158, 1158, 0, 0, 539, \n  539, 539, 539, 539, 539, 539, 0, 0, \n  0, 539, 539, 539, 539, 539, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 5679, 1158, 1158, 1152, 1152, 1152, 1152, \n  1152, 1152, 5680, 5681, 5682, 5683, 5684, 5685, \n  1152, 1152, 1158, 1167, 1179, 340, 340, 1043, \n  340, 0, 0, 0, 0, 0, 0, 0, \n  0, 1248, 1248, 1248, 1248, 1248, 1248, 1248, \n  1248, 1248, 1248, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  5686, 1158, 1158, 1152, 1152, 1152, 1152, 0, \n  0, 5687, 5688, 5689, 5690, 1152, 1152, 1158, \n  1167, 1179, 1176, 1176, 1176, 1176, 1176, 1176, \n  1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, \n  1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, \n  1176, 1159, 1159, 1159, 1159, 1152, 1152, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 1158, 1158, 1158, 1152, 1152, 1152, 1152, \n  1152, 1152, 1152, 1152, 1158, 1158, 1152, 1158, \n  1167, 1152, 1043, 1043, 1043, 340, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 1248, 1248, 1248, 1248, 1248, 1248, 1248, \n  1248, 1248, 1248, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1152, 1158, 1152, 1158, \n  1158, 1152, 1152, 1152, 1152, 1152, 1152, 1450, \n  1179, 0, 0, 0, 0, 0, 0, 0, \n  0, 1177, 1177, 1177, 1177, 1177, 1177, 1177, \n  1177, 1177, 1177, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 0, 0, 0, 1152, 1152, \n  1152, 1158, 1158, 1152, 1152, 1152, 1152, 1158, \n  1152, 1152, 1152, 1152, 1167, 0, 0, 0, \n  0, 1248, 1248, 1248, 1248, 1248, 1248, 1248, \n  1248, 1248, 1248, 5469, 5469, 1043, 1043, 1043, \n  837, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 5691, 5692, 5693, 5694, 5695, 5696, 5697, \n  5698, 5699, 5700, 5701, 5702, 5703, 5704, 5705, \n  5706, 5707, 5708, 5709, 5710, 5711, 5712, 5713, \n  5714, 5715, 5716, 5717, 5718, 5719, 5720, 5721, \n  5722, 5723, 5724, 5725, 5726, 5727, 5728, 5729, \n  5730, 5731, 5732, 5733, 5734, 5735, 5736, 5737, \n  5738, 5739, 5740, 5741, 5742, 5743, 5744, 5745, \n  5746, 5747, 5748, 5749, 5750, 5751, 5752, 5753, \n  5754, 1248, 1248, 1248, 1248, 1248, 1248, 1248, \n  1248, 1248, 1248, 5469, 5469, 5469, 5469, 5469, \n  5469, 5469, 5469, 5469, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  340, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 0, 0, 0, 0, 0, 0, \n  0, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 1423, 1423, 1423, 1423, 1423, 1423, 1423, \n  1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, \n  1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, \n  1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, \n  1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, \n  1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, \n  1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, \n  1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, \n  1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, \n  1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, \n  1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, \n  1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, \n  1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, \n  1423, 1423, 1423, 1423, 1423, 1423, 1423, 1423, \n  0, 1043, 1043, 1043, 1043, 1043, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 0, 0, 0, 0, 0, 0, \n  0, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  0, 1248, 1248, 1248, 1248, 1248, 1248, 1248, \n  1248, 1248, 1248, 0, 0, 0, 0, 1043, \n  1043, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 0, \n  0, 565, 565, 565, 565, 565, 1043, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 539, 539, 539, 539, 539, 539, 539, \n  1043, 1043, 1043, 1043, 1043, 837, 837, 837, \n  837, 522, 522, 522, 522, 1043, 837, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 1248, 1248, 1248, 1248, 1248, 1248, 1248, \n  1248, 1248, 1248, 0, 5469, 5469, 5469, 5469, \n  5469, 5469, 5469, 0, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 0, 0, 0, 0, 0, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 1159, 1158, 1158, 1158, 1158, 1158, 1158, \n  1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, \n  1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, \n  1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, \n  1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, \n  1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  1152, 1152, 1152, 1152, 1178, 1178, 1178, 1178, \n  1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, \n  1178, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 1159, 1159, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 0, 0, 0, 0, \n  0, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 340, 340, 340, 0, 0, \n  0, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 0, 0, 0, 0, 0, 0, \n  0, 340, 340, 340, 340, 340, 340, 340, \n  340, 340, 340, 0, 0, 837, 1152, 565, \n  1043, 81, 81, 81, 81, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 837, 837, 837, 837, 837, 837, 837, \n  837, 1190, 1190, 837, 837, 837, 837, 837, \n  837, 837, 837, 837, 1190, 837, 1190, 837, \n  837, 837, 1190, 837, 837, 837, 1190, 1190, \n  1190, 837, 1190, 837, 1190, 837, 1190, 1190, \n  1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, \n  1190, 837, 1190, 1190, 1190, 1190, 1190, 1190, \n  1190, 1190, 837, 1190, 1190, 1190, 1190, 1190, \n  1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, \n  837, 837, 1190, 1190, 1190, 1190, 1190, 837, \n  837, 837, 837, 1190, 837, 1190, 1190, 1190, \n  837, 837, 837, 1190, 1190, 1190, 1190, 1190, \n  837, 1190, 1190, 1190, 837, 1190, 1190, 1190, \n  1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, \n  1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, \n  1190, 1190, 1190, 837, 1190, 1190, 1190, 837, \n  837, 837, 1190, 1190, 837, 837, 837, 837, \n  1190, 1190, 837, 837, 837, 1190, 1190, 837, \n  837, 837, 837, 1190, 1190, 1190, 1190, 1190, \n  837, 837, 837, 837, 837, 837, 1190, 837, \n  837, 1190, 1190, 1190, 837, 1190, 1190, 1190, \n  1190, 837, 837, 1190, 837, 1190, 837, 1190, \n  1190, 1190, 1190, 1190, 1190, 837, 837, 837, \n  1190, 1190, 837, 837, 837, 1190, 837, 1190, \n  837, 1190, 837, 837, 1190, 1190, 1190, 1190, \n  837, 1190, 1190, 1190, 837, 1190, 1190, 1190, \n  1190, 837, 1190, 1190, 1190, 837, 1190, 1190, \n  1190, 837, 837, 837, 837, 837, 837, 837, \n  837, 837, 837, 837, 837, 837, 837, 1190, \n  837, 1190, 837, 837, 837, 837, 837, 837, \n  837, 1190, 837, 1190, 837, 837, 837, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 837, 837, 837, 837, 837, 837, 837, \n  837, 837, 1190, 1190, 1190, 1190, 1190, 1190, \n  1190, 1190, 1190, 837, 1190, 837, 837, 1190, \n  1190, 1190, 1190, 1190, 1190, 1190, 1190, 837, \n  837, 837, 1190, 1190, 1190, 1190, 837, 837, \n  0, 0, 1190, 837, 1190, 837, 837, 837, \n  837, 837, 837, 837, 837, 837, 837, 1190, \n  1190, 1190, 1190, 837, 837, 837, 837, 837, \n  837, 837, 837, 837, 837, 837, 837, 837, \n  837, 837, 837, 837, 837, 837, 837, 837, \n  837, 837, 837, 837, 837, 837, 837, 837, \n  5755, 5756, 1190, 837, 837, 1190, 837, 5757, \n  5758, 5759, 5760, 5761, 5762, 5763, 5764, 5765, \n  565, 565, 565, 1190, 1190, 1190, 5766, 5767, \n  5768, 5769, 5770, 5771, 81, 81, 81, 81, \n  81, 81, 81, 81, 552, 552, 552, 552, \n  552, 552, 552, 552, 837, 837, 539, 539, \n  539, 539, 539, 552, 552, 837, 837, 837, \n  837, 837, 837, 1190, 1190, 837, 837, 1190, \n  1190, 1190, 1190, 837, 837, 1190, 1190, 837, \n  837, 837, 837, 837, 1190, 1190, 837, 1190, \n  1190, 837, 837, 539, 539, 539, 539, 1190, \n  1190, 1190, 1190, 1190, 1190, 837, 1190, 1190, \n  1190, 1190, 5772, 5773, 5774, 5775, 5776, 5777, \n  5778, 5779, 837, 837, 837, 837, 837, 837, \n  1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, \n  1190, 837, 837, 837, 837, 837, 837, 837, \n  1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, \n  1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, \n  1190, 1190, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 539, 539, 539, 1084, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 1189, 1189, 1189, 1189, 1189, 1189, 1189, \n  1189, 1189, 5469, 1189, 1189, 1189, 1189, 1189, \n  1189, 1189, 1189, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 5780, 2146, 2121, 5781, 2148, 2149, 5782, \n  2128, 2131, 5783, 5784, 2132, 2151, 2134, 5785, \n  2136, 2137, 2138, 5786, 5787, 5788, 5789, 5790, \n  5791, 5792, 2142, 5793, 5794, 5795, 5796, 2147, \n  5797, 2127, 2129, 2157, 2166, 5798, 2133, 5799, \n  5800, 2152, 5801, 5802, 5803, 5804, 5805, 5806, \n  5807, 5808, 5809, 5810, 5811, 5812, 5813, 5814, \n  2164, 5815, 5816, 5817, 5818, 5819, 5820, 5821, \n  5822, 5823, 5824, 5825, 5826, 5827, 5828, 5829, \n  5830, 5831, 5832, 5833, 5834, 5835, 5836, 5837, \n  5838, 5839, 2165, 5840, 5841, 5842, 0, 5843, \n  5844, 5845, 5846, 5847, 5848, 5849, 5850, 5851, \n  5852, 5853, 5854, 5855, 5856, 5857, 5858, 5859, \n  5860, 5812, 5813, 5814, 2164, 5815, 5816, 5817, \n  5818, 5819, 5820, 5821, 5822, 5823, 5824, 5825, \n  5826, 5827, 5828, 5829, 5830, 5831, 5832, 5833, \n  5834, 5835, 5836, 5837, 5838, 5839, 2165, 5840, \n  5841, 5842, 5861, 5843, 5844, 5845, 5846, 5847, \n  5848, 5849, 5850, 5851, 5852, 5853, 5854, 5855, \n  5856, 5857, 5858, 5859, 5860, 5812, 0, 5814, \n  2164, 0, 0, 5817, 0, 0, 5820, 5821, \n  0, 0, 5824, 5825, 5826, 5827, 0, 5829, \n  5830, 5831, 5832, 5833, 5834, 5835, 5836, 5837, \n  5838, 5839, 2165, 0, 5841, 0, 5861, 5843, \n  5844, 5845, 5846, 5847, 5848, 0, 5850, 5851, \n  5852, 5853, 5854, 5855, 5856, 5857, 5858, 5859, \n  5860, 5812, 5813, 5814, 2164, 5815, 5816, 5817, \n  5818, 5819, 5820, 5821, 5822, 5823, 5824, 5825, \n  5826, 5827, 5828, 5829, 5830, 5831, 5832, 5833, \n  5834, 5835, 5836, 5837, 5838, 5839, 2165, 5840, \n  5841, 5842, 5861, 5843, 5844, 5845, 5846, 5847, \n  5848, 5849, 5850, 5851, 5852, 5853, 5854, 5855, \n  5856, 5857, 5858, 5859, 5860, 5780, 2146, 0, \n  5781, 2148, 2149, 5782, 0, 0, 5783, 5784, \n  2132, 2151, 2134, 5785, 2136, 2137, 0, 5786, \n  5787, 5788, 5789, 5790, 5791, 5792, 0, 5793, \n  5794, 5795, 5796, 2147, 5797, 2127, 2129, 2157, \n  2166, 5798, 2133, 5799, 5800, 2152, 5801, 5802, \n  5803, 5804, 5805, 5806, 5807, 5808, 5809, 5810, \n  5811, 5780, 2146, 0, 5781, 2148, 2149, 5782, \n  0, 2131, 5783, 5784, 2132, 2151, 0, 5785, \n  0, 0, 0, 5786, 5787, 5788, 5789, 5790, \n  5791, 5792, 0, 5793, 5794, 5795, 5796, 2147, \n  5797, 2127, 2129, 2157, 2166, 5798, 2133, 5799, \n  5800, 2152, 5801, 5802, 5803, 5804, 5805, 5806, \n  5807, 5808, 5809, 5810, 5811, 5780, 2146, 2121, \n  5781, 2148, 2149, 5782, 2128, 2131, 5783, 5784, \n  2132, 2151, 2134, 5785, 2136, 2137, 2138, 5786, \n  5787, 5788, 5789, 5790, 5791, 5792, 2142, 5793, \n  5794, 5795, 5796, 2147, 5797, 2127, 2129, 2157, \n  2166, 5798, 2133, 5799, 5800, 2152, 5801, 5802, \n  5803, 5804, 5805, 5806, 5807, 5808, 5809, 5810, \n  5811, 5780, 2146, 2121, 5781, 2148, 2149, 5782, \n  2128, 2131, 5783, 5784, 2132, 2151, 2134, 5785, \n  2136, 2137, 2138, 5786, 5787, 5788, 5789, 5790, \n  5791, 5792, 2142, 5793, 5794, 5795, 5796, 2147, \n  5797, 2127, 2129, 2157, 2166, 5798, 2133, 5799, \n  5800, 2152, 5801, 5802, 5803, 5804, 5805, 5806, \n  5807, 5808, 5809, 5810, 5811, 5780, 2146, 2121, \n  5781, 2148, 2149, 5782, 2128, 2131, 5783, 5784, \n  2132, 2151, 2134, 5785, 2136, 2137, 2138, 5786, \n  5787, 5788, 5789, 5790, 5791, 5792, 2142, 5793, \n  5794, 5795, 5796, 2147, 5797, 2127, 2129, 2157, \n  2166, 5798, 2133, 5799, 5800, 2152, 5801, 5802, \n  5803, 5804, 5805, 5806, 5807, 5808, 5809, 5810, \n  5811, 5812, 5813, 5814, 2164, 5815, 5816, 5817, \n  5818, 5819, 5820, 5821, 5822, 5823, 5824, 5825, \n  5826, 5827, 5828, 5829, 5830, 5831, 5832, 5833, \n  5834, 5835, 5836, 5837, 5838, 5839, 2165, 5840, \n  5841, 5842, 5861, 5843, 5844, 5845, 5846, 5847, \n  5848, 5849, 5850, 5851, 5852, 5853, 5854, 5855, \n  5856, 5857, 5858, 5859, 5860, 5812, 5813, 5814, \n  2164, 5815, 5816, 5817, 5818, 5819, 5820, 5821, \n  5822, 5823, 5824, 5825, 5826, 5827, 5828, 5829, \n  5830, 5831, 5832, 5833, 5834, 5835, 5836, 5837, \n  5838, 5839, 2165, 5840, 5841, 5842, 5861, 5843, \n  5844, 5845, 5846, 5847, 5848, 5849, 5850, 5851, \n  5852, 5853, 5854, 5855, 5856, 5857, 5858, 5859, \n  5860, 5812, 5813, 5814, 2164, 5815, 5816, 5817, \n  5818, 5819, 5820, 5821, 5822, 5823, 5824, 5825, \n  5826, 5827, 5828, 5829, 5830, 5831, 5832, 5833, \n  5834, 5835, 5836, 5837, 5838, 5839, 2165, 5840, \n  5841, 5842, 5861, 5843, 5844, 5845, 5846, 5847, \n  5848, 5849, 5850, 5851, 5852, 5853, 5854, 5855, \n  5856, 5857, 5858, 5859, 5860, 5862, 5863, 0, \n  0, 5864, 5865, 2161, 5866, 5867, 5868, 5869, \n  5870, 5871, 5872, 5873, 5874, 5875, 5876, 5877, \n  5878, 5879, 5880, 5881, 5882, 5883, 5884, 5885, \n  5886, 5887, 5888, 5889, 5890, 5891, 5892, 5893, \n  5894, 5895, 5896, 5897, 5898, 5899, 5900, 5901, \n  5902, 5903, 5904, 5905, 5906, 5907, 5908, 5909, \n  5910, 5911, 5912, 5913, 5914, 5915, 5916, 5917, \n  5918, 5919, 5920, 5921, 5922, 5923, 5924, 5925, \n  5926, 5927, 5928, 5929, 5930, 5931, 5932, 5933, \n  5934, 5935, 2162, 5936, 5937, 5938, 5939, 5940, \n  5941, 5942, 5943, 5944, 5945, 5946, 5947, 2160, \n  5948, 5949, 5950, 5951, 5952, 5953, 5954, 5955, \n  5956, 5957, 5958, 5959, 2159, 5960, 5961, 5962, \n  5963, 5964, 5965, 5966, 5967, 5968, 5969, 5970, \n  5916, 5971, 5972, 5973, 5974, 5921, 5922, 5923, \n  5924, 5925, 5926, 5927, 5928, 5929, 5930, 5931, \n  5932, 5933, 5934, 5935, 2162, 5936, 5937, 5938, \n  5939, 5940, 5941, 5942, 5943, 5944, 5945, 5946, \n  5947, 2160, 5948, 5949, 5950, 5951, 5952, 5953, \n  5954, 5955, 5956, 5957, 5958, 5959, 2159, 5960, \n  5961, 5962, 5963, 5964, 5965, 5966, 5967, 5968, \n  5969, 5970, 5975, 5971, 5972, 5973, 5974, 5864, \n  5865, 2161, 5866, 5867, 5868, 5869, 5870, 5871, \n  5872, 5873, 5874, 5875, 5876, 5877, 5878, 5879, \n  5880, 5881, 5882, 5883, 5884, 5885, 5886, 5887, \n  5888, 5889, 5890, 5891, 5892, 5893, 5894, 5895, \n  5896, 5897, 5898, 5899, 5900, 5901, 5902, 5903, \n  5904, 5905, 5906, 5907, 5908, 5909, 5910, 5911, \n  5912, 5913, 5914, 5915, 5916, 5917, 5918, 5919, \n  5920, 5921, 5922, 5923, 5924, 5925, 5926, 5927, \n  5928, 5929, 5930, 5931, 5932, 5933, 5934, 5935, \n  2162, 5936, 5937, 5938, 5939, 5940, 5941, 5942, \n  5943, 5944, 5945, 5946, 5947, 2160, 5948, 5949, \n  5950, 5951, 5952, 5953, 5954, 5955, 5956, 5957, \n  5958, 5959, 2159, 5960, 5961, 5962, 5963, 5964, \n  5965, 5966, 5967, 5968, 5969, 5970, 5975, 5971, \n  5972, 5973, 5974, 5976, 5977, 0, 0, 5978, \n  5979, 5980, 5981, 5982, 5983, 5984, 5985, 5986, \n  5987, 5978, 5979, 5980, 5981, 5982, 5983, 5984, \n  5985, 5986, 5987, 5978, 5979, 5980, 5981, 5982, \n  5983, 5984, 5985, 5986, 5987, 5978, 5979, 5980, \n  5981, 5982, 5983, 5984, 5985, 5986, 5987, 5988, \n  5989, 5990, 5991, 5992, 5993, 5994, 5995, 5996, \n  5997, 1152, 1152, 1152, 1152, 1152, 1152, 1152, \n  1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, \n  1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, \n  1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, \n  1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, \n  1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, \n  1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, \n  837, 837, 837, 837, 1152, 1152, 1152, 1152, \n  1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, \n  1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, \n  1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, \n  1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, \n  1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, \n  1152, 1152, 1152, 1152, 1152, 1152, 837, 837, \n  837, 837, 837, 837, 837, 837, 1152, 837, \n  837, 837, 837, 837, 837, 837, 837, 837, \n  837, 837, 837, 837, 837, 1152, 837, 837, \n  1043, 1043, 1043, 1043, 1043, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 1152, 1152, 1152, 1152, \n  1152, 0, 1152, 1152, 1152, 1152, 1152, 1152, \n  1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, \n  1152, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 1105, 1105, 1105, 1105, 1105, 1105, 1105, \n  1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, \n  1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, \n  1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, \n  1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, \n  1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, \n  1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, \n  1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, \n  1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, \n  1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, \n  1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, \n  1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, \n  1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, \n  1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, \n  1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, \n  1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, \n  1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, \n  1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, \n  1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, \n  1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, \n  1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, \n  1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, \n  1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, \n  1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, \n  1105, 1105, 1105, 1105, 1105, 1105, 0, 0, \n  5553, 5553, 5553, 5553, 5553, 5553, 5553, 5553, \n  5553, 552, 552, 552, 552, 552, 552, 552, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 5998, 5999, 6000, 6001, 0, 6002, 6003, \n  6004, 6005, 6006, 6007, 6008, 6009, 6010, 6011, \n  6012, 6013, 6014, 6015, 6016, 6017, 6018, 6019, \n  6020, 6021, 6022, 6023, 6024, 6025, 6026, 6027, \n  6028, 0, 5999, 6000, 0, 6029, 0, 0, \n  6004, 0, 6006, 6007, 6008, 6009, 6010, 6011, \n  6012, 6013, 6014, 6015, 0, 6017, 6018, 6019, \n  6020, 0, 6022, 0, 6024, 0, 0, 0, \n  0, 0, 0, 6000, 0, 0, 0, 0, \n  6004, 0, 6006, 0, 6008, 0, 6010, 6011, \n  6012, 0, 6014, 6015, 0, 6017, 0, 0, \n  6020, 0, 6022, 0, 6024, 0, 6026, 0, \n  6028, 0, 5999, 6000, 0, 6030, 0, 0, \n  6004, 6005, 6006, 6007, 0, 6009, 6010, 6011, \n  6012, 6013, 6014, 6015, 0, 6017, 6018, 6019, \n  6020, 0, 6022, 6023, 6024, 6025, 0, 6027, \n  0, 5998, 5999, 6000, 6001, 6030, 6002, 6003, \n  6004, 6005, 6006, 0, 6008, 6009, 6010, 6011, \n  6012, 6013, 6014, 6015, 6016, 6017, 6018, 6019, \n  6020, 6021, 6022, 6023, 6024, 0, 0, 0, \n  0, 0, 6031, 6032, 6033, 0, 6034, 6035, \n  6036, 6037, 6038, 0, 6039, 6040, 6041, 6042, \n  6043, 6044, 6045, 6046, 6047, 6048, 6049, 6050, \n  6051, 6052, 6053, 6054, 6055, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 1108, 1108, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 0, 0, 0, \n  0, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 77, 77, 77, 77, 77, \n  77, 77, 77, 77, 77, 77, 77, 77, \n  77, 77, 77, 77, 77, 77, 77, 77, \n  77, 77, 77, 77, 77, 77, 77, 77, \n  77, 77, 77, 77, 77, 77, 77, 77, \n  77, 77, 77, 77, 77, 77, 77, 77, \n  77, 77, 77, 77, 77, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  0, 0, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 0, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 0, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 6056, 6057, 6058, 6059, 6060, 6061, 6062, \n  6063, 6064, 6065, 6066, 1219, 1219, 0, 0, \n  0, 6067, 6068, 6069, 6070, 6071, 6072, 6073, \n  6074, 6075, 6076, 6077, 6078, 6079, 6080, 6081, \n  6082, 6083, 6084, 6085, 6086, 6087, 6088, 6089, \n  6090, 6091, 6092, 6093, 6094, 6095, 6096, 6097, \n  0, 6098, 6099, 6100, 6101, 6102, 6103, 6104, \n  6105, 6106, 6107, 6108, 6109, 6110, 6111, 6112, \n  6113, 6114, 6115, 6116, 6117, 6118, 6119, 6120, \n  6121, 6122, 6123, 6124, 3599, 6125, 6126, 6127, \n  6128, 1190, 1190, 1190, 1190, 1190, 1190, 1190, \n  1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, \n  1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, \n  1190, 1190, 1190, 6129, 6130, 0, 0, 0, \n  0, 1190, 1190, 1190, 1190, 1190, 1190, 1190, \n  1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, \n  1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, \n  1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, \n  1190, 6131, 1190, 1190, 1190, 1190, 1190, 1190, \n  1190, 1190, 1190, 1190, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 6132, \n  6132, 6132, 6132, 6132, 6132, 6132, 6132, 6132, \n  6132, 6132, 6132, 6132, 6132, 6132, 6132, 6132, \n  6132, 6132, 6132, 6132, 6132, 6132, 6132, 6132, \n  6132, 6133, 6134, 6135, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 6136, 6137, 6138, 6139, 6140, 6141, 6142, \n  6143, 6144, 6145, 6146, 6147, 6148, 6149, 6150, \n  6151, 6152, 6153, 6154, 6155, 6156, 6157, 6158, \n  6159, 6160, 6161, 6162, 6163, 6164, 6165, 6166, \n  6167, 6168, 6169, 6170, 6171, 6172, 6173, 6174, \n  6175, 6176, 6177, 6178, 0, 0, 0, 0, \n  0, 6179, 6180, 6181, 6182, 6183, 6184, 6185, \n  6186, 6187, 0, 0, 0, 0, 0, 0, \n  0, 6188, 6189, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 77, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 6190, 6190, 6190, 6190, \n  6190, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 0, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 0, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  77, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 77, \n  77, 77, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 77, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 0, 0, \n  0, 1084, 1084, 1084, 1084, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 77, 77, 1084, 77, 77, \n  77, 1084, 1084, 1084, 1084, 77, 77, 77, \n  1084, 1084, 77, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 77, 1084, 77, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 1084, 1084, 1084, 1084, 77, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 77, 77, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  77, 77, 77, 1084, 1084, 1084, 77, 77, \n  77, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 0, 0, 0, \n  0, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 77, 77, 77, 77, 77, 77, 77, \n  77, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 0, 0, 0, 0, 0, 0, 0, \n  0, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 0, 0, 0, 0, 0, \n  0, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 0, 0, 0, 0, 0, 0, 0, \n  0, 77, 77, 77, 77, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 77, 77, 77, \n  77, 1084, 1084, 1084, 1084, 1084, 1084, 1084, \n  1084, 1084, 1084, 1084, 1084, 77, 77, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 77, 77, 77, 77, 77, 77, 77, \n  77, 77, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 77, 77, 77, 77, 77, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 77, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 0, \n  0, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, \n  1159, 1159, 1159, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 6191, 6192, 6193, 6194, 6195, 4256, 6196, \n  6197, 6198, 6199, 4257, 6200, 6201, 6202, 4258, \n  6203, 6204, 6205, 6206, 6207, 6208, 6209, 6210, \n  6211, 6212, 6213, 6214, 4316, 6215, 6216, 6217, \n  6218, 6219, 6220, 6221, 6222, 6223, 4321, 4259, \n  4260, 4322, 6224, 6225, 4067, 6226, 4261, 6227, \n  6228, 6229, 6230, 6230, 6230, 6231, 6232, 6233, \n  6234, 6235, 6236, 6237, 6238, 6239, 6240, 6241, \n  6242, 6243, 6244, 6245, 6246, 6247, 6248, 6248, \n  4324, 6249, 6250, 6251, 6252, 4263, 6253, 6254, \n  6255, 4220, 6256, 6257, 6258, 6259, 6260, 6261, \n  6262, 6263, 6264, 6265, 6266, 6267, 6268, 6269, \n  6270, 6271, 6272, 6273, 6274, 6275, 6276, 6277, \n  6278, 6279, 6280, 6281, 6281, 6282, 6283, 6284, \n  4063, 6285, 6286, 6287, 6288, 6289, 6290, 6291, \n  6292, 4268, 6293, 6294, 6295, 6296, 6297, 6298, \n  6299, 6300, 6301, 6302, 6303, 6304, 6305, 6306, \n  6307, 6308, 6309, 6310, 6311, 6312, 6313, 4009, \n  6314, 6315, 6316, 6316, 6317, 6318, 6318, 6319, \n  6320, 6321, 6322, 6323, 6324, 6325, 6326, 6327, \n  6328, 6329, 6330, 6331, 4269, 6332, 6333, 6334, \n  6335, 4336, 6335, 6336, 4271, 6337, 6338, 6339, \n  6340, 4272, 3982, 6341, 6342, 6343, 6344, 6345, \n  6346, 6347, 6348, 6349, 6350, 6351, 6352, 6353, \n  6354, 6355, 6356, 6357, 6358, 6359, 6360, 6361, \n  6362, 4273, 6363, 6364, 6365, 6366, 6367, 6368, \n  4275, 6369, 6370, 6371, 6372, 6373, 6374, 6375, \n  6376, 4010, 4344, 6377, 6378, 6379, 6380, 6381, \n  6382, 6383, 6384, 4276, 6385, 6386, 6387, 6388, \n  4387, 6389, 6390, 6391, 6392, 6393, 6394, 6395, \n  6396, 6397, 6398, 6399, 6400, 6401, 4080, 6402, \n  6403, 6404, 6405, 6406, 6407, 6408, 6409, 6410, \n  6411, 6412, 4277, 4167, 6413, 6414, 6415, 6416, \n  6417, 6418, 6419, 6420, 4348, 6421, 6422, 6423, \n  6424, 6425, 6426, 6427, 6428, 4349, 6429, 6430, \n  6431, 6432, 6433, 6434, 6435, 6436, 6437, 6438, \n  6439, 6440, 4351, 6441, 6442, 6443, 6444, 6445, \n  6446, 6447, 6448, 6449, 6450, 6451, 6451, 6452, \n  6453, 4353, 6454, 6455, 6456, 6457, 6458, 6459, \n  6460, 4066, 6461, 6462, 6463, 6464, 6465, 6466, \n  6467, 4359, 6468, 6469, 6470, 6471, 6472, 6473, \n  6473, 4360, 4389, 6474, 6475, 6476, 6477, 6478, \n  4028, 4362, 6479, 6480, 4288, 6481, 6482, 4242, \n  6483, 6484, 4292, 6485, 6486, 6487, 6488, 6488, \n  6489, 6490, 6491, 6492, 6493, 6494, 6495, 6496, \n  6497, 6498, 6499, 6500, 6501, 6502, 6503, 6504, \n  6505, 6506, 6507, 6508, 6509, 6510, 6511, 6512, \n  6513, 6514, 6515, 4298, 6516, 6517, 6518, 6519, \n  6520, 6521, 6522, 6523, 6524, 6525, 6526, 6527, \n  6528, 6529, 6530, 6531, 6317, 6532, 6533, 6534, \n  6535, 6536, 6537, 6538, 6539, 6540, 6541, 6542, \n  6543, 4084, 6544, 6545, 6546, 6547, 6548, 6549, \n  4301, 6550, 6551, 6552, 6553, 6554, 6555, 6556, \n  6557, 6558, 6559, 6560, 6561, 6562, 6563, 6564, \n  6565, 6566, 6567, 6568, 6569, 4023, 6570, 6571, \n  6572, 6573, 6574, 6575, 4369, 6576, 6577, 6578, \n  6579, 6580, 6581, 6582, 6583, 6584, 6585, 6586, \n  6587, 6588, 6589, 6590, 6591, 6592, 6593, 6594, \n  6595, 4374, 4375, 6596, 6597, 6598, 6599, 6600, \n  6601, 6602, 6603, 6604, 6605, 6606, 6607, 6608, \n  4376, 6609, 6610, 6611, 6612, 6613, 6614, 6615, \n  6616, 6617, 6618, 6619, 6620, 6621, 6622, 6623, \n  6624, 6625, 6626, 6627, 6628, 6629, 6630, 6631, \n  6632, 6633, 6634, 6635, 6636, 6637, 6638, 4382, \n  4382, 6639, 6640, 6641, 6642, 6643, 6644, 6645, \n  6646, 6647, 6648, 4383, 6649, 6650, 6651, 6652, \n  6653, 6654, 6655, 6656, 6657, 6658, 6659, 6660, \n  6661, 6662, 6663, 6664, 6665, 6666, 6667, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 81, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 81, 81, 81, 81, 81, 81, 81, \n  81, 81, 81, 81, 81, 81, 81, 81, \n  81, 81, 81, 81, 81, 81, 81, 81, \n  81, 81, 81, 81, 81, 81, 81, 81, \n  81, 81, 81, 81, 81, 81, 81, 81, \n  81, 81, 81, 81, 81, 81, 81, 81, \n  81, 81, 81, 81, 81, 81, 81, 81, \n  81, 81, 81, 81, 81, 81, 81, 81, \n  81, 81, 81, 81, 81, 81, 81, 81, \n  81, 81, 81, 81, 81, 81, 81, 81, \n  81, 81, 81, 81, 81, 81, 81, 81, \n  81, 81, 81, 81, 81, 81, 81, 81, \n  81, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 573, 573, 573, 573, 573, 573, 573, \n  573, 573, 573, 573, 573, 573, 573, 573, \n  573, 573, 573, 573, 573, 573, 573, 573, \n  573, 573, 573, 573, 573, 573, 573, 573, \n  573, 573, 573, 573, 573, 573, 573, 573, \n  573, 573, 573, 573, 573, 573, 573, 573, \n  573, 573, 573, 573, 573, 573, 573, 573, \n  573, 573, 573, 573, 573, 573, 573, 573, \n  573, 573, 573, 573, 573, 573, 573, 573, \n  573, 573, 573, 573, 573, 573, 573, 573, \n  573, 573, 573, 573, 573, 573, 573, 573, \n  573, 573, 573, 573, 573, 573, 573, 573, \n  573, 573, 573, 573, 573, 573, 573, 573, \n  573, 573, 573, 573, 573, 573, 573, 573, \n  573, 573, 573, 573, 573, 573, 573, 573, \n  573, 573, 573, 573, 573, 573, 573, 573, \n  573, 573, 573, 573, 573, 573, 573, 573, \n  573, 573, 573, 573, 573, 573, 573, 573, \n  573, 573, 573, 573, 573, 573, 573, 573, \n  573, 573, 573, 573, 573, 573, 573, 573, \n  573, 573, 573, 573, 573, 573, 573, 573, \n  573, 573, 573, 573, 573, 573, 573, 573, \n  573, 573, 573, 573, 573, 573, 573, 573, \n  573, 573, 573, 573, 573, 573, 573, 573, \n  573, 573, 573, 573, 573, 573, 573, 573, \n  573, 573, 573, 573, 573, 573, 573, 573, \n  573, 573, 573, 573, 573, 573, 573, 573, \n  573, 573, 573, 573, 573, 573, 573, 573, \n  573, 573, 573, 573, 573, 573, 573, 573, \n  573, 573, 573, 573, 573, 573, 573, 573, \n  573, 0, 0, 0, 0, 0, 0, 0, \n  0, 0, 0, 0, 0, 0, 0, 0, \n  0, 3969, 3969, 3969, 3969, 3969, 3969, 3969, \n  3969, 3969, 3969, 3969, 3969, 3969, 3969, 3969, \n  3969, 3969, 3969, 3969, 3969, 3969, 3969, 3969, \n  3969, 3969, 3969, 3969, 3969, 3969, 3969, 3969, \n  3969, 3969, 3969, 3969, 3969, 3969, 3969, 3969, \n  3969, 3969, 3969, 3969, 3969, 3969, 3969, 3969, \n  3969, 3969, 3969, 3969, 3969, 3969, 3969, 3969, \n  3969, 3969, 3969, 3969, 3969, 3969, 3969, 3969, \n  3969, 3969, 3969, 3969, 3969, 3969, 3969, 3969, \n  3969, 3969, 3969, 3969, 3969, 3969, 3969, 3969, \n  3969, 3969, 3969, 3969, 3969, 3969, 3969, 3969, \n  3969, 3969, 3969, 3969, 3969, 3969, 3969, 3969, \n  3969, 3969, 3969, 3969, 3969, 3969, 3969, 3969, \n  3969, 3969, 3969, 3969, 3969, 3969, 3969, 3969, \n  3969, 3969, 3969, 3969, 3969, 3969, 3969, 3969, \n  3969, 3969, 3969, 3969, 3969, 3969, 3969, 3969, \n  3969, 3969, 3969, 3969, 3969, 3969, 3969, 3969, \n  3969, 3969, 3969, 3969, 3969, 3969, 3969, 3969, \n  3969, 3969, 3969, 3969, 3969, 3969, 3969, 3969, \n  3969, 3969, 3969, 3969, 3969, 3969, 3969, 3969, \n  3969, 3969, 3969, 3969, 3969, 3969, 3969, 3969, \n  3969, 3969, 3969, 3969, 3969, 3969, 3969, 3969, \n  3969, 3969, 3969, 3969, 3969, 3969, 3969, 3969, \n  3969, 3969, 3969, 3969, 3969, 3969, 3969, 3969, \n  3969, 3969, 3969, 3969, 3969, 3969, 3969, 3969, \n  3969, 3969, 3969, 3969, 3969, 3969, 3969, 3969, \n  3969, 3969, 3969, 3969, 3969, 3969, 3969, 3969, \n  3969, 3969, 3969, 3969, 3969, 3969, 3969, 3969, \n  3969, 3969, 3969, 3969, 3969, 3969, 3969, 3969, \n  3969, 3969, 3969, 3969, 3969, 3969, 3969, 3969, \n  3969, 3969, 3969, 3969, 3969, 3969, 3969, 3969, \n  3969, 3969, 3969, 3969, 3969, 3969, 3969, 0, \n  0, };\n\nconst utf8proc_property_t utf8proc_properties[] = {\n  {0, 0, 0, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false,false,false,false, UTF8PROC_BOUNDCLASS_OTHER, 0},\n  {UTF8PROC_CATEGORY_CC, 0, UTF8PROC_BIDI_CLASS_BN, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, true, false, true, UTF8PROC_BOUNDCLASS_CONTROL, 0},\n  {UTF8PROC_CATEGORY_CC, 0, UTF8PROC_BIDI_CLASS_BN, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, true, UTF8PROC_BOUNDCLASS_CONTROL, 0},\n  {UTF8PROC_CATEGORY_CC, 0, UTF8PROC_BIDI_CLASS_S, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, true, UTF8PROC_BOUNDCLASS_CONTROL, 0},\n  {UTF8PROC_CATEGORY_CC, 0, UTF8PROC_BIDI_CLASS_B, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, true, UTF8PROC_BOUNDCLASS_LF, 0},\n  {UTF8PROC_CATEGORY_CC, 0, UTF8PROC_BIDI_CLASS_WS, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, true, UTF8PROC_BOUNDCLASS_CONTROL, 0},\n  {UTF8PROC_CATEGORY_CC, 0, UTF8PROC_BIDI_CLASS_B, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, true, UTF8PROC_BOUNDCLASS_CR, 0},\n  {UTF8PROC_CATEGORY_CC, 0, UTF8PROC_BIDI_CLASS_B, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, true, UTF8PROC_BOUNDCLASS_CONTROL, 0},\n  {UTF8PROC_CATEGORY_ZS, 0, UTF8PROC_BIDI_CLASS_WS, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_PO, 0, UTF8PROC_BIDI_CLASS_ON, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_PO, 0, UTF8PROC_BIDI_CLASS_ET, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SC, 0, UTF8PROC_BIDI_CLASS_ET, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_PS, 0, UTF8PROC_BIDI_CLASS_ON, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, true, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_PE, 0, UTF8PROC_BIDI_CLASS_ON, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, true, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SM, 0, UTF8PROC_BIDI_CLASS_ES, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_PO, 0, UTF8PROC_BIDI_CLASS_CS, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_PD, 0, UTF8PROC_BIDI_CLASS_ES, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_ND, 0, UTF8PROC_BIDI_CLASS_EN, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SM, 0, UTF8PROC_BIDI_CLASS_ON, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, 19924, -1, true, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SM, 0, UTF8PROC_BIDI_CLASS_ON, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, 19720, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SM, 0, UTF8PROC_BIDI_CLASS_ON, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, 19992, -1, true, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 0, -1, 97, -1, 0, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 2, -1, 98, -1, 9792, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 4, -1, 99, -1, 68, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 6, -1, 100, -1, 1088, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8, -1, 101, -1, 136, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 10, -1, 102, -1, 10336, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 12, -1, 103, -1, 1224, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 14, -1, 104, -1, 1360, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 16, -1, 105, -1, 204, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 18, -1, 106, -1, 1496, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 20, -1, 107, -1, 1632, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 22, -1, 108, -1, 1768, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 24, -1, 109, -1, 10744, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 26, -1, 110, -1, 272, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 28, -1, 111, -1, 340, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 30, -1, 112, -1, 11016, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 32, -1, 113, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 34, -1, 114, -1, 1904, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 36, -1, 115, -1, 2040, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 38, -1, 116, -1, 2176, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 40, -1, 117, -1, 408, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 42, -1, 118, -1, 11968, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 44, -1, 119, -1, 2312, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 46, -1, 120, -1, 12104, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 48, -1, 121, -1, 476, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 50, -1, 122, -1, 2448, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SK, 0, UTF8PROC_BIDI_CLASS_ON, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_PC, 0, UTF8PROC_BIDI_CLASS_ON, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 65, -1, 65, 544, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 66, -1, 66, 9860, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 67, -1, 67, 612, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 68, -1, 68, 1156, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 69, -1, 69, 680, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 70, -1, 70, 10404, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 71, -1, 71, 1292, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 72, -1, 72, 1428, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 73, -1, 73, 748, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 74, -1, 74, 1564, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 75, -1, 75, 1700, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 76, -1, 76, 1836, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 77, -1, 77, 10812, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 78, -1, 78, 816, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 79, -1, 79, 884, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 80, -1, 80, 11084, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 81, -1, 81, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 82, -1, 82, 1972, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 83, -1, 83, 2108, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 84, -1, 84, 2244, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 85, -1, 85, 952, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 86, -1, 86, 12036, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 87, -1, 87, 2380, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 88, -1, 88, 12172, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 89, -1, 89, 1020, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 90, -1, 90, 2516, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SM, 0, UTF8PROC_BIDI_CLASS_ON, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_ZS, 0, UTF8PROC_BIDI_CLASS_CS, UTF8PROC_DECOMP_TYPE_NOBREAK, 52, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SK, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 54, UINT16_MAX, -1, -1, -1, 4080, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SUPER, 0, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_PI, 0, UTF8PROC_BIDI_CLASS_ON, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, true, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_CF, 0, UTF8PROC_BIDI_CLASS_BN, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, true, true, UTF8PROC_BOUNDCLASS_CONTROL, 0},\n  {UTF8PROC_CATEGORY_SK, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 57, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ET, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SM, 0, UTF8PROC_BIDI_CLASS_ET, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_EN, UTF8PROC_DECOMP_TYPE_SUPER, 60, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_EN, UTF8PROC_DECOMP_TYPE_SUPER, 62, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SK, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 64, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 67, 67, 924, -1, 924, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SK, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 69, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_EN, UTF8PROC_DECOMP_TYPE_SUPER, 72, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SUPER, 28, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_PF, 0, UTF8PROC_BIDI_CLASS_ON, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, true, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_FRACTION, 74, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_FRACTION, 78, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_FRACTION, 82, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 86, 89, -1, 224, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 91, 94, -1, 225, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 96, 99, -1, 226, -1, 12308, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 101, 104, -1, 227, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 106, 109, -1, 228, -1, 2720, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 111, 114, -1, 229, -1, 3400, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 116, -1, 230, -1, 2992, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 118, 121, -1, 231, -1, 9928, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 123, 126, -1, 232, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 128, 131, -1, 233, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 133, 136, -1, 234, -1, 12716, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 138, 141, -1, 235, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 143, 146, -1, 236, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 148, 151, -1, 237, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 153, 156, -1, 238, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 158, 161, -1, 239, -1, 10472, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 163, -1, 240, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 165, 168, -1, 241, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 170, 173, -1, 242, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 175, 178, -1, 243, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 180, 183, -1, 244, -1, 12988, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 185, 188, -1, 245, -1, 3808, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 190, 193, -1, 246, -1, 3672, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 195, -1, 248, -1, 3536, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 197, 200, -1, 249, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 202, 205, -1, 250, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 207, 210, -1, 251, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 212, 215, -1, 252, -1, 2584, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 217, 220, -1, 253, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 222, -1, 254, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 224, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 227, UINT16_MAX, 192, -1, 192, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 230, UINT16_MAX, 193, -1, 193, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 233, UINT16_MAX, 194, -1, 194, 12376, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 236, UINT16_MAX, 195, -1, 195, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 239, UINT16_MAX, 196, -1, 196, 2788, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 242, UINT16_MAX, 197, -1, 197, 3468, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 198, -1, 198, 3060, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 245, UINT16_MAX, 199, -1, 199, 9996, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 248, UINT16_MAX, 200, -1, 200, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 251, UINT16_MAX, 201, -1, 201, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 254, UINT16_MAX, 202, -1, 202, 12784, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 257, UINT16_MAX, 203, -1, 203, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 260, UINT16_MAX, 204, -1, 204, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 263, UINT16_MAX, 205, -1, 205, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 266, UINT16_MAX, 206, -1, 206, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 269, UINT16_MAX, 207, -1, 207, 10540, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 208, -1, 208, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 272, UINT16_MAX, 209, -1, 209, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 275, UINT16_MAX, 210, -1, 210, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 278, UINT16_MAX, 211, -1, 211, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 281, UINT16_MAX, 212, -1, 212, 13056, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 284, UINT16_MAX, 213, -1, 213, 3876, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 287, UINT16_MAX, 214, -1, 214, 3740, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 216, -1, 216, 3604, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 290, UINT16_MAX, 217, -1, 217, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 293, UINT16_MAX, 218, -1, 218, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 296, UINT16_MAX, 219, -1, 219, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 299, UINT16_MAX, 220, -1, 220, 2652, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 302, UINT16_MAX, 221, -1, 221, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 222, -1, 222, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 305, UINT16_MAX, 376, -1, 376, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 308, 311, -1, 257, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 313, UINT16_MAX, 256, -1, 256, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 316, 319, -1, 259, -1, 12580, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 321, UINT16_MAX, 258, -1, 258, 12648, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 324, 327, -1, 261, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 329, UINT16_MAX, 260, -1, 260, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 332, 335, -1, 263, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 337, UINT16_MAX, 262, -1, 262, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 340, 343, -1, 265, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 345, UINT16_MAX, 264, -1, 264, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 348, 351, -1, 267, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 353, UINT16_MAX, 266, -1, 266, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 356, 359, -1, 269, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 361, UINT16_MAX, 268, -1, 268, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 364, 367, -1, 271, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 369, UINT16_MAX, 270, -1, 270, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 372, -1, 273, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 272, -1, 272, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 374, 377, -1, 275, -1, 10064, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 379, UINT16_MAX, 274, -1, 274, 10132, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 382, 385, -1, 277, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 387, UINT16_MAX, 276, -1, 276, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 390, 393, -1, 279, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 395, UINT16_MAX, 278, -1, 278, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 398, 401, -1, 281, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 403, UINT16_MAX, 280, -1, 280, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 406, 409, -1, 283, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 411, UINT16_MAX, 282, -1, 282, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 414, 417, -1, 285, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 419, UINT16_MAX, 284, -1, 284, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 422, 425, -1, 287, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 427, UINT16_MAX, 286, -1, 286, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 430, 433, -1, 289, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 435, UINT16_MAX, 288, -1, 288, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 438, 441, -1, 291, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 443, UINT16_MAX, 290, -1, 290, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 446, 449, -1, 293, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 451, UINT16_MAX, 292, -1, 292, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 454, -1, 295, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 294, -1, 294, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 456, 459, -1, 297, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 461, UINT16_MAX, 296, -1, 296, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 464, 467, -1, 299, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 469, UINT16_MAX, 298, -1, 298, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 472, 475, -1, 301, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 477, UINT16_MAX, 300, -1, 300, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 480, 483, -1, 303, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 485, UINT16_MAX, 302, -1, 302, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 488, 491, -1, 105, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 73, -1, 73, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 494, 497, -1, 307, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 499, UINT16_MAX, 306, -1, 306, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 502, 505, -1, 309, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 507, UINT16_MAX, 308, -1, 308, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 510, 513, -1, 311, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 515, UINT16_MAX, 310, -1, 310, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 518, 521, -1, 314, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 523, UINT16_MAX, 313, -1, 313, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 526, 529, -1, 316, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 531, UINT16_MAX, 315, -1, 315, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 534, 537, -1, 318, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 539, UINT16_MAX, 317, -1, 317, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 542, 545, -1, 320, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 547, UINT16_MAX, 319, -1, 319, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 550, -1, 322, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 321, -1, 321, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 552, 555, -1, 324, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 557, UINT16_MAX, 323, -1, 323, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 560, 563, -1, 326, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 565, UINT16_MAX, 325, -1, 325, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 568, 571, -1, 328, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 573, UINT16_MAX, 327, -1, 327, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 576, 576, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 579, -1, 331, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 330, -1, 330, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 581, 584, -1, 333, -1, 10880, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 586, UINT16_MAX, 332, -1, 332, 10948, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 589, 592, -1, 335, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 594, UINT16_MAX, 334, -1, 334, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 597, 600, -1, 337, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 602, UINT16_MAX, 336, -1, 336, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 605, -1, 339, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 338, -1, 338, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 607, 610, -1, 341, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 612, UINT16_MAX, 340, -1, 340, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 615, 618, -1, 343, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 620, UINT16_MAX, 342, -1, 342, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 623, 626, -1, 345, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 628, UINT16_MAX, 344, -1, 344, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 631, 634, -1, 347, -1, 11288, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 636, UINT16_MAX, 346, -1, 346, 11356, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 639, 642, -1, 349, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 644, UINT16_MAX, 348, -1, 348, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 647, 650, -1, 351, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 652, UINT16_MAX, 350, -1, 350, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 655, 658, -1, 353, -1, 11424, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 660, UINT16_MAX, 352, -1, 352, 11492, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 663, 666, -1, 355, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 668, UINT16_MAX, 354, -1, 354, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 671, 674, -1, 357, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 676, UINT16_MAX, 356, -1, 356, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 679, -1, 359, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 358, -1, 358, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 681, 684, -1, 361, -1, 11696, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 686, UINT16_MAX, 360, -1, 360, 11764, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 689, 692, -1, 363, -1, 11832, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 694, UINT16_MAX, 362, -1, 362, 11900, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 697, 700, -1, 365, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 702, UINT16_MAX, 364, -1, 364, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 705, 708, -1, 367, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 710, UINT16_MAX, 366, -1, 366, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 713, 716, -1, 369, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 718, UINT16_MAX, 368, -1, 368, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 721, 724, -1, 371, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 726, UINT16_MAX, 370, -1, 370, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 729, 732, -1, 373, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 734, UINT16_MAX, 372, -1, 372, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 737, 740, -1, 375, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 742, UINT16_MAX, 374, -1, 374, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 745, 748, -1, 255, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 750, 753, -1, 378, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 755, UINT16_MAX, 377, -1, 377, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 758, 761, -1, 380, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 763, UINT16_MAX, 379, -1, 379, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 766, 769, -1, 382, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 771, UINT16_MAX, 381, -1, 381, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 36, 36, 83, -1, 83, 12240, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 579, -1, 579, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 774, -1, 595, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 776, -1, 387, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 386, -1, 386, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 778, -1, 389, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 388, -1, 388, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 780, -1, 596, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 782, -1, 392, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 391, -1, 391, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 784, -1, 598, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 786, -1, 599, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 788, -1, 396, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 395, -1, 395, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 790, -1, 477, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 792, -1, 601, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 794, -1, 603, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 796, -1, 402, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 401, -1, 401, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 798, -1, 608, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 800, -1, 611, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 502, -1, 502, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 802, -1, 617, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 804, -1, 616, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 806, -1, 409, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 408, -1, 408, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 573, -1, 573, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 808, -1, 623, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 810, -1, 626, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 544, -1, 544, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 812, -1, 629, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 814, 817, -1, 417, -1, 13260, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 819, UINT16_MAX, 416, -1, 416, 13328, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 822, -1, 419, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 418, -1, 418, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 824, -1, 421, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 420, -1, 420, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 826, -1, 640, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 828, -1, 424, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 423, -1, 423, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 830, -1, 643, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 832, -1, 429, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 428, -1, 428, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 834, -1, 648, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 836, 839, -1, 432, -1, 13396, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 841, UINT16_MAX, 431, -1, 431, 13464, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 844, -1, 650, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 846, -1, 651, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 848, -1, 436, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 435, -1, 435, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 850, -1, 438, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 437, -1, 437, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 852, -1, 658, -1, 3264, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 854, -1, 441, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 440, -1, 440, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 856, -1, 445, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 444, -1, 444, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 503, -1, 503, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 858, 861, -1, 454, 453, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LT, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 863, 861, 452, 454, 453, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 866, UINT16_MAX, 452, -1, 453, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 869, 872, -1, 457, 456, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LT, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 874, 872, 455, 457, 456, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 877, UINT16_MAX, 455, -1, 456, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 880, 883, -1, 460, 459, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LT, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 885, 883, 458, 460, 459, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 888, UINT16_MAX, 458, -1, 459, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 891, 894, -1, 462, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 896, UINT16_MAX, 461, -1, 461, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 899, 902, -1, 464, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 904, UINT16_MAX, 463, -1, 463, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 907, 910, -1, 466, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 912, UINT16_MAX, 465, -1, 465, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 915, 918, -1, 468, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 920, UINT16_MAX, 467, -1, 467, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 923, 926, -1, 470, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 928, UINT16_MAX, 469, -1, 469, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 931, 934, -1, 472, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 936, UINT16_MAX, 471, -1, 471, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 939, 942, -1, 474, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 944, UINT16_MAX, 473, -1, 473, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 947, 950, -1, 476, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 952, UINT16_MAX, 475, -1, 475, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 398, -1, 398, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 955, 958, -1, 479, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 960, UINT16_MAX, 478, -1, 478, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 963, 966, -1, 481, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 968, UINT16_MAX, 480, -1, 480, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 971, 974, -1, 483, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 976, UINT16_MAX, 482, -1, 482, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 979, -1, 485, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 484, -1, 484, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 981, 984, -1, 487, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 986, UINT16_MAX, 486, -1, 486, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 989, 992, -1, 489, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 994, UINT16_MAX, 488, -1, 488, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 997, 1000, -1, 491, -1, 3128, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 1002, UINT16_MAX, 490, -1, 490, 3196, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 1005, 1008, -1, 493, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 1010, UINT16_MAX, 492, -1, 492, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 1013, 1016, -1, 495, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 1018, UINT16_MAX, 494, -1, 494, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 1021, 1021, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 1024, 1027, -1, 499, 498, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LT, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 1029, 1027, 497, 499, 498, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 1032, UINT16_MAX, 497, -1, 498, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 1035, 1038, -1, 501, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 1040, UINT16_MAX, 500, -1, 500, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1043, -1, 405, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1045, -1, 447, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 1047, 1050, -1, 505, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 1052, UINT16_MAX, 504, -1, 504, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 1055, 1058, -1, 507, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 1060, UINT16_MAX, 506, -1, 506, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 1063, 1066, -1, 509, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 1068, UINT16_MAX, 508, -1, 508, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 1071, 1074, -1, 511, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 1076, UINT16_MAX, 510, -1, 510, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 1079, 1082, -1, 513, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 1084, UINT16_MAX, 512, -1, 512, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 1087, 1090, -1, 515, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 1092, UINT16_MAX, 514, -1, 514, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 1095, 1098, -1, 517, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 1100, UINT16_MAX, 516, -1, 516, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 1103, 1106, -1, 519, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 1108, UINT16_MAX, 518, -1, 518, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 1111, 1114, -1, 521, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 1116, UINT16_MAX, 520, -1, 520, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 1119, 1122, -1, 523, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 1124, UINT16_MAX, 522, -1, 522, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 1127, 1130, -1, 525, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 1132, UINT16_MAX, 524, -1, 524, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 1135, 1138, -1, 527, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 1140, UINT16_MAX, 526, -1, 526, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 1143, 1146, -1, 529, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 1148, UINT16_MAX, 528, -1, 528, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 1151, 1154, -1, 531, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 1156, UINT16_MAX, 530, -1, 530, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 1159, 1162, -1, 533, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 1164, UINT16_MAX, 532, -1, 532, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 1167, 1170, -1, 535, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 1172, UINT16_MAX, 534, -1, 534, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 1175, 1178, -1, 537, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 1180, UINT16_MAX, 536, -1, 536, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 1183, 1186, -1, 539, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 1188, UINT16_MAX, 538, -1, 538, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1191, -1, 541, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 540, -1, 540, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 1193, 1196, -1, 543, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 1198, UINT16_MAX, 542, -1, 542, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1201, -1, 414, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1203, -1, 547, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 546, -1, 546, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1205, -1, 549, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 548, -1, 548, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 1207, 1210, -1, 551, -1, 2856, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 1212, UINT16_MAX, 550, -1, 550, 2924, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 1215, 1218, -1, 553, -1, 10200, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 1220, UINT16_MAX, 552, -1, 552, 10268, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 1223, 1226, -1, 555, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 1228, UINT16_MAX, 554, -1, 554, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 1231, 1234, -1, 557, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 1236, UINT16_MAX, 556, -1, 556, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 1239, 1242, -1, 559, -1, 3944, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 1244, UINT16_MAX, 558, -1, 558, 4012, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 1247, 1250, -1, 561, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 1252, UINT16_MAX, 560, -1, 560, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 1255, 1258, -1, 563, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 1260, UINT16_MAX, 562, -1, 562, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1263, -1, 11365, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1265, -1, 572, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 571, -1, 571, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1267, -1, 410, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1269, -1, 11366, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 11390, -1, 11390, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 11391, -1, 11391, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1271, -1, 578, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 577, -1, 577, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1273, -1, 384, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1275, -1, 649, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1277, -1, 652, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1279, -1, 583, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 582, -1, 582, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1281, -1, 585, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 584, -1, 584, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1283, -1, 587, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 586, -1, 586, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1285, -1, 589, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 588, -1, 588, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1287, -1, 591, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 590, -1, 590, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 11375, -1, 11375, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 11373, -1, 11373, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 11376, -1, 11376, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 385, -1, 385, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 390, -1, 390, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 393, -1, 393, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 394, -1, 394, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 399, -1, 399, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 400, -1, 400, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 42923, -1, 42923, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 403, -1, 403, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 42924, -1, 42924, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 404, -1, 404, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 42893, -1, 42893, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 42922, -1, 42922, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 407, -1, 407, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 406, -1, 406, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 11362, -1, 11362, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 42925, -1, 42925, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 412, -1, 412, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 11374, -1, 11374, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 413, -1, 413, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 415, -1, 415, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 11364, -1, 11364, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 422, -1, 422, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 425, -1, 425, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 42929, -1, 42929, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 430, -1, 430, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 580, -1, 580, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 433, -1, 433, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 434, -1, 434, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 581, -1, 581, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 439, -1, 439, 3332, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 42930, -1, 42930, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 42928, -1, 42928, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LM, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SUPER, 14, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LM, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SUPER, 1289, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LM, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SUPER, 18, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LM, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SUPER, 34, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LM, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SUPER, 1291, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LM, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SUPER, 1293, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LM, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SUPER, 1295, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LM, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SUPER, 44, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LM, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SUPER, 48, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LM, 0, UTF8PROC_BIDI_CLASS_ON, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LM, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SK, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 1297, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SK, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 1300, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SK, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 1303, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SK, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 1306, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SK, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 1309, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SK, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 1312, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LM, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SUPER, 800, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LM, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SUPER, 22, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LM, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SUPER, 36, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LM, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SUPER, 46, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LM, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SUPER, 1315, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_MN, 230, UTF8PROC_BIDI_CLASS_NSM, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, 0, false, false, false, false, UTF8PROC_BOUNDCLASS_EXTEND, 0},\n  {UTF8PROC_CATEGORY_MN, 230, UTF8PROC_BIDI_CLASS_NSM, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, 1, false, false, false, false, UTF8PROC_BOUNDCLASS_EXTEND, 0},\n  {UTF8PROC_CATEGORY_MN, 230, UTF8PROC_BIDI_CLASS_NSM, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, 2, false, false, false, false, UTF8PROC_BOUNDCLASS_EXTEND, 0},\n  {UTF8PROC_CATEGORY_MN, 230, UTF8PROC_BIDI_CLASS_NSM, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, 3, false, false, false, false, UTF8PROC_BOUNDCLASS_EXTEND, 0},\n  {UTF8PROC_CATEGORY_MN, 230, UTF8PROC_BIDI_CLASS_NSM, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, 7, false, false, false, false, UTF8PROC_BOUNDCLASS_EXTEND, 0},\n  {UTF8PROC_CATEGORY_MN, 230, UTF8PROC_BIDI_CLASS_NSM, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_EXTEND, 0},\n  {UTF8PROC_CATEGORY_MN, 230, UTF8PROC_BIDI_CLASS_NSM, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, 8, false, false, false, false, UTF8PROC_BOUNDCLASS_EXTEND, 0},\n  {UTF8PROC_CATEGORY_MN, 230, UTF8PROC_BIDI_CLASS_NSM, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, 10, false, false, false, false, UTF8PROC_BOUNDCLASS_EXTEND, 0},\n  {UTF8PROC_CATEGORY_MN, 230, UTF8PROC_BIDI_CLASS_NSM, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, 4, false, false, false, false, UTF8PROC_BOUNDCLASS_EXTEND, 0},\n  {UTF8PROC_CATEGORY_MN, 230, UTF8PROC_BIDI_CLASS_NSM, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, 46, false, false, false, false, UTF8PROC_BOUNDCLASS_EXTEND, 0},\n  {UTF8PROC_CATEGORY_MN, 230, UTF8PROC_BIDI_CLASS_NSM, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, 5, false, false, false, false, UTF8PROC_BOUNDCLASS_EXTEND, 0},\n  {UTF8PROC_CATEGORY_MN, 230, UTF8PROC_BIDI_CLASS_NSM, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, 12, false, false, false, false, UTF8PROC_BOUNDCLASS_EXTEND, 0},\n  {UTF8PROC_CATEGORY_MN, 230, UTF8PROC_BIDI_CLASS_NSM, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, 11, false, false, false, false, UTF8PROC_BOUNDCLASS_EXTEND, 0},\n  {UTF8PROC_CATEGORY_MN, 230, UTF8PROC_BIDI_CLASS_NSM, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, 14, false, false, false, false, UTF8PROC_BOUNDCLASS_EXTEND, 0},\n  {UTF8PROC_CATEGORY_MN, 230, UTF8PROC_BIDI_CLASS_NSM, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, 15, false, false, false, false, UTF8PROC_BOUNDCLASS_EXTEND, 0},\n  {UTF8PROC_CATEGORY_MN, 230, UTF8PROC_BIDI_CLASS_NSM, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, 47, false, false, false, false, UTF8PROC_BOUNDCLASS_EXTEND, 0},\n  {UTF8PROC_CATEGORY_MN, 230, UTF8PROC_BIDI_CLASS_NSM, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, 48, false, false, false, false, UTF8PROC_BOUNDCLASS_EXTEND, 0},\n  {UTF8PROC_CATEGORY_MN, 232, UTF8PROC_BIDI_CLASS_NSM, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_EXTEND, 0},\n  {UTF8PROC_CATEGORY_MN, 220, UTF8PROC_BIDI_CLASS_NSM, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_EXTEND, 0},\n  {UTF8PROC_CATEGORY_MN, 216, UTF8PROC_BIDI_CLASS_NSM, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, 13, false, false, false, false, UTF8PROC_BOUNDCLASS_EXTEND, 0},\n  {UTF8PROC_CATEGORY_MN, 202, UTF8PROC_BIDI_CLASS_NSM, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_EXTEND, 0},\n  {UTF8PROC_CATEGORY_MN, 220, UTF8PROC_BIDI_CLASS_NSM, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, 40, false, false, false, false, UTF8PROC_BOUNDCLASS_EXTEND, 0},\n  {UTF8PROC_CATEGORY_MN, 220, UTF8PROC_BIDI_CLASS_NSM, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, 45, false, false, false, false, UTF8PROC_BOUNDCLASS_EXTEND, 0},\n  {UTF8PROC_CATEGORY_MN, 220, UTF8PROC_BIDI_CLASS_NSM, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, 39, false, false, false, false, UTF8PROC_BOUNDCLASS_EXTEND, 0},\n  {UTF8PROC_CATEGORY_MN, 220, UTF8PROC_BIDI_CLASS_NSM, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, 16, false, false, false, false, UTF8PROC_BOUNDCLASS_EXTEND, 0},\n  {UTF8PROC_CATEGORY_MN, 202, UTF8PROC_BIDI_CLASS_NSM, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, 6, false, false, false, false, UTF8PROC_BOUNDCLASS_EXTEND, 0},\n  {UTF8PROC_CATEGORY_MN, 202, UTF8PROC_BIDI_CLASS_NSM, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, 9, false, false, false, false, UTF8PROC_BOUNDCLASS_EXTEND, 0},\n  {UTF8PROC_CATEGORY_MN, 220, UTF8PROC_BIDI_CLASS_NSM, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, 42, false, false, false, false, UTF8PROC_BOUNDCLASS_EXTEND, 0},\n  {UTF8PROC_CATEGORY_MN, 220, UTF8PROC_BIDI_CLASS_NSM, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, 44, false, false, false, false, UTF8PROC_BOUNDCLASS_EXTEND, 0},\n  {UTF8PROC_CATEGORY_MN, 220, UTF8PROC_BIDI_CLASS_NSM, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, 43, false, false, false, false, UTF8PROC_BOUNDCLASS_EXTEND, 0},\n  {UTF8PROC_CATEGORY_MN, 220, UTF8PROC_BIDI_CLASS_NSM, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, 41, false, false, false, false, UTF8PROC_BOUNDCLASS_EXTEND, 0},\n  {UTF8PROC_CATEGORY_MN, 1, UTF8PROC_BIDI_CLASS_NSM, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_EXTEND, 0},\n  {UTF8PROC_CATEGORY_MN, 1, UTF8PROC_BIDI_CLASS_NSM, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, 51, false, false, false, false, UTF8PROC_BOUNDCLASS_EXTEND, 0},\n  {UTF8PROC_CATEGORY_MN, 230, UTF8PROC_BIDI_CLASS_NSM, 0, 1317, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_EXTEND, 0},\n  {UTF8PROC_CATEGORY_MN, 230, UTF8PROC_BIDI_CLASS_NSM, 0, 1319, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_EXTEND, 0},\n  {UTF8PROC_CATEGORY_MN, 230, UTF8PROC_BIDI_CLASS_NSM, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, 49, false, false, false, false, UTF8PROC_BOUNDCLASS_EXTEND, 0},\n  {UTF8PROC_CATEGORY_MN, 230, UTF8PROC_BIDI_CLASS_NSM, 0, 1321, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_EXTEND, 0},\n  {UTF8PROC_CATEGORY_MN, 230, UTF8PROC_BIDI_CLASS_NSM, 0, 1323, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_EXTEND, 0},\n  {UTF8PROC_CATEGORY_MN, 240, UTF8PROC_BIDI_CLASS_NSM, 0, UINT16_MAX, 1326, 921, -1, 921, -1, 50, false, false, false, false, UTF8PROC_BOUNDCLASS_EXTEND, 0},\n  {UTF8PROC_CATEGORY_MN, 0, UTF8PROC_BIDI_CLASS_NSM, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, true, false, UTF8PROC_BOUNDCLASS_EXTEND, 0},\n  {UTF8PROC_CATEGORY_MN, 233, UTF8PROC_BIDI_CLASS_NSM, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_EXTEND, 0},\n  {UTF8PROC_CATEGORY_MN, 234, UTF8PROC_BIDI_CLASS_NSM, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_EXTEND, 0},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1328, -1, 881, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 880, -1, 880, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1330, -1, 883, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 882, -1, 882, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LM, 0, UTF8PROC_BIDI_CLASS_ON, 0, 1332, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1334, -1, 887, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 886, -1, 886, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LM, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 1336, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1021, -1, 1021, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1022, -1, 1022, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1023, -1, 1023, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_PO, 0, UTF8PROC_BIDI_CLASS_ON, 0, 1339, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1341, -1, 1011, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SK, 0, UTF8PROC_BIDI_CLASS_ON, 0, 1343, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 1346, 1349, -1, 940, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_PO, 0, UTF8PROC_BIDI_CLASS_ON, 0, 1351, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 1353, 1356, -1, 941, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 1358, 1361, -1, 942, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 1363, 1366, -1, 943, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 1368, 1371, -1, 972, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 1373, 1376, -1, 973, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 1378, 1381, -1, 974, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 1383, 1386, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1390, -1, 945, -1, 4148, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1392, -1, 946, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1394, -1, 947, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1396, -1, 948, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1398, -1, 949, -1, 4216, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1400, -1, 950, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1402, -1, 951, -1, 4284, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1404, -1, 952, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1326, -1, 953, -1, 4352, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1406, -1, 954, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1408, -1, 955, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 67, -1, 956, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1410, -1, 957, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1412, -1, 958, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1414, -1, 959, -1, 4420, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1416, -1, 960, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1418, -1, 961, -1, 18428, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1420, -1, 963, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1422, -1, 964, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1424, -1, 965, -1, 4488, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1426, -1, 966, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1428, -1, 967, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1430, -1, 968, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1432, -1, 969, -1, 4556, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 1434, 1437, -1, 970, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 1439, 1442, -1, 971, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 1444, UINT16_MAX, 902, -1, 902, 17884, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 1447, UINT16_MAX, 904, -1, 904, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 1450, UINT16_MAX, 905, -1, 905, 18088, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 1453, UINT16_MAX, 906, -1, 906, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 1456, 1459, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 913, -1, 913, 4692, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 914, -1, 914, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 915, -1, 915, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 916, -1, 916, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 917, -1, 917, 4760, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 918, -1, 918, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 919, -1, 919, 4828, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 920, -1, 920, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 921, -1, 921, 4896, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 922, -1, 922, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 923, -1, 923, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 924, -1, 924, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 925, -1, 925, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 926, -1, 926, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 927, -1, 927, 5100, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 928, -1, 928, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 929, -1, 929, 18360, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1420, 931, -1, 931, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 931, -1, 931, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 932, -1, 932, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 933, -1, 933, 5032, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 934, -1, 934, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 935, -1, 935, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 936, -1, 936, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 937, -1, 937, 5168, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 1463, UINT16_MAX, 938, -1, 938, 4624, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 1466, UINT16_MAX, 939, -1, 939, 4964, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 1469, UINT16_MAX, 908, -1, 908, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 1472, UINT16_MAX, 910, -1, 910, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 1475, UINT16_MAX, 911, -1, 911, 18564, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1478, -1, 983, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 1392, 1392, 914, -1, 914, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 1404, 1404, 920, -1, 920, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 1480, UINT16_MAX, -1, -1, -1, 5236, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 1482, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 1485, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 1426, 1426, 934, -1, 934, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 1416, 1416, 928, -1, 928, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 975, -1, 975, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1488, -1, 985, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 984, -1, 984, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1490, -1, 987, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 986, -1, 986, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1492, -1, 989, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 988, -1, 988, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1494, -1, 991, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 990, -1, 990, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1496, -1, 993, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 992, -1, 992, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1498, -1, 995, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 994, -1, 994, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1500, -1, 997, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 996, -1, 996, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1502, -1, 999, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 998, -1, 998, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1504, -1, 1001, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1000, -1, 1000, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1506, -1, 1003, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1002, -1, 1002, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1508, -1, 1005, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1004, -1, 1004, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1510, -1, 1007, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1006, -1, 1006, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 1406, 1406, 922, -1, 922, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 1418, 1418, 929, -1, 929, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 1512, UINT16_MAX, 1017, -1, 1017, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 895, -1, 895, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 1514, 1404, -1, 952, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 1398, 1398, 917, -1, 917, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1516, -1, 1016, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1015, -1, 1015, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 1518, 1520, -1, 1010, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1522, -1, 1019, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1018, -1, 1018, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1524, -1, 891, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1526, -1, 892, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1528, -1, 893, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 1530, 1533, -1, 1104, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 1535, 1538, -1, 1105, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1540, -1, 1106, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 1542, 1545, -1, 1107, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1547, -1, 1108, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1549, -1, 1109, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1551, -1, 1110, -1, 5440, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 1553, 1556, -1, 1111, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1558, -1, 1112, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1560, -1, 1113, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1562, -1, 1114, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1564, -1, 1115, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 1566, 1569, -1, 1116, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 1571, 1574, -1, 1117, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 1576, 1579, -1, 1118, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1581, -1, 1119, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1583, -1, 1072, -1, 6392, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1585, -1, 1073, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1587, -1, 1074, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1589, -1, 1075, -1, 5372, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1591, -1, 1076, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1593, -1, 1077, -1, 5304, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1595, -1, 1078, -1, 6256, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1597, -1, 1079, -1, 6664, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1599, -1, 1080, -1, 5576, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 1601, 1604, -1, 1081, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1606, -1, 1082, -1, 5508, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1608, -1, 1083, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1610, -1, 1084, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1612, -1, 1085, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1614, -1, 1086, -1, 6800, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1616, -1, 1087, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1618, -1, 1088, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1620, -1, 1089, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1622, -1, 1090, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1624, -1, 1091, -1, 5644, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1626, -1, 1092, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1628, -1, 1093, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1630, -1, 1094, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1632, -1, 1095, -1, 7208, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1634, -1, 1096, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1636, -1, 1097, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1638, -1, 1098, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1640, -1, 1099, -1, 7344, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1642, -1, 1100, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1644, -1, 1101, -1, 7072, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1646, -1, 1102, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1648, -1, 1103, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1040, -1, 1040, 6460, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1041, -1, 1041, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1042, -1, 1042, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1043, -1, 1043, 5848, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1044, -1, 1044, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1045, -1, 1045, 5780, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1046, -1, 1046, 6324, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1047, -1, 1047, 6732, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1048, -1, 1048, 5712, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 1650, UINT16_MAX, 1049, -1, 1049, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1050, -1, 1050, 5984, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1051, -1, 1051, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1052, -1, 1052, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1053, -1, 1053, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1054, -1, 1054, 6868, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1055, -1, 1055, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1056, -1, 1056, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1057, -1, 1057, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1058, -1, 1058, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1059, -1, 1059, 6052, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1060, -1, 1060, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1061, -1, 1061, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1062, -1, 1062, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1063, -1, 1063, 7276, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1064, -1, 1064, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1065, -1, 1065, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1066, -1, 1066, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1067, -1, 1067, 7412, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1068, -1, 1068, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1069, -1, 1069, 7140, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1070, -1, 1070, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1071, -1, 1071, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 1653, UINT16_MAX, 1024, -1, 1024, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 1656, UINT16_MAX, 1025, -1, 1025, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1026, -1, 1026, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 1659, UINT16_MAX, 1027, -1, 1027, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1028, -1, 1028, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1029, -1, 1029, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1030, -1, 1030, 5916, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 1662, UINT16_MAX, 1031, -1, 1031, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1032, -1, 1032, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1033, -1, 1033, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1034, -1, 1034, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1035, -1, 1035, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 1665, UINT16_MAX, 1036, -1, 1036, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 1668, UINT16_MAX, 1037, -1, 1037, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 1671, UINT16_MAX, 1038, -1, 1038, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1039, -1, 1039, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1674, -1, 1121, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1120, -1, 1120, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1676, -1, 1123, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1122, -1, 1122, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1678, -1, 1125, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1124, -1, 1124, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1680, -1, 1127, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1126, -1, 1126, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1682, -1, 1129, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1128, -1, 1128, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1684, -1, 1131, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1130, -1, 1130, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1686, -1, 1133, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1132, -1, 1132, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1688, -1, 1135, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1134, -1, 1134, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1690, -1, 1137, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1136, -1, 1136, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1692, -1, 1139, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1138, -1, 1138, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1694, -1, 1141, -1, 6120, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1140, -1, 1140, 6188, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 1696, 1699, -1, 1143, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 1701, UINT16_MAX, 1142, -1, 1142, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1704, -1, 1145, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1144, -1, 1144, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1706, -1, 1147, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1146, -1, 1146, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1708, -1, 1149, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1148, -1, 1148, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1710, -1, 1151, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1150, -1, 1150, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1712, -1, 1153, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1152, -1, 1152, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_ME, 0, UTF8PROC_BIDI_CLASS_NSM, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_EXTEND, 0},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1714, -1, 1163, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1162, -1, 1162, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1716, -1, 1165, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1164, -1, 1164, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1718, -1, 1167, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1166, -1, 1166, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1720, -1, 1169, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1168, -1, 1168, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1722, -1, 1171, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1170, -1, 1170, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1724, -1, 1173, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1172, -1, 1172, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1726, -1, 1175, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1174, -1, 1174, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1728, -1, 1177, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1176, -1, 1176, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1730, -1, 1179, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1178, -1, 1178, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1732, -1, 1181, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1180, -1, 1180, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1734, -1, 1183, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1182, -1, 1182, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1736, -1, 1185, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1184, -1, 1184, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1738, -1, 1187, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1186, -1, 1186, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1740, -1, 1189, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1188, -1, 1188, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1742, -1, 1191, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1190, -1, 1190, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1744, -1, 1193, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1192, -1, 1192, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1746, -1, 1195, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1194, -1, 1194, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1748, -1, 1197, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1196, -1, 1196, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1750, -1, 1199, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1198, -1, 1198, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1752, -1, 1201, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1200, -1, 1200, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1754, -1, 1203, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1202, -1, 1202, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1756, -1, 1205, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1204, -1, 1204, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1758, -1, 1207, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1206, -1, 1206, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1760, -1, 1209, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1208, -1, 1208, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1762, -1, 1211, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1210, -1, 1210, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1764, -1, 1213, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1212, -1, 1212, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1766, -1, 1215, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1214, -1, 1214, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1768, -1, 1231, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 1770, 1773, -1, 1218, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 1775, UINT16_MAX, 1217, -1, 1217, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1778, -1, 1220, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1219, -1, 1219, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1780, -1, 1222, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1221, -1, 1221, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1782, -1, 1224, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1223, -1, 1223, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1784, -1, 1226, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1225, -1, 1225, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1786, -1, 1228, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1227, -1, 1227, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1788, -1, 1230, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1229, -1, 1229, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1216, -1, 1216, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 1790, 1793, -1, 1233, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 1795, UINT16_MAX, 1232, -1, 1232, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 1798, 1801, -1, 1235, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 1803, UINT16_MAX, 1234, -1, 1234, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1806, -1, 1237, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1236, -1, 1236, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 1808, 1811, -1, 1239, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 1813, UINT16_MAX, 1238, -1, 1238, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1816, -1, 1241, -1, 6528, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1240, -1, 1240, 6596, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 1818, 1821, -1, 1243, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 1823, UINT16_MAX, 1242, -1, 1242, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 1826, 1829, -1, 1245, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 1831, UINT16_MAX, 1244, -1, 1244, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 1834, 1837, -1, 1247, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 1839, UINT16_MAX, 1246, -1, 1246, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1842, -1, 1249, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1248, -1, 1248, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 1844, 1847, -1, 1251, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 1849, UINT16_MAX, 1250, -1, 1250, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 1852, 1855, -1, 1253, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 1857, UINT16_MAX, 1252, -1, 1252, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 1860, 1863, -1, 1255, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 1865, UINT16_MAX, 1254, -1, 1254, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1868, -1, 1257, -1, 6936, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1256, -1, 1256, 7004, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 1870, 1873, -1, 1259, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 1875, UINT16_MAX, 1258, -1, 1258, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 1878, 1881, -1, 1261, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 1883, UINT16_MAX, 1260, -1, 1260, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 1886, 1889, -1, 1263, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 1891, UINT16_MAX, 1262, -1, 1262, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 1894, 1897, -1, 1265, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 1899, UINT16_MAX, 1264, -1, 1264, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 1902, 1905, -1, 1267, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 1907, UINT16_MAX, 1266, -1, 1266, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 1910, 1913, -1, 1269, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 1915, UINT16_MAX, 1268, -1, 1268, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1918, -1, 1271, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1270, -1, 1270, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 1920, 1923, -1, 1273, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 1925, UINT16_MAX, 1272, -1, 1272, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1928, -1, 1275, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1274, -1, 1274, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1930, -1, 1277, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1276, -1, 1276, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1932, -1, 1279, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1278, -1, 1278, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1934, -1, 1281, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1280, -1, 1280, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1936, -1, 1283, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1282, -1, 1282, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1938, -1, 1285, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1284, -1, 1284, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1940, -1, 1287, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1286, -1, 1286, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1942, -1, 1289, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1288, -1, 1288, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1944, -1, 1291, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1290, -1, 1290, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1946, -1, 1293, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1292, -1, 1292, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1948, -1, 1295, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1294, -1, 1294, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1950, -1, 1297, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1296, -1, 1296, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1952, -1, 1299, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1298, -1, 1298, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1954, -1, 1301, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1300, -1, 1300, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1956, -1, 1303, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1302, -1, 1302, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1958, -1, 1305, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1304, -1, 1304, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1960, -1, 1307, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1306, -1, 1306, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1962, -1, 1309, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1308, -1, 1308, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1964, -1, 1311, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1310, -1, 1310, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1966, -1, 1313, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1312, -1, 1312, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1968, -1, 1315, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1314, -1, 1314, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1970, -1, 1317, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1316, -1, 1316, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1972, -1, 1319, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1318, -1, 1318, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1974, -1, 1321, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1320, -1, 1320, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1976, -1, 1323, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1322, -1, 1322, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1978, -1, 1325, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1324, -1, 1324, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1980, -1, 1327, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1326, -1, 1326, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1982, -1, 1377, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1984, -1, 1378, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1986, -1, 1379, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1988, -1, 1380, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1990, -1, 1381, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1992, -1, 1382, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1994, -1, 1383, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1996, -1, 1384, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1998, -1, 1385, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 2000, -1, 1386, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 2002, -1, 1387, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 2004, -1, 1388, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 2006, -1, 1389, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 2008, -1, 1390, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 2010, -1, 1391, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 2012, -1, 1392, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 2014, -1, 1393, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 2016, -1, 1394, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 2018, -1, 1395, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 2020, -1, 1396, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 2022, -1, 1397, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 2024, -1, 1398, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 2026, -1, 1399, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 2028, -1, 1400, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 2030, -1, 1401, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 2032, -1, 1402, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 2034, -1, 1403, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 2036, -1, 1404, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 2038, -1, 1405, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 2040, -1, 1406, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 2042, -1, 1407, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 2044, -1, 1408, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 2046, -1, 1409, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 2048, -1, 1410, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 2050, -1, 1411, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 2052, -1, 1412, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 2054, -1, 1413, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 2056, -1, 1414, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_PO, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1329, -1, 1329, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1330, -1, 1330, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1331, -1, 1331, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1332, -1, 1332, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1333, -1, 1333, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1334, -1, 1334, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1335, -1, 1335, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1336, -1, 1336, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1337, -1, 1337, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1338, -1, 1338, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1339, -1, 1339, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1340, -1, 1340, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1341, -1, 1341, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1342, -1, 1342, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1343, -1, 1343, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1344, -1, 1344, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1345, -1, 1345, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1346, -1, 1346, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1347, -1, 1347, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1348, -1, 1348, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1349, -1, 1349, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1350, -1, 1350, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1351, -1, 1351, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1352, -1, 1352, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1353, -1, 1353, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1354, -1, 1354, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1355, -1, 1355, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1356, -1, 1356, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1357, -1, 1357, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1358, -1, 1358, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1359, -1, 1359, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1360, -1, 1360, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1361, -1, 1361, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1362, -1, 1362, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1363, -1, 1363, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1364, -1, 1364, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1365, -1, 1365, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 1366, -1, 1366, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 2058, 2058, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_PD, 0, UTF8PROC_BIDI_CLASS_ON, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_MN, 222, UTF8PROC_BIDI_CLASS_NSM, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_EXTEND, 0},\n  {UTF8PROC_CATEGORY_MN, 228, UTF8PROC_BIDI_CLASS_NSM, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_EXTEND, 0},\n  {UTF8PROC_CATEGORY_MN, 10, UTF8PROC_BIDI_CLASS_NSM, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_EXTEND, 0},\n  {UTF8PROC_CATEGORY_MN, 11, UTF8PROC_BIDI_CLASS_NSM, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_EXTEND, 0},\n  {UTF8PROC_CATEGORY_MN, 12, UTF8PROC_BIDI_CLASS_NSM, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_EXTEND, 0},\n  {UTF8PROC_CATEGORY_MN, 13, UTF8PROC_BIDI_CLASS_NSM, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_EXTEND, 0},\n  {UTF8PROC_CATEGORY_MN, 14, UTF8PROC_BIDI_CLASS_NSM, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_EXTEND, 0},\n  {UTF8PROC_CATEGORY_MN, 15, UTF8PROC_BIDI_CLASS_NSM, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_EXTEND, 0},\n  {UTF8PROC_CATEGORY_MN, 16, UTF8PROC_BIDI_CLASS_NSM, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_EXTEND, 0},\n  {UTF8PROC_CATEGORY_MN, 17, UTF8PROC_BIDI_CLASS_NSM, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_EXTEND, 0},\n  {UTF8PROC_CATEGORY_MN, 18, UTF8PROC_BIDI_CLASS_NSM, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_EXTEND, 0},\n  {UTF8PROC_CATEGORY_MN, 19, UTF8PROC_BIDI_CLASS_NSM, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_EXTEND, 0},\n  {UTF8PROC_CATEGORY_MN, 20, UTF8PROC_BIDI_CLASS_NSM, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_EXTEND, 0},\n  {UTF8PROC_CATEGORY_MN, 21, UTF8PROC_BIDI_CLASS_NSM, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_EXTEND, 0},\n  {UTF8PROC_CATEGORY_MN, 22, UTF8PROC_BIDI_CLASS_NSM, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_EXTEND, 0},\n  {UTF8PROC_CATEGORY_PD, 0, UTF8PROC_BIDI_CLASS_R, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_MN, 23, UTF8PROC_BIDI_CLASS_NSM, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_EXTEND, 0},\n  {UTF8PROC_CATEGORY_PO, 0, UTF8PROC_BIDI_CLASS_R, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_MN, 24, UTF8PROC_BIDI_CLASS_NSM, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_EXTEND, 0},\n  {UTF8PROC_CATEGORY_MN, 25, UTF8PROC_BIDI_CLASS_NSM, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_EXTEND, 0},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_R, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_CF, 0, UTF8PROC_BIDI_CLASS_AN, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, true, UTF8PROC_BOUNDCLASS_CONTROL, 0},\n  {UTF8PROC_CATEGORY_CF, 0, UTF8PROC_BIDI_CLASS_AN, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, true, UTF8PROC_BOUNDCLASS_CONTROL, 2},\n  {UTF8PROC_CATEGORY_SM, 0, UTF8PROC_BIDI_CLASS_ON, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SM, 0, UTF8PROC_BIDI_CLASS_AL, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SC, 0, UTF8PROC_BIDI_CLASS_AL, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_PO, 0, UTF8PROC_BIDI_CLASS_AL, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_MN, 30, UTF8PROC_BIDI_CLASS_NSM, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_EXTEND, 0},\n  {UTF8PROC_CATEGORY_MN, 31, UTF8PROC_BIDI_CLASS_NSM, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_EXTEND, 0},\n  {UTF8PROC_CATEGORY_MN, 32, UTF8PROC_BIDI_CLASS_NSM, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_EXTEND, 0},\n  {UTF8PROC_CATEGORY_CF, 0, UTF8PROC_BIDI_CLASS_AL, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, true, true, UTF8PROC_BOUNDCLASS_CONTROL, 0},\n  {UTF8PROC_CATEGORY_PO, 0, UTF8PROC_BIDI_CLASS_AL, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, 0, 2061, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, 0, 2064, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, 0, 2067, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, 0, 2070, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, 0, 2073, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, 7480, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LM, 0, UTF8PROC_BIDI_CLASS_AL, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, 7548, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, 7616, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_MN, 27, UTF8PROC_BIDI_CLASS_NSM, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_EXTEND, 0},\n  {UTF8PROC_CATEGORY_MN, 28, UTF8PROC_BIDI_CLASS_NSM, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_EXTEND, 0},\n  {UTF8PROC_CATEGORY_MN, 29, UTF8PROC_BIDI_CLASS_NSM, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_EXTEND, 0},\n  {UTF8PROC_CATEGORY_MN, 33, UTF8PROC_BIDI_CLASS_NSM, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_EXTEND, 0},\n  {UTF8PROC_CATEGORY_MN, 34, UTF8PROC_BIDI_CLASS_NSM, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_EXTEND, 0},\n  {UTF8PROC_CATEGORY_MN, 230, UTF8PROC_BIDI_CLASS_NSM, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, 17, false, false, false, false, UTF8PROC_BOUNDCLASS_EXTEND, 0},\n  {UTF8PROC_CATEGORY_MN, 230, UTF8PROC_BIDI_CLASS_NSM, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, 18, false, false, false, false, UTF8PROC_BOUNDCLASS_EXTEND, 0},\n  {UTF8PROC_CATEGORY_MN, 220, UTF8PROC_BIDI_CLASS_NSM, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, 19, false, false, false, false, UTF8PROC_BOUNDCLASS_EXTEND, 0},\n  {UTF8PROC_CATEGORY_ND, 0, UTF8PROC_BIDI_CLASS_AN, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_PO, 0, UTF8PROC_BIDI_CLASS_AN, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_MN, 35, UTF8PROC_BIDI_CLASS_NSM, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_EXTEND, 0},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_COMPAT, 2076, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_COMPAT, 2079, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_COMPAT, 2082, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_COMPAT, 2085, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, 0, 2088, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, 7752, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, 0, 2091, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, 7820, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, 0, 2094, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, 7684, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_AL, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_CF, 0, UTF8PROC_BIDI_CLASS_AL, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, true, UTF8PROC_BOUNDCLASS_CONTROL, 0},\n  {UTF8PROC_CATEGORY_MN, 36, UTF8PROC_BIDI_CLASS_NSM, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_EXTEND, 0},\n  {UTF8PROC_CATEGORY_MN, 0, UTF8PROC_BIDI_CLASS_NSM, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_EXTEND, 0},\n  {UTF8PROC_CATEGORY_ND, 0, UTF8PROC_BIDI_CLASS_R, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LM, 0, UTF8PROC_BIDI_CLASS_R, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_R, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LM, 0, UTF8PROC_BIDI_CLASS_R, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_PO, 0, UTF8PROC_BIDI_CLASS_R, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_MC, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_SPACINGMARK, 0},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, 7888, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 2097, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, 7956, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 2100, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, 8024, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 2103, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_MN, 7, UTF8PROC_BIDI_CLASS_NSM, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, 20, false, false, false, false, UTF8PROC_BOUNDCLASS_EXTEND, 0},\n  {UTF8PROC_CATEGORY_MN, 9, UTF8PROC_BIDI_CLASS_NSM, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_EXTEND, 0},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 2106, UINT16_MAX, -1, -1, -1, -1, -1, false, true, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 2109, UINT16_MAX, -1, -1, -1, -1, -1, false, true, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 2112, UINT16_MAX, -1, -1, -1, -1, -1, false, true, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 2115, UINT16_MAX, -1, -1, -1, -1, -1, false, true, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 2118, UINT16_MAX, -1, -1, -1, -1, -1, false, true, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 2121, UINT16_MAX, -1, -1, -1, -1, -1, false, true, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 2124, UINT16_MAX, -1, -1, -1, -1, -1, false, true, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 2127, UINT16_MAX, -1, -1, -1, -1, -1, false, true, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_PO, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_ND, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LM, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_MN, 7, UTF8PROC_BIDI_CLASS_NSM, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_EXTEND, 0},\n  {UTF8PROC_CATEGORY_MC, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, 21, false, false, false, false, UTF8PROC_BOUNDCLASS_EXTEND, 0},\n  {UTF8PROC_CATEGORY_MC, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, 8092, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_SPACINGMARK, 0},\n  {UTF8PROC_CATEGORY_MC, 0, UTF8PROC_BIDI_CLASS_L, 0, 2130, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_SPACINGMARK, 0},\n  {UTF8PROC_CATEGORY_MC, 0, UTF8PROC_BIDI_CLASS_L, 0, 2133, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_SPACINGMARK, 0},\n  {UTF8PROC_CATEGORY_MC, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, 22, false, false, false, false, UTF8PROC_BOUNDCLASS_EXTEND, 0},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 2136, UINT16_MAX, -1, -1, -1, -1, -1, false, true, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 2139, UINT16_MAX, -1, -1, -1, -1, -1, false, true, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 2142, UINT16_MAX, -1, -1, -1, -1, -1, false, true, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SC, 0, UTF8PROC_BIDI_CLASS_ET, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 2145, UINT16_MAX, -1, -1, -1, -1, -1, false, true, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 2148, UINT16_MAX, -1, -1, -1, -1, -1, false, true, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 2151, UINT16_MAX, -1, -1, -1, -1, -1, false, true, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 2154, UINT16_MAX, -1, -1, -1, -1, -1, false, true, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 2157, UINT16_MAX, -1, -1, -1, -1, -1, false, true, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 2160, UINT16_MAX, -1, -1, -1, -1, -1, false, true, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_MC, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, 24, false, false, false, false, UTF8PROC_BOUNDCLASS_EXTEND, 0},\n  {UTF8PROC_CATEGORY_MC, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, 8160, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_SPACINGMARK, 0},\n  {UTF8PROC_CATEGORY_MC, 0, UTF8PROC_BIDI_CLASS_L, 0, 2163, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_SPACINGMARK, 0},\n  {UTF8PROC_CATEGORY_MC, 0, UTF8PROC_BIDI_CLASS_L, 0, 2166, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_SPACINGMARK, 0},\n  {UTF8PROC_CATEGORY_MC, 0, UTF8PROC_BIDI_CLASS_L, 0, 2169, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_SPACINGMARK, 0},\n  {UTF8PROC_CATEGORY_MN, 0, UTF8PROC_BIDI_CLASS_NSM, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, 23, false, false, false, false, UTF8PROC_BOUNDCLASS_EXTEND, 0},\n  {UTF8PROC_CATEGORY_MC, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, 25, false, false, false, false, UTF8PROC_BOUNDCLASS_EXTEND, 0},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 2172, UINT16_MAX, -1, -1, -1, -1, -1, false, true, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 2175, UINT16_MAX, -1, -1, -1, -1, -1, false, true, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, 8228, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 2178, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_MC, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, 27, false, false, false, false, UTF8PROC_BOUNDCLASS_EXTEND, 0},\n  {UTF8PROC_CATEGORY_MC, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, 8296, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_SPACINGMARK, 0},\n  {UTF8PROC_CATEGORY_MC, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, 8364, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_SPACINGMARK, 0},\n  {UTF8PROC_CATEGORY_MC, 0, UTF8PROC_BIDI_CLASS_L, 0, 2181, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_SPACINGMARK, 0},\n  {UTF8PROC_CATEGORY_MC, 0, UTF8PROC_BIDI_CLASS_L, 0, 2184, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_SPACINGMARK, 0},\n  {UTF8PROC_CATEGORY_MC, 0, UTF8PROC_BIDI_CLASS_L, 0, 2187, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_SPACINGMARK, 0},\n  {UTF8PROC_CATEGORY_MC, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, 26, false, false, false, false, UTF8PROC_BOUNDCLASS_EXTEND, 0},\n  {UTF8PROC_CATEGORY_MN, 0, UTF8PROC_BIDI_CLASS_NSM, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, 8432, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_EXTEND, 0},\n  {UTF8PROC_CATEGORY_MN, 0, UTF8PROC_BIDI_CLASS_NSM, 0, 2190, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_EXTEND, 0},\n  {UTF8PROC_CATEGORY_MN, 84, UTF8PROC_BIDI_CLASS_NSM, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_EXTEND, 0},\n  {UTF8PROC_CATEGORY_MN, 91, UTF8PROC_BIDI_CLASS_NSM, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, 28, false, false, false, false, UTF8PROC_BOUNDCLASS_EXTEND, 0},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_ON, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_MN, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, 8500, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_EXTEND, 0},\n  {UTF8PROC_CATEGORY_MC, 0, UTF8PROC_BIDI_CLASS_L, 0, 2193, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_SPACINGMARK, 0},\n  {UTF8PROC_CATEGORY_MC, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, 31, false, false, false, false, UTF8PROC_BOUNDCLASS_EXTEND, 0},\n  {UTF8PROC_CATEGORY_MN, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, 8568, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_EXTEND, 0},\n  {UTF8PROC_CATEGORY_MC, 0, UTF8PROC_BIDI_CLASS_L, 0, 2196, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_SPACINGMARK, 0},\n  {UTF8PROC_CATEGORY_MC, 0, UTF8PROC_BIDI_CLASS_L, 0, 2199, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_SPACINGMARK, 0},\n  {UTF8PROC_CATEGORY_MC, 0, UTF8PROC_BIDI_CLASS_L, 0, 2202, UINT16_MAX, -1, -1, -1, 8636, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_SPACINGMARK, 0},\n  {UTF8PROC_CATEGORY_MC, 0, UTF8PROC_BIDI_CLASS_L, 0, 2205, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_SPACINGMARK, 0},\n  {UTF8PROC_CATEGORY_MC, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, 29, false, false, false, false, UTF8PROC_BOUNDCLASS_EXTEND, 0},\n  {UTF8PROC_CATEGORY_MC, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, 30, false, false, false, false, UTF8PROC_BOUNDCLASS_EXTEND, 0},\n  {UTF8PROC_CATEGORY_MC, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, 32, false, false, false, false, UTF8PROC_BOUNDCLASS_EXTEND, 0},\n  {UTF8PROC_CATEGORY_MC, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, 8704, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_SPACINGMARK, 0},\n  {UTF8PROC_CATEGORY_MC, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, 8772, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_SPACINGMARK, 0},\n  {UTF8PROC_CATEGORY_MC, 0, UTF8PROC_BIDI_CLASS_L, 0, 2208, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_SPACINGMARK, 0},\n  {UTF8PROC_CATEGORY_MC, 0, UTF8PROC_BIDI_CLASS_L, 0, 2211, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_SPACINGMARK, 0},\n  {UTF8PROC_CATEGORY_MC, 0, UTF8PROC_BIDI_CLASS_L, 0, 2214, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_SPACINGMARK, 0},\n  {UTF8PROC_CATEGORY_MC, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, 33, false, false, false, false, UTF8PROC_BOUNDCLASS_EXTEND, 0},\n  {UTF8PROC_CATEGORY_MN, 9, UTF8PROC_BIDI_CLASS_NSM, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, 34, false, false, false, false, UTF8PROC_BOUNDCLASS_EXTEND, 0},\n  {UTF8PROC_CATEGORY_MC, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, 35, false, false, false, false, UTF8PROC_BOUNDCLASS_EXTEND, 0},\n  {UTF8PROC_CATEGORY_MC, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, 8840, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_SPACINGMARK, 0},\n  {UTF8PROC_CATEGORY_MC, 0, UTF8PROC_BIDI_CLASS_L, 0, 2217, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_SPACINGMARK, 0},\n  {UTF8PROC_CATEGORY_MC, 0, UTF8PROC_BIDI_CLASS_L, 0, 2220, UINT16_MAX, -1, -1, -1, 8908, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_SPACINGMARK, 0},\n  {UTF8PROC_CATEGORY_MC, 0, UTF8PROC_BIDI_CLASS_L, 0, 2223, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_SPACINGMARK, 0},\n  {UTF8PROC_CATEGORY_MC, 0, UTF8PROC_BIDI_CLASS_L, 0, 2226, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_SPACINGMARK, 0},\n  {UTF8PROC_CATEGORY_MC, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, 36, false, false, false, false, UTF8PROC_BOUNDCLASS_EXTEND, 0},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 2229, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_SPACINGMARK, 1},\n  {UTF8PROC_CATEGORY_MN, 103, UTF8PROC_BIDI_CLASS_NSM, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_EXTEND, 0},\n  {UTF8PROC_CATEGORY_MN, 107, UTF8PROC_BIDI_CLASS_NSM, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_EXTEND, 0},\n  {UTF8PROC_CATEGORY_ND, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 2232, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_SPACINGMARK, 1},\n  {UTF8PROC_CATEGORY_MN, 118, UTF8PROC_BIDI_CLASS_NSM, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_EXTEND, 0},\n  {UTF8PROC_CATEGORY_MN, 122, UTF8PROC_BIDI_CLASS_NSM, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_EXTEND, 0},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 2235, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 2238, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_PO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_NOBREAK, 2241, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_MN, 216, UTF8PROC_BIDI_CLASS_NSM, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_EXTEND, 0},\n  {UTF8PROC_CATEGORY_PS, 0, UTF8PROC_BIDI_CLASS_ON, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, true, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_PE, 0, UTF8PROC_BIDI_CLASS_ON, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, true, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 2243, UINT16_MAX, -1, -1, -1, -1, -1, false, true, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 2246, UINT16_MAX, -1, -1, -1, -1, -1, false, true, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 2249, UINT16_MAX, -1, -1, -1, -1, -1, false, true, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 2252, UINT16_MAX, -1, -1, -1, -1, -1, false, true, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 2255, UINT16_MAX, -1, -1, -1, -1, -1, false, true, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 2258, UINT16_MAX, -1, -1, -1, -1, -1, false, true, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_MN, 129, UTF8PROC_BIDI_CLASS_NSM, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_EXTEND, 0},\n  {UTF8PROC_CATEGORY_MN, 130, UTF8PROC_BIDI_CLASS_NSM, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_EXTEND, 0},\n  {UTF8PROC_CATEGORY_MN, 0, UTF8PROC_BIDI_CLASS_NSM, 0, 2261, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_EXTEND, 0},\n  {UTF8PROC_CATEGORY_MN, 132, UTF8PROC_BIDI_CLASS_NSM, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_EXTEND, 0},\n  {UTF8PROC_CATEGORY_MN, 0, UTF8PROC_BIDI_CLASS_NSM, 0, 2264, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_EXTEND, 0},\n  {UTF8PROC_CATEGORY_MN, 0, UTF8PROC_BIDI_CLASS_NSM, 0, 2267, UINT16_MAX, -1, -1, -1, -1, -1, false, true, false, false, UTF8PROC_BOUNDCLASS_EXTEND, 0},\n  {UTF8PROC_CATEGORY_MN, 0, UTF8PROC_BIDI_CLASS_NSM, UTF8PROC_DECOMP_TYPE_COMPAT, 2270, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_EXTEND, 0},\n  {UTF8PROC_CATEGORY_MN, 0, UTF8PROC_BIDI_CLASS_NSM, 0, 2273, UINT16_MAX, -1, -1, -1, -1, -1, false, true, false, false, UTF8PROC_BOUNDCLASS_EXTEND, 0},\n  {UTF8PROC_CATEGORY_MN, 0, UTF8PROC_BIDI_CLASS_NSM, UTF8PROC_DECOMP_TYPE_COMPAT, 2276, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_EXTEND, 0},\n  {UTF8PROC_CATEGORY_MN, 0, UTF8PROC_BIDI_CLASS_NSM, 0, 2279, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_EXTEND, 0},\n  {UTF8PROC_CATEGORY_MN, 0, UTF8PROC_BIDI_CLASS_NSM, 0, 2282, UINT16_MAX, -1, -1, -1, -1, -1, false, true, false, false, UTF8PROC_BOUNDCLASS_EXTEND, 0},\n  {UTF8PROC_CATEGORY_MN, 0, UTF8PROC_BIDI_CLASS_NSM, 0, 2285, UINT16_MAX, -1, -1, -1, -1, -1, false, true, false, false, UTF8PROC_BOUNDCLASS_EXTEND, 0},\n  {UTF8PROC_CATEGORY_MN, 0, UTF8PROC_BIDI_CLASS_NSM, 0, 2288, UINT16_MAX, -1, -1, -1, -1, -1, false, true, false, false, UTF8PROC_BOUNDCLASS_EXTEND, 0},\n  {UTF8PROC_CATEGORY_MN, 0, UTF8PROC_BIDI_CLASS_NSM, 0, 2291, UINT16_MAX, -1, -1, -1, -1, -1, false, true, false, false, UTF8PROC_BOUNDCLASS_EXTEND, 0},\n  {UTF8PROC_CATEGORY_MN, 0, UTF8PROC_BIDI_CLASS_NSM, 0, 2294, UINT16_MAX, -1, -1, -1, -1, -1, false, true, false, false, UTF8PROC_BOUNDCLASS_EXTEND, 0},\n  {UTF8PROC_CATEGORY_MN, 0, UTF8PROC_BIDI_CLASS_NSM, 0, 2297, UINT16_MAX, -1, -1, -1, -1, -1, false, true, false, false, UTF8PROC_BOUNDCLASS_EXTEND, 0},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, 8976, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 2300, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_MC, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 0},\n  {UTF8PROC_CATEGORY_MN, 0, UTF8PROC_BIDI_CLASS_NSM, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, 37, false, false, false, false, UTF8PROC_BOUNDCLASS_EXTEND, 0},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 2303, -1, 11520, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 2305, -1, 11521, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 2307, -1, 11522, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 2309, -1, 11523, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 2311, -1, 11524, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 2313, -1, 11525, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 2315, -1, 11526, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 2317, -1, 11527, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 2319, -1, 11528, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 2321, -1, 11529, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 2323, -1, 11530, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 2325, -1, 11531, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 2327, -1, 11532, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 2329, -1, 11533, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 2331, -1, 11534, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 2333, -1, 11535, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 2335, -1, 11536, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 2337, -1, 11537, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 2339, -1, 11538, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 2341, -1, 11539, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 2343, -1, 11540, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 2345, -1, 11541, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 2347, -1, 11542, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 2349, -1, 11543, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 2351, -1, 11544, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 2353, -1, 11545, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 2355, -1, 11546, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 2357, -1, 11547, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 2359, -1, 11548, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 2361, -1, 11549, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 2363, -1, 11550, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 2365, -1, 11551, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 2367, -1, 11552, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 2369, -1, 11553, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 2371, -1, 11554, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 2373, -1, 11555, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 2375, -1, 11556, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 2377, -1, 11557, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 2379, -1, 11559, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 2381, -1, 11565, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LM, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SUPER, 2383, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_L, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, true, false, UTF8PROC_BOUNDCLASS_L, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, true, false, UTF8PROC_BOUNDCLASS_V, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_V, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_T, 2},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, 43888, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, 43889, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, 43890, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, 43891, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, 43892, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, 43893, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, 43894, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, 43895, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, 43896, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, 43897, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, 43898, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, 43899, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, 43900, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, 43901, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, 43902, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, 43903, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, 43904, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, 43905, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, 43906, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, 43907, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, 43908, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, 43909, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, 43910, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, 43911, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, 43912, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, 43913, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, 43914, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, 43915, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, 43916, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, 43917, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, 43918, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, 43919, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, 43920, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, 43921, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, 43922, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, 43923, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, 43924, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, 43925, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, 43926, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, 43927, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, 43928, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, 43929, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, 43930, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, 43931, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, 43932, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, 43933, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, 43934, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, 43935, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, 43936, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, 43937, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, 43938, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, 43939, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, 43940, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, 43941, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, 43942, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, 43943, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, 43944, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, 43945, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, 43946, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, 43947, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, 43948, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, 43949, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, 43950, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, 43951, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, 43952, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, 43953, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, 43954, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, 43955, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, 43956, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, 43957, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, 43958, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, 43959, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, 43960, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, 43961, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, 43962, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, 43963, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, 43964, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, 43965, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, 43966, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, 43967, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, 5112, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, 5113, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, 5114, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, 5115, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, 5116, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, 5117, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 2385, 5104, -1, 5104, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 2387, 5105, -1, 5105, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 2389, 5106, -1, 5106, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 2391, 5107, -1, 5107, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 2393, 5108, -1, 5108, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 2395, 5109, -1, 5109, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_ZS, 0, UTF8PROC_BIDI_CLASS_WS, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_NL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_ON, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_PO, 0, UTF8PROC_BIDI_CLASS_ON, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_PD, 0, UTF8PROC_BIDI_CLASS_ON, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, 9044, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 2397, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, 9112, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 2400, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, 9180, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 2403, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, 9248, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 2406, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, 9316, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 2409, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, 9384, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 2412, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_MC, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, 38, false, false, false, false, UTF8PROC_BOUNDCLASS_SPACINGMARK, 0},\n  {UTF8PROC_CATEGORY_MN, 0, UTF8PROC_BIDI_CLASS_NSM, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, 9452, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_EXTEND, 0},\n  {UTF8PROC_CATEGORY_MC, 0, UTF8PROC_BIDI_CLASS_L, 0, 2415, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_SPACINGMARK, 0},\n  {UTF8PROC_CATEGORY_MN, 0, UTF8PROC_BIDI_CLASS_NSM, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, 9520, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_EXTEND, 0},\n  {UTF8PROC_CATEGORY_MC, 0, UTF8PROC_BIDI_CLASS_L, 0, 2418, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_SPACINGMARK, 0},\n  {UTF8PROC_CATEGORY_MC, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, 9588, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_SPACINGMARK, 0},\n  {UTF8PROC_CATEGORY_MC, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, 9656, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_SPACINGMARK, 0},\n  {UTF8PROC_CATEGORY_MC, 0, UTF8PROC_BIDI_CLASS_L, 0, 2421, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_SPACINGMARK, 0},\n  {UTF8PROC_CATEGORY_MC, 0, UTF8PROC_BIDI_CLASS_L, 0, 2424, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_SPACINGMARK, 0},\n  {UTF8PROC_CATEGORY_MN, 0, UTF8PROC_BIDI_CLASS_NSM, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, 9724, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_EXTEND, 0},\n  {UTF8PROC_CATEGORY_MC, 0, UTF8PROC_BIDI_CLASS_L, 0, 2427, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_SPACINGMARK, 0},\n  {UTF8PROC_CATEGORY_MC, 9, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_SPACINGMARK, 0},\n  {UTF8PROC_CATEGORY_LM, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SUPER, 2430, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LM, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SUPER, 2432, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LM, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SUPER, 2434, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LM, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SUPER, 2436, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LM, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SUPER, 2438, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LM, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SUPER, 2440, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LM, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SUPER, 2442, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LM, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SUPER, 2444, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LM, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SUPER, 2446, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LM, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SUPER, 2448, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LM, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SUPER, 2450, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LM, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SUPER, 2452, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LM, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SUPER, 2454, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LM, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SUPER, 2456, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LM, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SUPER, 2458, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LM, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SUPER, 2460, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LM, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SUPER, 2462, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LM, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SUPER, 2464, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LM, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SUPER, 2466, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LM, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SUPER, 2468, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LM, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SUPER, 2470, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LM, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SUPER, 0, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LM, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SUPER, 2472, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LM, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SUPER, 2474, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LM, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SUPER, 2476, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LM, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SUPER, 2, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LM, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SUPER, 6, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LM, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SUPER, 8, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LM, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SUPER, 792, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LM, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SUPER, 794, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LM, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SUPER, 2478, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LM, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SUPER, 12, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LM, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SUPER, 20, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LM, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SUPER, 24, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LM, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SUPER, 579, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LM, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SUPER, 28, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LM, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SUPER, 780, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LM, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SUPER, 2480, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LM, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SUPER, 2482, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LM, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SUPER, 30, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LM, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SUPER, 38, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LM, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SUPER, 40, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LM, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SUPER, 2484, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LM, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SUPER, 808, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LM, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SUPER, 42, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LM, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SUPER, 2486, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LM, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SUPER, 1392, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LM, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SUPER, 1394, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LM, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SUPER, 1396, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LM, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SUPER, 1426, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LM, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SUPER, 1428, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LM, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SUB, 16, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LM, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SUB, 34, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LM, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SUB, 40, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LM, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SUB, 42, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LM, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SUB, 1392, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LM, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SUB, 1394, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LM, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SUB, 1418, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LM, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SUB, 1426, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LM, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SUB, 1428, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LM, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SUPER, 1612, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 42877, -1, 42877, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 11363, -1, 11363, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LM, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SUPER, 2488, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LM, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SUPER, 4, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LM, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SUPER, 2490, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LM, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SUPER, 163, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LM, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SUPER, 10, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LM, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SUPER, 2492, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LM, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SUPER, 2494, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LM, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SUPER, 2496, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LM, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SUPER, 804, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LM, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SUPER, 802, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LM, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SUPER, 2498, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LM, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SUPER, 2500, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LM, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SUPER, 2502, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LM, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SUPER, 2504, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LM, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SUPER, 2506, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LM, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SUPER, 2508, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LM, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SUPER, 2510, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LM, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SUPER, 2512, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LM, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SUPER, 810, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LM, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SUPER, 2514, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LM, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SUPER, 2516, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LM, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SUPER, 812, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LM, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SUPER, 2518, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LM, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SUPER, 2520, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LM, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SUPER, 830, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LM, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SUPER, 2522, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LM, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SUPER, 1275, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LM, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SUPER, 844, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LM, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SUPER, 2524, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LM, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SUPER, 846, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LM, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SUPER, 1277, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LM, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SUPER, 50, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LM, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SUPER, 2526, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LM, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SUPER, 2528, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LM, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SUPER, 852, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LM, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SUPER, 1404, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_MN, 214, UTF8PROC_BIDI_CLASS_NSM, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_EXTEND, 0},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 2530, 2533, -1, 7681, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 2535, UINT16_MAX, 7680, -1, 7680, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 2538, 2541, -1, 7683, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 2543, UINT16_MAX, 7682, -1, 7682, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 2546, 2549, -1, 7685, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 2551, UINT16_MAX, 7684, -1, 7684, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 2554, 2557, -1, 7687, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 2559, UINT16_MAX, 7686, -1, 7686, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 2562, 2565, -1, 7689, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 2567, UINT16_MAX, 7688, -1, 7688, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 2570, 2573, -1, 7691, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 2575, UINT16_MAX, 7690, -1, 7690, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 2578, 2581, -1, 7693, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 2583, UINT16_MAX, 7692, -1, 7692, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 2586, 2589, -1, 7695, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 2591, UINT16_MAX, 7694, -1, 7694, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 2594, 2597, -1, 7697, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 2599, UINT16_MAX, 7696, -1, 7696, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 2602, 2605, -1, 7699, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 2607, UINT16_MAX, 7698, -1, 7698, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 2610, 2613, -1, 7701, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 2615, UINT16_MAX, 7700, -1, 7700, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 2618, 2621, -1, 7703, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 2623, UINT16_MAX, 7702, -1, 7702, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 2626, 2629, -1, 7705, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 2631, UINT16_MAX, 7704, -1, 7704, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 2634, 2637, -1, 7707, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 2639, UINT16_MAX, 7706, -1, 7706, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 2642, 2645, -1, 7709, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 2647, UINT16_MAX, 7708, -1, 7708, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 2650, 2653, -1, 7711, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 2655, UINT16_MAX, 7710, -1, 7710, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 2658, 2661, -1, 7713, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 2663, UINT16_MAX, 7712, -1, 7712, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 2666, 2669, -1, 7715, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 2671, UINT16_MAX, 7714, -1, 7714, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 2674, 2677, -1, 7717, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 2679, UINT16_MAX, 7716, -1, 7716, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 2682, 2685, -1, 7719, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 2687, UINT16_MAX, 7718, -1, 7718, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 2690, 2693, -1, 7721, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 2695, UINT16_MAX, 7720, -1, 7720, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 2698, 2701, -1, 7723, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 2703, UINT16_MAX, 7722, -1, 7722, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 2706, 2709, -1, 7725, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 2711, UINT16_MAX, 7724, -1, 7724, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 2714, 2717, -1, 7727, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 2719, UINT16_MAX, 7726, -1, 7726, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 2722, 2725, -1, 7729, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 2727, UINT16_MAX, 7728, -1, 7728, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 2730, 2733, -1, 7731, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 2735, UINT16_MAX, 7730, -1, 7730, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 2738, 2741, -1, 7733, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 2743, UINT16_MAX, 7732, -1, 7732, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 2746, 2749, -1, 7735, -1, 10608, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 2751, UINT16_MAX, 7734, -1, 7734, 10676, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 2754, 2757, -1, 7737, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 2759, UINT16_MAX, 7736, -1, 7736, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 2762, 2765, -1, 7739, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 2767, UINT16_MAX, 7738, -1, 7738, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 2770, 2773, -1, 7741, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 2775, UINT16_MAX, 7740, -1, 7740, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 2778, 2781, -1, 7743, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 2783, UINT16_MAX, 7742, -1, 7742, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 2786, 2789, -1, 7745, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 2791, UINT16_MAX, 7744, -1, 7744, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 2794, 2797, -1, 7747, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 2799, UINT16_MAX, 7746, -1, 7746, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 2802, 2805, -1, 7749, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 2807, UINT16_MAX, 7748, -1, 7748, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 2810, 2813, -1, 7751, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 2815, UINT16_MAX, 7750, -1, 7750, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 2818, 2821, -1, 7753, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 2823, UINT16_MAX, 7752, -1, 7752, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 2826, 2829, -1, 7755, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 2831, UINT16_MAX, 7754, -1, 7754, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 2834, 2837, -1, 7757, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 2839, UINT16_MAX, 7756, -1, 7756, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 2842, 2845, -1, 7759, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 2847, UINT16_MAX, 7758, -1, 7758, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 2850, 2853, -1, 7761, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 2855, UINT16_MAX, 7760, -1, 7760, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 2858, 2861, -1, 7763, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 2863, UINT16_MAX, 7762, -1, 7762, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 2866, 2869, -1, 7765, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 2871, UINT16_MAX, 7764, -1, 7764, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 2874, 2877, -1, 7767, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 2879, UINT16_MAX, 7766, -1, 7766, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 2882, 2885, -1, 7769, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 2887, UINT16_MAX, 7768, -1, 7768, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 2890, 2893, -1, 7771, -1, 11152, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 2895, UINT16_MAX, 7770, -1, 7770, 11220, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 2898, 2901, -1, 7773, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 2903, UINT16_MAX, 7772, -1, 7772, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 2906, 2909, -1, 7775, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 2911, UINT16_MAX, 7774, -1, 7774, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 2914, 2917, -1, 7777, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 2919, UINT16_MAX, 7776, -1, 7776, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 2922, 2925, -1, 7779, -1, 11560, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 2927, UINT16_MAX, 7778, -1, 7778, 11628, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 2930, 2933, -1, 7781, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 2935, UINT16_MAX, 7780, -1, 7780, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 2938, 2941, -1, 7783, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 2943, UINT16_MAX, 7782, -1, 7782, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 2946, 2949, -1, 7785, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 2951, UINT16_MAX, 7784, -1, 7784, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 2954, 2957, -1, 7787, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 2959, UINT16_MAX, 7786, -1, 7786, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 2962, 2965, -1, 7789, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 2967, UINT16_MAX, 7788, -1, 7788, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 2970, 2973, -1, 7791, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 2975, UINT16_MAX, 7790, -1, 7790, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 2978, 2981, -1, 7793, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 2983, UINT16_MAX, 7792, -1, 7792, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 2986, 2989, -1, 7795, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 2991, UINT16_MAX, 7794, -1, 7794, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 2994, 2997, -1, 7797, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 2999, UINT16_MAX, 7796, -1, 7796, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 3002, 3005, -1, 7799, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 3007, UINT16_MAX, 7798, -1, 7798, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 3010, 3013, -1, 7801, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 3015, UINT16_MAX, 7800, -1, 7800, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 3018, 3021, -1, 7803, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 3023, UINT16_MAX, 7802, -1, 7802, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 3026, 3029, -1, 7805, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 3031, UINT16_MAX, 7804, -1, 7804, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 3034, 3037, -1, 7807, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 3039, UINT16_MAX, 7806, -1, 7806, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 3042, 3045, -1, 7809, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 3047, UINT16_MAX, 7808, -1, 7808, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 3050, 3053, -1, 7811, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 3055, UINT16_MAX, 7810, -1, 7810, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 3058, 3061, -1, 7813, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 3063, UINT16_MAX, 7812, -1, 7812, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 3066, 3069, -1, 7815, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 3071, UINT16_MAX, 7814, -1, 7814, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 3074, 3077, -1, 7817, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 3079, UINT16_MAX, 7816, -1, 7816, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 3082, 3085, -1, 7819, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 3087, UINT16_MAX, 7818, -1, 7818, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 3090, 3093, -1, 7821, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 3095, UINT16_MAX, 7820, -1, 7820, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 3098, 3101, -1, 7823, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 3103, UINT16_MAX, 7822, -1, 7822, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 3106, 3109, -1, 7825, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 3111, UINT16_MAX, 7824, -1, 7824, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 3114, 3117, -1, 7827, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 3119, UINT16_MAX, 7826, -1, 7826, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 3122, 3125, -1, 7829, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 3127, UINT16_MAX, 7828, -1, 7828, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 3130, 3130, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 3133, 3133, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 3136, 3136, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 3139, 3139, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 3142, 3142, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 3145, 2917, 7776, -1, 7776, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 3148, -1, 223, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 3150, 3153, -1, 7841, -1, 12444, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 3155, UINT16_MAX, 7840, -1, 7840, 12512, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 3158, 3161, -1, 7843, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 3163, UINT16_MAX, 7842, -1, 7842, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 3166, 3169, -1, 7845, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 3171, UINT16_MAX, 7844, -1, 7844, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 3174, 3177, -1, 7847, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 3179, UINT16_MAX, 7846, -1, 7846, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 3182, 3185, -1, 7849, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 3187, UINT16_MAX, 7848, -1, 7848, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 3190, 3193, -1, 7851, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 3195, UINT16_MAX, 7850, -1, 7850, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 3198, 3201, -1, 7853, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 3203, UINT16_MAX, 7852, -1, 7852, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 3206, 3209, -1, 7855, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 3211, UINT16_MAX, 7854, -1, 7854, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 3214, 3217, -1, 7857, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 3219, UINT16_MAX, 7856, -1, 7856, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 3222, 3225, -1, 7859, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 3227, UINT16_MAX, 7858, -1, 7858, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 3230, 3233, -1, 7861, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 3235, UINT16_MAX, 7860, -1, 7860, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 3238, 3241, -1, 7863, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 3243, UINT16_MAX, 7862, -1, 7862, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 3246, 3249, -1, 7865, -1, 12852, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 3251, UINT16_MAX, 7864, -1, 7864, 12920, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 3254, 3257, -1, 7867, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 3259, UINT16_MAX, 7866, -1, 7866, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 3262, 3265, -1, 7869, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 3267, UINT16_MAX, 7868, -1, 7868, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 3270, 3273, -1, 7871, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 3275, UINT16_MAX, 7870, -1, 7870, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 3278, 3281, -1, 7873, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 3283, UINT16_MAX, 7872, -1, 7872, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 3286, 3289, -1, 7875, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 3291, UINT16_MAX, 7874, -1, 7874, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 3294, 3297, -1, 7877, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 3299, UINT16_MAX, 7876, -1, 7876, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 3302, 3305, -1, 7879, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 3307, UINT16_MAX, 7878, -1, 7878, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 3310, 3313, -1, 7881, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 3315, UINT16_MAX, 7880, -1, 7880, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 3318, 3321, -1, 7883, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 3323, UINT16_MAX, 7882, -1, 7882, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 3326, 3329, -1, 7885, -1, 13124, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 3331, UINT16_MAX, 7884, -1, 7884, 13192, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 3334, 3337, -1, 7887, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 3339, UINT16_MAX, 7886, -1, 7886, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 3342, 3345, -1, 7889, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 3347, UINT16_MAX, 7888, -1, 7888, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 3350, 3353, -1, 7891, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 3355, UINT16_MAX, 7890, -1, 7890, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 3358, 3361, -1, 7893, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 3363, UINT16_MAX, 7892, -1, 7892, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 3366, 3369, -1, 7895, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 3371, UINT16_MAX, 7894, -1, 7894, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 3374, 3377, -1, 7897, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 3379, UINT16_MAX, 7896, -1, 7896, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 3382, 3385, -1, 7899, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 3387, UINT16_MAX, 7898, -1, 7898, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 3390, 3393, -1, 7901, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 3395, UINT16_MAX, 7900, -1, 7900, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 3398, 3401, -1, 7903, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 3403, UINT16_MAX, 7902, -1, 7902, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 3406, 3409, -1, 7905, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 3411, UINT16_MAX, 7904, -1, 7904, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 3414, 3417, -1, 7907, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 3419, UINT16_MAX, 7906, -1, 7906, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 3422, 3425, -1, 7909, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 3427, UINT16_MAX, 7908, -1, 7908, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 3430, 3433, -1, 7911, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 3435, UINT16_MAX, 7910, -1, 7910, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 3438, 3441, -1, 7913, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 3443, UINT16_MAX, 7912, -1, 7912, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 3446, 3449, -1, 7915, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 3451, UINT16_MAX, 7914, -1, 7914, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 3454, 3457, -1, 7917, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 3459, UINT16_MAX, 7916, -1, 7916, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 3462, 3465, -1, 7919, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 3467, UINT16_MAX, 7918, -1, 7918, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 3470, 3473, -1, 7921, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 3475, UINT16_MAX, 7920, -1, 7920, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 3478, 3481, -1, 7923, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 3483, UINT16_MAX, 7922, -1, 7922, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 3486, 3489, -1, 7925, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 3491, UINT16_MAX, 7924, -1, 7924, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 3494, 3497, -1, 7927, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 3499, UINT16_MAX, 7926, -1, 7926, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 3502, 3505, -1, 7929, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 3507, UINT16_MAX, 7928, -1, 7928, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 3510, -1, 7931, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 7930, -1, 7930, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 3512, -1, 7933, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 7932, -1, 7932, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 3514, -1, 7935, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 7934, -1, 7934, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 3516, UINT16_MAX, 7944, -1, 7944, 13532, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 3519, UINT16_MAX, 7945, -1, 7945, 13600, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 3522, UINT16_MAX, 7946, -1, 7946, 15368, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 3525, UINT16_MAX, 7947, -1, 7947, 15436, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 3528, UINT16_MAX, 7948, -1, 7948, 15504, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 3531, UINT16_MAX, 7949, -1, 7949, 15572, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 3534, UINT16_MAX, 7950, -1, 7950, 15640, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 3537, UINT16_MAX, 7951, -1, 7951, 15708, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 3540, 3543, -1, 7936, -1, 13668, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 3545, 3548, -1, 7937, -1, 13736, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 3550, 3553, -1, 7938, -1, 15776, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 3555, 3558, -1, 7939, -1, 15844, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 3560, 3563, -1, 7940, -1, 15912, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 3565, 3568, -1, 7941, -1, 15980, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 3570, 3573, -1, 7942, -1, 16048, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 3575, 3578, -1, 7943, -1, 16116, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 3580, UINT16_MAX, 7960, -1, 7960, 13804, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 3583, UINT16_MAX, 7961, -1, 7961, 13872, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 3586, UINT16_MAX, 7962, -1, 7962, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 3589, UINT16_MAX, 7963, -1, 7963, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 3592, UINT16_MAX, 7964, -1, 7964, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 3595, UINT16_MAX, 7965, -1, 7965, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 3598, 3601, -1, 7952, -1, 13940, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 3603, 3606, -1, 7953, -1, 14008, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 3608, 3611, -1, 7954, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 3613, 3616, -1, 7955, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 3618, 3621, -1, 7956, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 3623, 3626, -1, 7957, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 3628, UINT16_MAX, 7976, -1, 7976, 14076, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 3631, UINT16_MAX, 7977, -1, 7977, 14144, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 3634, UINT16_MAX, 7978, -1, 7978, 16184, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 3637, UINT16_MAX, 7979, -1, 7979, 16252, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 3640, UINT16_MAX, 7980, -1, 7980, 16320, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 3643, UINT16_MAX, 7981, -1, 7981, 16388, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 3646, UINT16_MAX, 7982, -1, 7982, 16456, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 3649, UINT16_MAX, 7983, -1, 7983, 16524, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 3652, 3655, -1, 7968, -1, 14212, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 3657, 3660, -1, 7969, -1, 14280, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 3662, 3665, -1, 7970, -1, 16592, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 3667, 3670, -1, 7971, -1, 16660, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 3672, 3675, -1, 7972, -1, 16728, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 3677, 3680, -1, 7973, -1, 16796, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 3682, 3685, -1, 7974, -1, 16864, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 3687, 3690, -1, 7975, -1, 16932, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 3692, UINT16_MAX, 7992, -1, 7992, 14348, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 3695, UINT16_MAX, 7993, -1, 7993, 14416, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 3698, UINT16_MAX, 7994, -1, 7994, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 3701, UINT16_MAX, 7995, -1, 7995, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 3704, UINT16_MAX, 7996, -1, 7996, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 3707, UINT16_MAX, 7997, -1, 7997, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 3710, UINT16_MAX, 7998, -1, 7998, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 3713, UINT16_MAX, 7999, -1, 7999, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 3716, 3719, -1, 7984, -1, 14484, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 3721, 3724, -1, 7985, -1, 14552, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 3726, 3729, -1, 7986, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 3731, 3734, -1, 7987, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 3736, 3739, -1, 7988, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 3741, 3744, -1, 7989, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 3746, 3749, -1, 7990, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 3751, 3754, -1, 7991, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 3756, UINT16_MAX, 8008, -1, 8008, 14620, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 3759, UINT16_MAX, 8009, -1, 8009, 14688, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 3762, UINT16_MAX, 8010, -1, 8010, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 3765, UINT16_MAX, 8011, -1, 8011, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 3768, UINT16_MAX, 8012, -1, 8012, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 3771, UINT16_MAX, 8013, -1, 8013, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 3774, 3777, -1, 8000, -1, 14756, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 3779, 3782, -1, 8001, -1, 14824, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 3784, 3787, -1, 8002, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 3789, 3792, -1, 8003, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 3794, 3797, -1, 8004, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 3799, 3802, -1, 8005, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 3804, 3804, -1, -1, -1, 14892, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 3807, UINT16_MAX, 8025, -1, 8025, 14960, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 3810, 3813, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 3817, UINT16_MAX, 8027, -1, 8027, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 3820, 3823, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 3827, UINT16_MAX, 8029, -1, 8029, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 3830, 3833, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 3837, UINT16_MAX, 8031, -1, 8031, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 3840, 3843, -1, 8017, -1, 15028, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 3845, 3848, -1, 8019, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 3850, 3853, -1, 8021, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 3855, 3858, -1, 8023, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 3860, UINT16_MAX, 8040, -1, 8040, 15096, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 3863, UINT16_MAX, 8041, -1, 8041, 15164, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 3866, UINT16_MAX, 8042, -1, 8042, 17000, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 3869, UINT16_MAX, 8043, -1, 8043, 17068, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 3872, UINT16_MAX, 8044, -1, 8044, 17136, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 3875, UINT16_MAX, 8045, -1, 8045, 17204, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 3878, UINT16_MAX, 8046, -1, 8046, 17272, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 3881, UINT16_MAX, 8047, -1, 8047, 17340, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 3884, 3887, -1, 8032, -1, 15232, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 3889, 3892, -1, 8033, -1, 15300, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 3894, 3897, -1, 8034, -1, 17408, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 3899, 3902, -1, 8035, -1, 17476, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 3904, 3907, -1, 8036, -1, 17544, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 3909, 3912, -1, 8037, -1, 17612, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 3914, 3917, -1, 8038, -1, 17680, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 3919, 3922, -1, 8039, -1, 17748, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 3924, UINT16_MAX, 8122, -1, 8122, 17816, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 1349, UINT16_MAX, 8123, -1, 8123, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 3927, UINT16_MAX, 8136, -1, 8136, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 1356, UINT16_MAX, 8137, -1, 8137, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 3930, UINT16_MAX, 8138, -1, 8138, 18020, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 1361, UINT16_MAX, 8139, -1, 8139, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 3933, UINT16_MAX, 8154, -1, 8154, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 1366, UINT16_MAX, 8155, -1, 8155, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 3936, UINT16_MAX, 8184, -1, 8184, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 1371, UINT16_MAX, 8185, -1, 8185, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 3939, UINT16_MAX, 8170, -1, 8170, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 1376, UINT16_MAX, 8171, -1, 8171, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 3942, UINT16_MAX, 8186, -1, 8186, 18496, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 1381, UINT16_MAX, 8187, -1, 8187, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 3945, 3948, 8072, -1, 8072, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 3951, 3954, 8073, -1, 8073, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 3957, 3960, 8074, -1, 8074, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 3963, 3966, 8075, -1, 8075, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 3969, 3972, 8076, -1, 8076, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 3975, 3978, 8077, -1, 8077, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 3981, 3984, 8078, -1, 8078, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 3987, 3990, 8079, -1, 8079, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LT, 0, UTF8PROC_BIDI_CLASS_L, 0, 3993, 3996, -1, 8064, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LT, 0, UTF8PROC_BIDI_CLASS_L, 0, 3998, 4001, -1, 8065, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LT, 0, UTF8PROC_BIDI_CLASS_L, 0, 4003, 4006, -1, 8066, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LT, 0, UTF8PROC_BIDI_CLASS_L, 0, 4008, 4011, -1, 8067, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LT, 0, UTF8PROC_BIDI_CLASS_L, 0, 4013, 4016, -1, 8068, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LT, 0, UTF8PROC_BIDI_CLASS_L, 0, 4018, 4021, -1, 8069, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LT, 0, UTF8PROC_BIDI_CLASS_L, 0, 4023, 4026, -1, 8070, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LT, 0, UTF8PROC_BIDI_CLASS_L, 0, 4028, 4031, -1, 8071, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 4033, 4036, 8088, -1, 8088, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 4039, 4042, 8089, -1, 8089, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 4045, 4048, 8090, -1, 8090, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 4051, 4054, 8091, -1, 8091, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 4057, 4060, 8092, -1, 8092, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 4063, 4066, 8093, -1, 8093, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 4069, 4072, 8094, -1, 8094, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 4075, 4078, 8095, -1, 8095, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LT, 0, UTF8PROC_BIDI_CLASS_L, 0, 4081, 4084, -1, 8080, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LT, 0, UTF8PROC_BIDI_CLASS_L, 0, 4086, 4089, -1, 8081, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LT, 0, UTF8PROC_BIDI_CLASS_L, 0, 4091, 4094, -1, 8082, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LT, 0, UTF8PROC_BIDI_CLASS_L, 0, 4096, 4099, -1, 8083, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LT, 0, UTF8PROC_BIDI_CLASS_L, 0, 4101, 4104, -1, 8084, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LT, 0, UTF8PROC_BIDI_CLASS_L, 0, 4106, 4109, -1, 8085, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LT, 0, UTF8PROC_BIDI_CLASS_L, 0, 4111, 4114, -1, 8086, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LT, 0, UTF8PROC_BIDI_CLASS_L, 0, 4116, 4119, -1, 8087, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 4121, 4124, 8104, -1, 8104, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 4127, 4130, 8105, -1, 8105, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 4133, 4136, 8106, -1, 8106, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 4139, 4142, 8107, -1, 8107, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 4145, 4148, 8108, -1, 8108, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 4151, 4154, 8109, -1, 8109, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 4157, 4160, 8110, -1, 8110, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 4163, 4166, 8111, -1, 8111, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LT, 0, UTF8PROC_BIDI_CLASS_L, 0, 4169, 4172, -1, 8096, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LT, 0, UTF8PROC_BIDI_CLASS_L, 0, 4174, 4177, -1, 8097, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LT, 0, UTF8PROC_BIDI_CLASS_L, 0, 4179, 4182, -1, 8098, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LT, 0, UTF8PROC_BIDI_CLASS_L, 0, 4184, 4187, -1, 8099, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LT, 0, UTF8PROC_BIDI_CLASS_L, 0, 4189, 4192, -1, 8100, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LT, 0, UTF8PROC_BIDI_CLASS_L, 0, 4194, 4197, -1, 8101, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LT, 0, UTF8PROC_BIDI_CLASS_L, 0, 4199, 4202, -1, 8102, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LT, 0, UTF8PROC_BIDI_CLASS_L, 0, 4204, 4207, -1, 8103, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 4209, UINT16_MAX, 8120, -1, 8120, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 4212, UINT16_MAX, 8121, -1, 8121, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 4215, 4218, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 4221, 4224, 8124, -1, 8124, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 4227, 4230, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 4233, 4233, -1, -1, -1, 17952, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 4236, 4239, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 4243, 4246, -1, 8112, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 4248, 4251, -1, 8113, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 4253, 4256, -1, 8048, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 4258, 4260, -1, 8049, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LT, 0, UTF8PROC_BIDI_CLASS_L, 0, 4262, 4265, -1, 8115, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SK, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 4267, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 1326, 1326, 921, -1, 921, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SK, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 4267, UINT16_MAX, -1, -1, -1, 18224, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SK, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 4270, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SK, 0, UTF8PROC_BIDI_CLASS_ON, 0, 4273, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 4276, 4279, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 4282, 4285, 8140, -1, 8140, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 4288, 4291, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 4294, 4294, -1, -1, -1, 18156, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 4297, 4300, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 4304, 4307, -1, 8050, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 4309, 4311, -1, 8051, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 4313, 4316, -1, 8052, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 4318, 4320, -1, 8053, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LT, 0, UTF8PROC_BIDI_CLASS_L, 0, 4322, 4325, -1, 8131, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SK, 0, UTF8PROC_BIDI_CLASS_ON, 0, 4327, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SK, 0, UTF8PROC_BIDI_CLASS_ON, 0, 4330, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SK, 0, UTF8PROC_BIDI_CLASS_ON, 0, 4333, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 4336, UINT16_MAX, 8152, -1, 8152, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 4339, UINT16_MAX, 8153, -1, 8153, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 4342, 4345, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 4349, 1386, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 4351, 4351, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 4354, 4357, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 4361, 4364, -1, 8144, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 4366, 4369, -1, 8145, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 4371, 4374, -1, 8054, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 4376, 4378, -1, 8055, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SK, 0, UTF8PROC_BIDI_CLASS_ON, 0, 4380, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SK, 0, UTF8PROC_BIDI_CLASS_ON, 0, 4383, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SK, 0, UTF8PROC_BIDI_CLASS_ON, 0, 4386, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 4389, UINT16_MAX, 8168, -1, 8168, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 4392, UINT16_MAX, 8169, -1, 8169, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 4395, 4398, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 4402, 1459, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 4404, 4404, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 4407, UINT16_MAX, 8172, -1, 8172, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 4410, 4410, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 4413, 4416, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 4420, 4423, -1, 8160, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 4425, 4428, -1, 8161, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 4430, 4433, -1, 8058, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 4435, 4437, -1, 8059, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 4439, 4442, -1, 8165, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SK, 0, UTF8PROC_BIDI_CLASS_ON, 0, 4444, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SK, 0, UTF8PROC_BIDI_CLASS_ON, 0, 4447, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SK, 0, UTF8PROC_BIDI_CLASS_ON, 0, 4449, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 4451, 4454, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 4457, 4460, 8188, -1, 8188, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 4463, 4466, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 4469, 4469, -1, -1, -1, 18632, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, 4472, 4475, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 4479, 4482, -1, 8056, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 4484, 4486, -1, 8057, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 4488, 4491, -1, 8060, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 4493, 4495, -1, 8061, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LT, 0, UTF8PROC_BIDI_CLASS_L, 0, 4497, 4500, -1, 8179, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SK, 0, UTF8PROC_BIDI_CLASS_ON, 0, 4502, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SK, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 4504, UINT16_MAX, -1, -1, -1, 18292, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_ZS, 0, UTF8PROC_BIDI_CLASS_WS, 0, 4507, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_ZS, 0, UTF8PROC_BIDI_CLASS_WS, 0, 4509, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_ZS, 0, UTF8PROC_BIDI_CLASS_WS, UTF8PROC_DECOMP_TYPE_COMPAT, 52, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_ZS, 0, UTF8PROC_BIDI_CLASS_WS, UTF8PROC_DECOMP_TYPE_COMPAT, 52, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_ZS, 0, UTF8PROC_BIDI_CLASS_WS, UTF8PROC_DECOMP_TYPE_NOBREAK, 52, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_CF, 0, UTF8PROC_BIDI_CLASS_BN, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, true, true, UTF8PROC_BOUNDCLASS_EXTEND, 0},\n  {UTF8PROC_CATEGORY_CF, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, true, true, UTF8PROC_BOUNDCLASS_CONTROL, 0},\n  {UTF8PROC_CATEGORY_CF, 0, UTF8PROC_BIDI_CLASS_R, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, true, true, UTF8PROC_BOUNDCLASS_CONTROL, 0},\n  {UTF8PROC_CATEGORY_PD, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_NOBREAK, 4511, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_PO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 4513, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_PI, 0, UTF8PROC_BIDI_CLASS_ON, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_PF, 0, UTF8PROC_BIDI_CLASS_ON, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_PS, 0, UTF8PROC_BIDI_CLASS_ON, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_PO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 4516, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_PO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 4518, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_PO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 4521, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_ZL, 0, UTF8PROC_BIDI_CLASS_WS, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, true, UTF8PROC_BOUNDCLASS_CONTROL, 0},\n  {UTF8PROC_CATEGORY_ZP, 0, UTF8PROC_BIDI_CLASS_B, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, true, UTF8PROC_BOUNDCLASS_CONTROL, 0},\n  {UTF8PROC_CATEGORY_CF, 0, UTF8PROC_BIDI_CLASS_LRE, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, true, true, UTF8PROC_BOUNDCLASS_CONTROL, 0},\n  {UTF8PROC_CATEGORY_CF, 0, UTF8PROC_BIDI_CLASS_RLE, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, true, true, UTF8PROC_BOUNDCLASS_CONTROL, 0},\n  {UTF8PROC_CATEGORY_CF, 0, UTF8PROC_BIDI_CLASS_PDF, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, true, true, UTF8PROC_BOUNDCLASS_CONTROL, 0},\n  {UTF8PROC_CATEGORY_CF, 0, UTF8PROC_BIDI_CLASS_LRO, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, true, true, UTF8PROC_BOUNDCLASS_CONTROL, 0},\n  {UTF8PROC_CATEGORY_CF, 0, UTF8PROC_BIDI_CLASS_RLO, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, true, true, UTF8PROC_BOUNDCLASS_CONTROL, 0},\n  {UTF8PROC_CATEGORY_PO, 0, UTF8PROC_BIDI_CLASS_ET, UTF8PROC_DECOMP_TYPE_COMPAT, 4525, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_PO, 0, UTF8PROC_BIDI_CLASS_ET, UTF8PROC_DECOMP_TYPE_COMPAT, 4528, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_PO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 4532, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_PO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 4535, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_PO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 4539, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_PO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 4542, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SM, 0, UTF8PROC_BIDI_CLASS_CS, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_PO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 4545, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_PO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 4548, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_PO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 4551, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_PO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 4554, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_CF, 0, UTF8PROC_BIDI_CLASS_LRI, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, true, true, UTF8PROC_BOUNDCLASS_CONTROL, 0},\n  {UTF8PROC_CATEGORY_CF, 0, UTF8PROC_BIDI_CLASS_RLI, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, true, true, UTF8PROC_BOUNDCLASS_CONTROL, 0},\n  {UTF8PROC_CATEGORY_CF, 0, UTF8PROC_BIDI_CLASS_FSI, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, true, true, UTF8PROC_BOUNDCLASS_CONTROL, 0},\n  {UTF8PROC_CATEGORY_CF, 0, UTF8PROC_BIDI_CLASS_PDI, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, true, true, UTF8PROC_BOUNDCLASS_CONTROL, 0},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_EN, UTF8PROC_DECOMP_TYPE_SUPER, 4559, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LM, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SUPER, 16, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_EN, UTF8PROC_DECOMP_TYPE_SUPER, 4561, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_EN, UTF8PROC_DECOMP_TYPE_SUPER, 4563, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_EN, UTF8PROC_DECOMP_TYPE_SUPER, 4565, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_EN, UTF8PROC_DECOMP_TYPE_SUPER, 4567, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_EN, UTF8PROC_DECOMP_TYPE_SUPER, 4569, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_EN, UTF8PROC_DECOMP_TYPE_SUPER, 4571, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SM, 0, UTF8PROC_BIDI_CLASS_ES, UTF8PROC_DECOMP_TYPE_SUPER, 4573, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SM, 0, UTF8PROC_BIDI_CLASS_ES, UTF8PROC_DECOMP_TYPE_SUPER, 4575, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SM, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_SUPER, 4577, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_PS, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_SUPER, 4579, UINT16_MAX, -1, -1, -1, -1, -1, true, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_PE, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_SUPER, 4581, UINT16_MAX, -1, -1, -1, -1, -1, true, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LM, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SUPER, 26, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_EN, UTF8PROC_DECOMP_TYPE_SUB, 4559, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_EN, UTF8PROC_DECOMP_TYPE_SUB, 72, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_EN, UTF8PROC_DECOMP_TYPE_SUB, 60, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_EN, UTF8PROC_DECOMP_TYPE_SUB, 62, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_EN, UTF8PROC_DECOMP_TYPE_SUB, 4561, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_EN, UTF8PROC_DECOMP_TYPE_SUB, 4563, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_EN, UTF8PROC_DECOMP_TYPE_SUB, 4565, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_EN, UTF8PROC_DECOMP_TYPE_SUB, 4567, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_EN, UTF8PROC_DECOMP_TYPE_SUB, 4569, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_EN, UTF8PROC_DECOMP_TYPE_SUB, 4571, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SM, 0, UTF8PROC_BIDI_CLASS_ES, UTF8PROC_DECOMP_TYPE_SUB, 4573, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SM, 0, UTF8PROC_BIDI_CLASS_ES, UTF8PROC_DECOMP_TYPE_SUB, 4575, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SM, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_SUB, 4577, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_PS, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_SUB, 4579, UINT16_MAX, -1, -1, -1, -1, -1, true, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_PE, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_SUB, 4581, UINT16_MAX, -1, -1, -1, -1, -1, true, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LM, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SUB, 0, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LM, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SUB, 8, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LM, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SUB, 28, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LM, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SUB, 46, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LM, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SUB, 792, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LM, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SUB, 14, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LM, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SUB, 20, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LM, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SUB, 22, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LM, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SUB, 24, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LM, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SUB, 26, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LM, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SUB, 30, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LM, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SUB, 36, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LM, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SUB, 38, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SC, 0, UTF8PROC_BIDI_CLASS_ET, UTF8PROC_DECOMP_TYPE_COMPAT, 4583, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 4586, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 4590, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 4594, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 4596, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 4599, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 4603, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 4607, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 4609, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 12, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 2444, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 14, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 454, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 2446, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 2452, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 22, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 2456, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 4612, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 2462, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 4615, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 2464, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_SUPER, 4617, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 4620, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_SUPER, 4624, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 4627, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 4629, 1432, -1, 969, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 2450, 20, -1, 107, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, 4631, 114, -1, 229, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 2434, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 8, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 2438, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 4633, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 4635, -1, 8526, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 2454, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 28, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 4637, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 4639, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 4641, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 4643, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 16, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 4645, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 1416, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 1394, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 4649, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 4651, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SM, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_FONT, 4653, UINT16_MAX, -1, -1, -1, -1, -1, true, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 2436, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 6, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 18, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 8498, -1, 8498, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_FRACTION, 4655, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_FRACTION, 4659, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_FRACTION, 4663, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_FRACTION, 4668, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_FRACTION, 4672, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_FRACTION, 4676, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_FRACTION, 4680, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_FRACTION, 4684, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_FRACTION, 4688, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_FRACTION, 4692, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_FRACTION, 4696, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_FRACTION, 4700, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_FRACTION, 4704, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_FRACTION, 4708, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_FRACTION, 4712, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_FRACTION, 4716, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_NL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 2446, 4719, -1, 8560, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_NL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 4721, 4724, -1, 8561, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_NL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 4726, 4730, -1, 8562, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_NL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 4732, 4735, -1, 8563, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_NL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 4737, 4739, -1, 8564, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_NL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 4741, 4744, -1, 8565, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_NL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 4746, 4750, -1, 8566, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_NL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 4752, 4757, -1, 8567, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_NL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 4759, 4762, -1, 8568, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_NL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 4764, 4766, -1, 8569, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_NL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 4768, 4771, -1, 8570, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_NL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 4773, 4777, -1, 8571, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_NL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 2452, 4779, -1, 8572, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_NL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 4594, 4781, -1, 8573, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_NL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 2436, 4783, -1, 8574, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_NL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 2454, 4785, -1, 8575, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_NL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 16, UINT16_MAX, 8544, -1, 8544, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_NL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 4787, UINT16_MAX, 8545, -1, 8545, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_NL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 4790, UINT16_MAX, 8546, -1, 8546, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_NL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 4794, UINT16_MAX, 8547, -1, 8547, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_NL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 42, UINT16_MAX, 8548, -1, 8548, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_NL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 4797, UINT16_MAX, 8549, -1, 8549, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_NL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 4800, UINT16_MAX, 8550, -1, 8550, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_NL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 4804, UINT16_MAX, 8551, -1, 8551, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_NL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 4809, UINT16_MAX, 8552, -1, 8552, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_NL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 46, UINT16_MAX, 8553, -1, 8553, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_NL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 4812, UINT16_MAX, 8554, -1, 8554, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_NL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 4815, UINT16_MAX, 8555, -1, 8555, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_NL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 22, UINT16_MAX, 8556, -1, 8556, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_NL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 4, UINT16_MAX, 8557, -1, 8557, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_NL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6, UINT16_MAX, 8558, -1, 8558, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_NL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 24, UINT16_MAX, 8559, -1, 8559, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_NL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 4819, -1, 8580, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 8579, -1, 8579, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_FRACTION, 4821, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SM, 0, UTF8PROC_BIDI_CLASS_ON, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, 18700, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SM, 0, UTF8PROC_BIDI_CLASS_ON, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, 18768, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SM, 0, UTF8PROC_BIDI_CLASS_ON, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, 18836, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SM, 0, UTF8PROC_BIDI_CLASS_ON, 0, 4825, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SM, 0, UTF8PROC_BIDI_CLASS_ON, 0, 4828, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SM, 0, UTF8PROC_BIDI_CLASS_ON, 0, 4831, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, 0, 4834, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SM, 0, UTF8PROC_BIDI_CLASS_ON, 0, 4837, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SM, 0, UTF8PROC_BIDI_CLASS_ON, 0, 4840, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, 18904, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SM, 0, UTF8PROC_BIDI_CLASS_ON, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, 19040, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SM, 0, UTF8PROC_BIDI_CLASS_ON, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, 18972, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SM, 0, UTF8PROC_BIDI_CLASS_ON, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, true, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SM, 0, UTF8PROC_BIDI_CLASS_ON, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, 19108, -1, true, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SM, 0, UTF8PROC_BIDI_CLASS_ON, 0, 4843, UINT16_MAX, -1, -1, -1, -1, -1, true, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SM, 0, UTF8PROC_BIDI_CLASS_ON, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, 19176, -1, true, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SM, 0, UTF8PROC_BIDI_CLASS_ON, 0, 4846, UINT16_MAX, -1, -1, -1, -1, -1, true, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SM, 0, UTF8PROC_BIDI_CLASS_ON, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, 19244, -1, true, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SM, 0, UTF8PROC_BIDI_CLASS_ON, 0, 4849, UINT16_MAX, -1, -1, -1, -1, -1, true, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SM, 0, UTF8PROC_BIDI_CLASS_ON, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, 19312, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SM, 0, UTF8PROC_BIDI_CLASS_ON, 0, 4852, UINT16_MAX, -1, -1, -1, -1, -1, true, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SM, 0, UTF8PROC_BIDI_CLASS_ON, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, 19380, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SM, 0, UTF8PROC_BIDI_CLASS_ON, 0, 4855, UINT16_MAX, -1, -1, -1, -1, -1, true, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SM, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 4858, UINT16_MAX, -1, -1, -1, -1, -1, true, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SM, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 4861, UINT16_MAX, -1, -1, -1, -1, -1, true, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SM, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 4865, UINT16_MAX, -1, -1, -1, -1, -1, true, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SM, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 4868, UINT16_MAX, -1, -1, -1, -1, -1, true, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SM, 0, UTF8PROC_BIDI_CLASS_ON, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, 19448, -1, true, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SM, 0, UTF8PROC_BIDI_CLASS_ON, 0, 4872, UINT16_MAX, -1, -1, -1, -1, -1, true, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SM, 0, UTF8PROC_BIDI_CLASS_ON, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, 19516, -1, true, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SM, 0, UTF8PROC_BIDI_CLASS_ON, 0, 4875, UINT16_MAX, -1, -1, -1, -1, -1, true, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SM, 0, UTF8PROC_BIDI_CLASS_ON, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, 19584, -1, true, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SM, 0, UTF8PROC_BIDI_CLASS_ON, 0, 4878, UINT16_MAX, -1, -1, -1, -1, -1, true, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SM, 0, UTF8PROC_BIDI_CLASS_ON, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, 19652, -1, true, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SM, 0, UTF8PROC_BIDI_CLASS_ON, 0, 4881, UINT16_MAX, -1, -1, -1, -1, -1, true, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SM, 0, UTF8PROC_BIDI_CLASS_ON, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, 19856, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SM, 0, UTF8PROC_BIDI_CLASS_ON, 0, 4884, UINT16_MAX, -1, -1, -1, -1, -1, true, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SM, 0, UTF8PROC_BIDI_CLASS_ON, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, 19788, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SM, 0, UTF8PROC_BIDI_CLASS_ON, 0, 4887, UINT16_MAX, -1, -1, -1, -1, -1, true, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SM, 0, UTF8PROC_BIDI_CLASS_ON, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, 20060, -1, true, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SM, 0, UTF8PROC_BIDI_CLASS_ON, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, 20128, -1, true, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SM, 0, UTF8PROC_BIDI_CLASS_ON, 0, 4890, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SM, 0, UTF8PROC_BIDI_CLASS_ON, 0, 4893, UINT16_MAX, -1, -1, -1, -1, -1, true, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SM, 0, UTF8PROC_BIDI_CLASS_ON, 0, 4896, UINT16_MAX, -1, -1, -1, -1, -1, true, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SM, 0, UTF8PROC_BIDI_CLASS_ON, 0, 4899, UINT16_MAX, -1, -1, -1, -1, -1, true, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SM, 0, UTF8PROC_BIDI_CLASS_ON, 0, 4902, UINT16_MAX, -1, -1, -1, -1, -1, true, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SM, 0, UTF8PROC_BIDI_CLASS_ON, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, 20196, -1, true, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SM, 0, UTF8PROC_BIDI_CLASS_ON, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, 20264, -1, true, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SM, 0, UTF8PROC_BIDI_CLASS_ON, 0, 4905, UINT16_MAX, -1, -1, -1, -1, -1, true, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SM, 0, UTF8PROC_BIDI_CLASS_ON, 0, 4908, UINT16_MAX, -1, -1, -1, -1, -1, true, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SM, 0, UTF8PROC_BIDI_CLASS_ON, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, 20332, -1, true, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SM, 0, UTF8PROC_BIDI_CLASS_ON, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, 20400, -1, true, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SM, 0, UTF8PROC_BIDI_CLASS_ON, 0, 4911, UINT16_MAX, -1, -1, -1, -1, -1, true, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SM, 0, UTF8PROC_BIDI_CLASS_ON, 0, 4914, UINT16_MAX, -1, -1, -1, -1, -1, true, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SM, 0, UTF8PROC_BIDI_CLASS_ON, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, 20468, -1, true, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SM, 0, UTF8PROC_BIDI_CLASS_ON, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, 20536, -1, true, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SM, 0, UTF8PROC_BIDI_CLASS_ON, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, 21148, -1, true, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SM, 0, UTF8PROC_BIDI_CLASS_ON, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, 21216, -1, true, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SM, 0, UTF8PROC_BIDI_CLASS_ON, 0, 4917, UINT16_MAX, -1, -1, -1, -1, -1, true, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SM, 0, UTF8PROC_BIDI_CLASS_ON, 0, 4920, UINT16_MAX, -1, -1, -1, -1, -1, true, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SM, 0, UTF8PROC_BIDI_CLASS_ON, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, 20604, -1, true, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SM, 0, UTF8PROC_BIDI_CLASS_ON, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, 20672, -1, true, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SM, 0, UTF8PROC_BIDI_CLASS_ON, 0, 4923, UINT16_MAX, -1, -1, -1, -1, -1, true, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SM, 0, UTF8PROC_BIDI_CLASS_ON, 0, 4926, UINT16_MAX, -1, -1, -1, -1, -1, true, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SM, 0, UTF8PROC_BIDI_CLASS_ON, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, 20740, -1, true, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SM, 0, UTF8PROC_BIDI_CLASS_ON, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, 20808, -1, true, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SM, 0, UTF8PROC_BIDI_CLASS_ON, 0, 4929, UINT16_MAX, -1, -1, -1, -1, -1, true, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SM, 0, UTF8PROC_BIDI_CLASS_ON, 0, 4932, UINT16_MAX, -1, -1, -1, -1, -1, true, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SM, 0, UTF8PROC_BIDI_CLASS_ON, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, 21284, -1, true, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SM, 0, UTF8PROC_BIDI_CLASS_ON, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, 21352, -1, true, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SM, 0, UTF8PROC_BIDI_CLASS_ON, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, 20876, -1, true, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SM, 0, UTF8PROC_BIDI_CLASS_ON, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, 20944, -1, true, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SM, 0, UTF8PROC_BIDI_CLASS_ON, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, 21012, -1, true, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SM, 0, UTF8PROC_BIDI_CLASS_ON, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, 21080, -1, true, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SM, 0, UTF8PROC_BIDI_CLASS_ON, 0, 4935, UINT16_MAX, -1, -1, -1, -1, -1, true, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SM, 0, UTF8PROC_BIDI_CLASS_ON, 0, 4938, UINT16_MAX, -1, -1, -1, -1, -1, true, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SM, 0, UTF8PROC_BIDI_CLASS_ON, 0, 4941, UINT16_MAX, -1, -1, -1, -1, -1, true, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SM, 0, UTF8PROC_BIDI_CLASS_ON, 0, 4944, UINT16_MAX, -1, -1, -1, -1, -1, true, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SM, 0, UTF8PROC_BIDI_CLASS_ON, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, 21420, -1, true, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SM, 0, UTF8PROC_BIDI_CLASS_ON, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, 21488, -1, true, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SM, 0, UTF8PROC_BIDI_CLASS_ON, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, 21556, -1, true, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SM, 0, UTF8PROC_BIDI_CLASS_ON, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, 21624, -1, true, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SM, 0, UTF8PROC_BIDI_CLASS_ON, 0, 4947, UINT16_MAX, -1, -1, -1, -1, -1, true, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SM, 0, UTF8PROC_BIDI_CLASS_ON, 0, 4950, UINT16_MAX, -1, -1, -1, -1, -1, true, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SM, 0, UTF8PROC_BIDI_CLASS_ON, 0, 4953, UINT16_MAX, -1, -1, -1, -1, -1, true, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SM, 0, UTF8PROC_BIDI_CLASS_ON, 0, 4956, UINT16_MAX, -1, -1, -1, -1, -1, true, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SM, 0, UTF8PROC_BIDI_CLASS_ON, 0, 4959, UINT16_MAX, -1, -1, -1, -1, -1, true, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SM, 0, UTF8PROC_BIDI_CLASS_ON, 0, 4962, UINT16_MAX, -1, -1, -1, -1, -1, true, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SM, 0, UTF8PROC_BIDI_CLASS_ON, 0, 4965, UINT16_MAX, -1, -1, -1, -1, -1, true, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SM, 0, UTF8PROC_BIDI_CLASS_ON, 0, 4968, UINT16_MAX, -1, -1, -1, -1, -1, true, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SM, 0, UTF8PROC_BIDI_CLASS_ON, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, true, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_PS, 0, UTF8PROC_BIDI_CLASS_ON, 0, 4971, UINT16_MAX, -1, -1, -1, -1, -1, true, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_PE, 0, UTF8PROC_BIDI_CLASS_ON, 0, 4973, UINT16_MAX, -1, -1, -1, -1, -1, true, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_CIRCLE, 72, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_CIRCLE, 60, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_CIRCLE, 62, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_CIRCLE, 4561, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_CIRCLE, 4563, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_CIRCLE, 4565, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_CIRCLE, 4567, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_CIRCLE, 4569, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_CIRCLE, 4571, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_CIRCLE, 4975, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_CIRCLE, 4978, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_CIRCLE, 4981, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_CIRCLE, 4984, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_CIRCLE, 4987, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_CIRCLE, 4990, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_CIRCLE, 4993, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_CIRCLE, 4996, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_CIRCLE, 4999, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_CIRCLE, 5002, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_CIRCLE, 5005, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5008, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5012, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5016, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5020, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5024, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5028, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5032, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5036, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5040, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5044, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5049, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5054, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5059, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5064, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5069, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5074, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5079, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5084, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5089, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5094, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_EN, UTF8PROC_DECOMP_TYPE_COMPAT, 5099, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_EN, UTF8PROC_DECOMP_TYPE_COMPAT, 5102, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_EN, UTF8PROC_DECOMP_TYPE_COMPAT, 5105, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_EN, UTF8PROC_DECOMP_TYPE_COMPAT, 5108, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_EN, UTF8PROC_DECOMP_TYPE_COMPAT, 5111, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_EN, UTF8PROC_DECOMP_TYPE_COMPAT, 5114, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_EN, UTF8PROC_DECOMP_TYPE_COMPAT, 5117, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_EN, UTF8PROC_DECOMP_TYPE_COMPAT, 5120, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_EN, UTF8PROC_DECOMP_TYPE_COMPAT, 5123, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_EN, UTF8PROC_DECOMP_TYPE_COMPAT, 5126, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_EN, UTF8PROC_DECOMP_TYPE_COMPAT, 5130, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_EN, UTF8PROC_DECOMP_TYPE_COMPAT, 5134, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_EN, UTF8PROC_DECOMP_TYPE_COMPAT, 5138, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_EN, UTF8PROC_DECOMP_TYPE_COMPAT, 5142, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_EN, UTF8PROC_DECOMP_TYPE_COMPAT, 5146, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_EN, UTF8PROC_DECOMP_TYPE_COMPAT, 5150, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_EN, UTF8PROC_DECOMP_TYPE_COMPAT, 5154, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_EN, UTF8PROC_DECOMP_TYPE_COMPAT, 5158, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_EN, UTF8PROC_DECOMP_TYPE_COMPAT, 5162, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_EN, UTF8PROC_DECOMP_TYPE_COMPAT, 5166, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 5170, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 5174, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 5178, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 5182, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 5186, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 5190, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 5194, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 5198, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 5202, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 5206, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 5210, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 5214, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 5218, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 5222, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 5226, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 5230, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 5234, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 5238, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 5242, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 5246, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 5250, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 5254, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 5258, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 5262, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 5266, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 5270, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 2430, 5274, -1, 9424, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 2434, 5276, -1, 9425, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 4594, 5278, -1, 9426, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 2436, 5280, -1, 9427, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 2438, 5282, -1, 9428, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 4633, 5284, -1, 9429, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 2442, 5286, -1, 9430, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 2444, 5288, -1, 9431, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 2446, 5290, -1, 9432, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 2448, 5292, -1, 9433, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 2450, 5294, -1, 9434, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 2452, 5296, -1, 9435, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 2454, 5298, -1, 9436, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 2456, 5300, -1, 9437, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 2458, 5302, -1, 9438, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 2462, 5304, -1, 9439, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 4615, 5306, -1, 9440, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 2464, 5308, -1, 9441, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 5310, 5312, -1, 9442, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 2466, 5314, -1, 9443, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 2468, 5316, -1, 9444, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 4737, 5318, -1, 9445, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 2470, 5320, -1, 9446, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 4764, 5322, -1, 9447, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 5324, 5326, -1, 9448, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 4627, 5328, -1, 9449, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 0, UINT16_MAX, 9398, -1, 9398, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 2, UINT16_MAX, 9399, -1, 9399, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 4, UINT16_MAX, 9400, -1, 9400, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 6, UINT16_MAX, 9401, -1, 9401, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 8, UINT16_MAX, 9402, -1, 9402, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 10, UINT16_MAX, 9403, -1, 9403, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 12, UINT16_MAX, 9404, -1, 9404, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 14, UINT16_MAX, 9405, -1, 9405, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 16, UINT16_MAX, 9406, -1, 9406, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 18, UINT16_MAX, 9407, -1, 9407, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 20, UINT16_MAX, 9408, -1, 9408, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 22, UINT16_MAX, 9409, -1, 9409, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 24, UINT16_MAX, 9410, -1, 9410, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 26, UINT16_MAX, 9411, -1, 9411, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 28, UINT16_MAX, 9412, -1, 9412, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 30, UINT16_MAX, 9413, -1, 9413, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 32, UINT16_MAX, 9414, -1, 9414, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 34, UINT16_MAX, 9415, -1, 9415, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 36, UINT16_MAX, 9416, -1, 9416, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 38, UINT16_MAX, 9417, -1, 9417, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 40, UINT16_MAX, 9418, -1, 9418, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 42, UINT16_MAX, 9419, -1, 9419, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 44, UINT16_MAX, 9420, -1, 9420, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 46, UINT16_MAX, 9421, -1, 9421, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 48, UINT16_MAX, 9422, -1, 9422, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 50, UINT16_MAX, 9423, -1, 9423, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_CIRCLE, 4559, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SM, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5330, UINT16_MAX, -1, -1, -1, -1, -1, true, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SM, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5335, UINT16_MAX, -1, -1, -1, -1, -1, true, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SM, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5339, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SM, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5342, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SM, 0, UTF8PROC_BIDI_CLASS_ON, 0, 5346, UINT16_MAX, -1, -1, -1, -1, -1, true, true, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SM, 0, UTF8PROC_BIDI_CLASS_ON, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, 21692, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 5349, -1, 11312, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 5351, -1, 11313, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 5353, -1, 11314, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 5355, -1, 11315, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 5357, -1, 11316, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 5359, -1, 11317, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 5361, -1, 11318, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 5363, -1, 11319, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 5365, -1, 11320, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 5367, -1, 11321, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 5369, -1, 11322, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 5371, -1, 11323, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 5373, -1, 11324, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 5375, -1, 11325, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 5377, -1, 11326, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 5379, -1, 11327, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 5381, -1, 11328, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 5383, -1, 11329, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 5385, -1, 11330, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 5387, -1, 11331, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 5389, -1, 11332, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 5391, -1, 11333, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 5393, -1, 11334, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 5395, -1, 11335, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 5397, -1, 11336, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 5399, -1, 11337, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 5401, -1, 11338, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 5403, -1, 11339, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 5405, -1, 11340, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 5407, -1, 11341, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 5409, -1, 11342, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 5411, -1, 11343, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 5413, -1, 11344, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 5415, -1, 11345, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 5417, -1, 11346, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 5419, -1, 11347, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 5421, -1, 11348, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 5423, -1, 11349, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 5425, -1, 11350, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 5427, -1, 11351, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 5429, -1, 11352, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 5431, -1, 11353, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 5433, -1, 11354, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 5435, -1, 11355, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 5437, -1, 11356, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 5439, -1, 11357, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 5441, -1, 11358, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 11264, -1, 11264, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 11265, -1, 11265, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 11266, -1, 11266, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 11267, -1, 11267, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 11268, -1, 11268, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 11269, -1, 11269, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 11270, -1, 11270, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 11271, -1, 11271, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 11272, -1, 11272, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 11273, -1, 11273, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 11274, -1, 11274, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 11275, -1, 11275, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 11276, -1, 11276, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 11277, -1, 11277, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 11278, -1, 11278, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 11279, -1, 11279, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 11280, -1, 11280, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 11281, -1, 11281, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 11282, -1, 11282, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 11283, -1, 11283, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 11284, -1, 11284, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 11285, -1, 11285, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 11286, -1, 11286, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 11287, -1, 11287, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 11288, -1, 11288, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 11289, -1, 11289, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 11290, -1, 11290, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 11291, -1, 11291, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 11292, -1, 11292, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 11293, -1, 11293, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 11294, -1, 11294, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 11295, -1, 11295, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 11296, -1, 11296, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 11297, -1, 11297, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 11298, -1, 11298, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 11299, -1, 11299, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 11300, -1, 11300, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 11301, -1, 11301, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 11302, -1, 11302, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 11303, -1, 11303, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 11304, -1, 11304, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 11305, -1, 11305, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 11306, -1, 11306, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 11307, -1, 11307, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 11308, -1, 11308, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 11309, -1, 11309, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 11310, -1, 11310, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 5443, -1, 11361, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 11360, -1, 11360, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 5445, -1, 619, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 5447, -1, 7549, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 5449, -1, 637, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 570, -1, 570, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 574, -1, 574, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 5451, -1, 11368, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 11367, -1, 11367, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 5453, -1, 11370, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 11369, -1, 11369, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 5455, -1, 11372, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 11371, -1, 11371, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 2474, -1, 593, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 2510, -1, 625, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 2472, -1, 592, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 2488, -1, 594, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 5457, -1, 11379, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 11378, -1, 11378, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 5459, -1, 11382, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 11381, -1, 11381, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LM, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SUB, 18, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LM, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SUPER, 4737, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 5461, -1, 575, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 5463, -1, 576, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 5465, -1, 11393, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 11392, -1, 11392, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 5467, -1, 11395, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 11394, -1, 11394, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 5469, -1, 11397, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 11396, -1, 11396, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 5471, -1, 11399, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 11398, -1, 11398, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 5473, -1, 11401, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 11400, -1, 11400, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 5475, -1, 11403, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 11402, -1, 11402, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 5477, -1, 11405, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 11404, -1, 11404, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 5479, -1, 11407, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 11406, -1, 11406, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 5481, -1, 11409, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 11408, -1, 11408, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 5483, -1, 11411, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 11410, -1, 11410, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 5485, -1, 11413, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 11412, -1, 11412, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 5487, -1, 11415, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 11414, -1, 11414, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 5489, -1, 11417, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 11416, -1, 11416, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 5491, -1, 11419, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 11418, -1, 11418, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 5493, -1, 11421, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 11420, -1, 11420, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 5495, -1, 11423, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 11422, -1, 11422, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 5497, -1, 11425, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 11424, -1, 11424, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 5499, -1, 11427, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 11426, -1, 11426, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 5501, -1, 11429, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 11428, -1, 11428, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 5503, -1, 11431, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 11430, -1, 11430, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 5505, -1, 11433, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 11432, -1, 11432, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 5507, -1, 11435, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 11434, -1, 11434, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 5509, -1, 11437, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 11436, -1, 11436, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 5511, -1, 11439, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 11438, -1, 11438, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 5513, -1, 11441, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 11440, -1, 11440, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 5515, -1, 11443, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 11442, -1, 11442, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 5517, -1, 11445, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 11444, -1, 11444, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 5519, -1, 11447, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 11446, -1, 11446, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 5521, -1, 11449, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 11448, -1, 11448, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 5523, -1, 11451, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 11450, -1, 11450, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 5525, -1, 11453, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 11452, -1, 11452, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 5527, -1, 11455, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 11454, -1, 11454, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 5529, -1, 11457, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 11456, -1, 11456, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 5531, -1, 11459, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 11458, -1, 11458, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 5533, -1, 11461, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 11460, -1, 11460, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 5535, -1, 11463, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 11462, -1, 11462, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 5537, -1, 11465, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 11464, -1, 11464, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 5539, -1, 11467, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 11466, -1, 11466, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 5541, -1, 11469, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 11468, -1, 11468, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 5543, -1, 11471, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 11470, -1, 11470, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 5545, -1, 11473, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 11472, -1, 11472, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 5547, -1, 11475, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 11474, -1, 11474, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 5549, -1, 11477, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 11476, -1, 11476, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 5551, -1, 11479, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 11478, -1, 11478, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 5553, -1, 11481, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 11480, -1, 11480, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 5555, -1, 11483, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 11482, -1, 11482, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 5557, -1, 11485, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 11484, -1, 11484, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 5559, -1, 11487, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 11486, -1, 11486, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 5561, -1, 11489, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 11488, -1, 11488, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 5563, -1, 11491, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 11490, -1, 11490, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 5565, -1, 11500, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 11499, -1, 11499, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 5567, -1, 11502, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 11501, -1, 11501, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 5569, -1, 11507, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 11506, -1, 11506, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 4256, -1, 4256, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 4257, -1, 4257, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 4258, -1, 4258, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 4259, -1, 4259, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 4260, -1, 4260, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 4261, -1, 4261, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 4262, -1, 4262, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 4263, -1, 4263, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 4264, -1, 4264, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 4265, -1, 4265, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 4266, -1, 4266, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 4267, -1, 4267, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 4268, -1, 4268, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 4269, -1, 4269, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 4270, -1, 4270, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 4271, -1, 4271, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 4272, -1, 4272, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 4273, -1, 4273, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 4274, -1, 4274, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 4275, -1, 4275, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 4276, -1, 4276, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 4277, -1, 4277, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 4278, -1, 4278, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 4279, -1, 4279, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 4280, -1, 4280, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 4281, -1, 4281, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 4282, -1, 4282, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 4283, -1, 4283, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 4284, -1, 4284, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 4285, -1, 4285, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 4286, -1, 4286, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 4287, -1, 4287, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 4288, -1, 4288, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 4289, -1, 4289, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 4290, -1, 4290, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 4291, -1, 4291, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 4292, -1, 4292, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 4293, -1, 4293, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 4295, -1, 4295, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 4301, -1, 4301, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LM, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SUPER, 5571, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5573, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5575, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5577, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5579, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5581, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5583, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5585, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5587, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5589, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5591, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5593, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5595, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5597, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5599, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5601, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5603, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5605, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5607, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5609, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5611, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5613, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5615, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5617, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5619, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5621, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5623, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5625, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5627, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5629, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5631, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5633, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5635, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5637, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5639, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5641, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5643, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5645, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5647, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5649, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5651, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5653, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5655, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5657, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5659, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5661, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5663, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5665, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5667, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5669, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5671, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5673, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5675, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5677, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5679, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5681, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5683, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5685, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5687, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5689, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5691, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5693, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5695, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5697, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5699, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5701, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5703, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5705, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5707, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5709, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5711, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5713, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5715, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5717, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5719, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5721, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5723, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5725, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5727, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5729, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5731, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5733, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5735, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5737, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5739, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5741, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5743, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5745, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5747, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5749, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5751, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5753, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5755, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5757, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5759, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5761, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5763, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5765, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5767, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5769, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5771, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5773, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5775, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5777, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5779, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5781, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5783, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5785, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5787, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5789, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5791, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5793, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5795, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5797, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5799, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5801, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5803, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5805, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5807, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5809, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5811, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5813, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5815, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5817, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5819, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5821, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5823, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5825, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5827, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5829, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5831, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5833, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5835, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5837, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5839, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5841, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5843, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5845, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5847, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5849, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5851, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5853, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5855, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5857, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5859, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5861, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5863, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5865, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5867, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5869, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5871, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5873, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5875, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5877, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5879, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5881, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5883, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5885, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5887, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5889, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5891, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5893, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5895, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5897, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5899, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5901, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5903, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5905, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5907, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5909, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5911, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5913, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5915, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5917, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5919, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5921, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5923, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5925, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5927, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5929, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5931, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5933, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5935, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5937, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5939, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5941, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5943, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5945, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5947, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5949, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5951, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5953, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5955, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5957, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5959, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5961, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5963, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5965, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5967, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5969, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5971, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5973, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5975, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5977, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5979, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5981, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5983, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5985, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5987, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5989, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5991, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5993, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5995, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5997, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 5999, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 6001, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 6003, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_ZS, 0, UTF8PROC_BIDI_CLASS_WS, UTF8PROC_DECOMP_TYPE_WIDE, 52, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_PS, 0, UTF8PROC_BIDI_CLASS_ON, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_PE, 0, UTF8PROC_BIDI_CLASS_ON, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_MN, 218, UTF8PROC_BIDI_CLASS_NSM, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_EXTEND, 0},\n  {UTF8PROC_CATEGORY_MC, 224, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_EXTEND, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 6005, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_NL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 5623, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_NL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6007, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_NL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6009, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, 23120, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, 21760, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 6011, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, 21828, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 6014, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, 21896, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 6017, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, 21964, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 6020, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, 22032, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 6023, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, 22100, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 6026, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, 22168, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 6029, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, 22236, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 6032, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, 22304, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 6035, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, 22372, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 6038, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, 22440, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 6041, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, 22508, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 6044, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, 22576, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 6047, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, 22644, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 6050, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, 22712, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 6053, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, 22780, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 6056, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 6059, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, 22848, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 6062, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 6065, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, 22916, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 6068, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 6071, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, 22984, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 6074, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 6077, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, 23052, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 6080, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 6083, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 6086, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_MN, 8, UTF8PROC_BIDI_CLASS_NSM, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, 52, false, false, false, false, UTF8PROC_BOUNDCLASS_EXTEND, 0},\n  {UTF8PROC_CATEGORY_MN, 8, UTF8PROC_BIDI_CLASS_NSM, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, 53, false, false, false, false, UTF8PROC_BOUNDCLASS_EXTEND, 0},\n  {UTF8PROC_CATEGORY_SK, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 6089, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SK, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 6092, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LM, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, 23188, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LM, 0, UTF8PROC_BIDI_CLASS_L, 0, 6095, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_VERTICAL, 6098, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, 24616, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, 23256, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 6101, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, 23324, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 6104, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, 23392, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 6107, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, 23460, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 6110, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, 23528, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 6113, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, 23596, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 6116, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, 23664, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 6119, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, 23732, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 6122, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, 23800, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 6125, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, 23868, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 6128, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, 23936, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 6131, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, 24004, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 6134, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, 24072, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 6137, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, 24140, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 6140, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, 24208, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 6143, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, 24276, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 6146, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 6149, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, 24344, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 6152, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 6155, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, 24412, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 6158, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 6161, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, 24480, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 6164, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 6167, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, 24548, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 6170, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 6173, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, 24684, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, 24752, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, 24820, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, 24888, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 6176, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 6179, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 6182, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 6185, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 6188, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LM, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, 24956, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LM, 0, UTF8PROC_BIDI_CLASS_L, 0, 6191, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_VERTICAL, 6194, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6197, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6199, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6201, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6203, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6205, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6207, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6209, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6211, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6213, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6215, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6217, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6219, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6221, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6223, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6225, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6227, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6229, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6231, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6233, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6235, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6237, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6239, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6241, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6243, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6245, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6247, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6249, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6251, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6253, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6255, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6257, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6259, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6261, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6263, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6265, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6267, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6269, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6271, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6273, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6275, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6277, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6279, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6281, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6283, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6285, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6287, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6289, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6291, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6293, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6295, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6297, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6299, UINT16_MAX, -1, -1, -1, -1, -1, false, false, true, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6301, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6303, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6305, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6307, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6309, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6311, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6313, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6315, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6317, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6319, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6321, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6323, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6325, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6327, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6329, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6331, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6333, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6335, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6337, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6339, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6341, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6343, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6345, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6347, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6349, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6351, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6353, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6355, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6357, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6359, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6361, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6363, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6365, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6367, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6369, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6371, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6373, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6375, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6377, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6379, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6381, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6383, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SUPER, 5577, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SUPER, 5589, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SUPER, 6385, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SUPER, 6387, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SUPER, 6389, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SUPER, 6391, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SUPER, 6393, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SUPER, 6395, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SUPER, 5585, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SUPER, 6397, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SUPER, 6399, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SUPER, 6401, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SUPER, 6403, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SUPER, 5593, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6405, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6409, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6413, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6417, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6421, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6425, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6429, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6433, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6437, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6441, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6445, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6449, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6453, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6457, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6461, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6466, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6471, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6476, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6481, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6486, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6491, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6496, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6501, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6506, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6511, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6516, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6521, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6526, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6531, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 6536, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 6544, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6551, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6555, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6559, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6563, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6567, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6571, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6575, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6579, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6583, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6587, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6591, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6595, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6599, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6603, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6607, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6611, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6615, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6619, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6623, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6627, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6631, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6635, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6639, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6643, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6647, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6651, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6655, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6659, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6663, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6667, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6671, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6675, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6679, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6683, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6687, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6691, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 6695, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 6697, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 5709, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 6699, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_SQUARE, 6701, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_CIRCLE, 6705, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_CIRCLE, 6708, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_CIRCLE, 6711, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_CIRCLE, 6714, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_CIRCLE, 6717, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_CIRCLE, 6720, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_CIRCLE, 6723, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_CIRCLE, 6726, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_CIRCLE, 6729, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_CIRCLE, 6732, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_CIRCLE, 6735, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_CIRCLE, 6738, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_CIRCLE, 6741, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_CIRCLE, 6744, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_CIRCLE, 6747, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 6197, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 6203, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 6209, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 6213, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 6229, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 6231, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 6237, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 6241, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 6243, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 6247, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 6249, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 6251, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 6253, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 6255, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 6750, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 6753, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 6756, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 6759, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 6762, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 6765, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 6768, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 6771, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 6774, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 6777, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 6780, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 6783, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 6786, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 6789, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_CIRCLE, 6792, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_CIRCLE, 6798, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_CIRCLE, 6803, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 5577, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 5589, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 6385, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 6387, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 6806, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 6808, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 6810, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 5599, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 6812, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 5623, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 5723, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 5747, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 5745, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 5725, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 5909, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 5639, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 5719, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 6814, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 6816, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 6818, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 6820, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 6822, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 6824, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 6826, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 6828, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 6830, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 6832, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 5651, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 6834, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 6836, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 6838, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 6840, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 6842, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 6844, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 6846, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 6848, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 6389, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 6391, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 6393, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 6850, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 6852, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 6854, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 6856, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 6858, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 6860, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 6862, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 6864, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 6866, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 6868, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_CIRCLE, 6870, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_CIRCLE, 6873, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_CIRCLE, 6876, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_CIRCLE, 6879, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_CIRCLE, 6882, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_CIRCLE, 6885, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_CIRCLE, 6888, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_CIRCLE, 6891, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_CIRCLE, 6894, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_CIRCLE, 6897, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_CIRCLE, 6900, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_CIRCLE, 6903, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_CIRCLE, 6906, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_CIRCLE, 6909, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_CIRCLE, 6912, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6915, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6918, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6921, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6924, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6927, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6930, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6933, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6936, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6939, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6942, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6946, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 6950, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_SQUARE, 6954, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_SQUARE, 6957, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_SQUARE, 6961, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_SQUARE, 6964, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 6968, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 6970, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 6972, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 6974, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 6976, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 6978, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 6980, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 6982, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 6984, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 6986, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 6988, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 6990, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 6992, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 6994, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 6996, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 6998, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 7000, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 7002, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 7004, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 7006, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 7008, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 7010, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 7012, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 7014, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 7016, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 7018, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 7020, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 7022, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 7024, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 7026, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 7028, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 7030, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 7032, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 7034, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 7036, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 7038, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 7040, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 7042, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 7044, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 7046, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 7048, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 7050, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 7052, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 7054, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 7056, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 7058, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 7060, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7062, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7067, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7072, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7077, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7081, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7086, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7090, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7094, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7100, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7105, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7109, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7113, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7117, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7122, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7127, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7131, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7135, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7138, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7142, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7147, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7152, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7155, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7161, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7168, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7174, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7178, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7184, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7190, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7195, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7199, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7203, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7207, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7212, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7218, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7223, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7227, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7231, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7235, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7238, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7241, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7244, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7247, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7251, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7255, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7261, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7265, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7270, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7276, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7280, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7283, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7286, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7292, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7297, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7303, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7307, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7313, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7316, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7320, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7324, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7328, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7332, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7336, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7341, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7345, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7348, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7352, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7356, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7360, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7365, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7369, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7373, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7377, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7383, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7388, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7391, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7397, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7400, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7405, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7410, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7414, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7418, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7422, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7427, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7430, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7434, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7439, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7442, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7448, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 7452, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 7455, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 7458, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 7461, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 7464, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 7467, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 7470, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 7473, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 7476, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 7479, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 7482, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 7486, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 7490, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 7494, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 7498, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 7502, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 7506, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 7510, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 7514, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 7518, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 7522, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 7526, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 7530, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 7534, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 7538, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7542, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7546, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7549, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7552, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7556, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7559, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_SQUARE, 7562, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_SQUARE, 7565, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_SQUARE, 7569, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_SQUARE, 7573, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7576, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7579, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7582, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7585, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7588, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7593, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7596, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7599, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7602, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7605, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7608, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7611, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7614, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7617, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7621, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7626, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7629, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7632, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7635, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7638, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7641, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7644, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7647, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7651, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7655, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7659, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7663, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7666, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7669, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7672, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7675, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7678, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7681, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7684, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7687, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7690, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7693, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7697, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7701, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7704, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7708, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7712, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7716, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7719, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7723, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7727, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7732, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7735, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7739, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7743, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7747, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7751, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7757, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7764, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7767, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7770, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7773, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7776, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7779, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7782, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7785, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7788, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7791, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7794, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7797, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7800, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7803, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7806, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7809, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7812, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7815, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7818, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7823, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7826, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7829, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7832, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7837, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7841, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7844, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7847, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7850, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7853, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7856, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7859, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7862, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7865, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7868, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7871, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7875, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7878, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7881, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7885, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7889, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7892, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7897, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7901, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7904, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7907, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 7910, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_SQUARE, 7913, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_SQUARE, 7917, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 7921, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 7924, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 7927, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 7930, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 7933, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 7936, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 7939, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 7942, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 7945, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 7948, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 7952, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 7956, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 7960, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 7964, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 7968, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 7972, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 7976, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 7980, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 7984, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 7988, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 7992, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 7996, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 8000, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 8004, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 8008, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 8012, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 8016, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 8020, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 8024, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 8028, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 8032, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_SQUARE, 8036, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8040, -1, 42561, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 42560, -1, 42560, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8042, -1, 42563, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 42562, -1, 42562, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8044, -1, 42565, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 42564, -1, 42564, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8046, -1, 42567, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 42566, -1, 42566, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8048, -1, 42569, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 42568, -1, 42568, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8050, -1, 42571, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 42570, -1, 42570, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8052, -1, 42573, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 42572, -1, 42572, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8054, -1, 42575, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 42574, -1, 42574, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8056, -1, 42577, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 42576, -1, 42576, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8058, -1, 42579, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 42578, -1, 42578, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8060, -1, 42581, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 42580, -1, 42580, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8062, -1, 42583, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 42582, -1, 42582, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8064, -1, 42585, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 42584, -1, 42584, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8066, -1, 42587, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 42586, -1, 42586, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8068, -1, 42589, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 42588, -1, 42588, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8070, -1, 42591, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 42590, -1, 42590, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8072, -1, 42593, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 42592, -1, 42592, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8074, -1, 42595, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 42594, -1, 42594, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8076, -1, 42597, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 42596, -1, 42596, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8078, -1, 42599, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 42598, -1, 42598, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8080, -1, 42601, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 42600, -1, 42600, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8082, -1, 42603, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 42602, -1, 42602, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8084, -1, 42605, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 42604, -1, 42604, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8086, -1, 42625, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 42624, -1, 42624, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8088, -1, 42627, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 42626, -1, 42626, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8090, -1, 42629, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 42628, -1, 42628, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8092, -1, 42631, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 42630, -1, 42630, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8094, -1, 42633, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 42632, -1, 42632, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8096, -1, 42635, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 42634, -1, 42634, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8098, -1, 42637, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 42636, -1, 42636, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8100, -1, 42639, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 42638, -1, 42638, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8102, -1, 42641, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 42640, -1, 42640, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8104, -1, 42643, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 42642, -1, 42642, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8106, -1, 42645, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 42644, -1, 42644, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8108, -1, 42647, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 42646, -1, 42646, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8110, -1, 42649, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 42648, -1, 42648, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8112, -1, 42651, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 42650, -1, 42650, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LM, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SUPER, 1638, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LM, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SUPER, 1642, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8114, -1, 42787, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 42786, -1, 42786, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8116, -1, 42789, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 42788, -1, 42788, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8118, -1, 42791, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 42790, -1, 42790, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8120, -1, 42793, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 42792, -1, 42792, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8122, -1, 42795, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 42794, -1, 42794, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8124, -1, 42797, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 42796, -1, 42796, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8126, -1, 42799, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 42798, -1, 42798, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8128, -1, 42803, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 42802, -1, 42802, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8130, -1, 42805, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 42804, -1, 42804, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8132, -1, 42807, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 42806, -1, 42806, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8134, -1, 42809, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 42808, -1, 42808, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8136, -1, 42811, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 42810, -1, 42810, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8138, -1, 42813, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 42812, -1, 42812, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8140, -1, 42815, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 42814, -1, 42814, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8142, -1, 42817, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 42816, -1, 42816, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8144, -1, 42819, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 42818, -1, 42818, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8146, -1, 42821, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 42820, -1, 42820, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8148, -1, 42823, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 42822, -1, 42822, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8150, -1, 42825, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 42824, -1, 42824, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8152, -1, 42827, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 42826, -1, 42826, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8154, -1, 42829, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 42828, -1, 42828, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8156, -1, 42831, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 42830, -1, 42830, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8158, -1, 42833, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 42832, -1, 42832, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8160, -1, 42835, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 42834, -1, 42834, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8162, -1, 42837, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 42836, -1, 42836, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8164, -1, 42839, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 42838, -1, 42838, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8166, -1, 42841, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 42840, -1, 42840, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8168, -1, 42843, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 42842, -1, 42842, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8170, -1, 42845, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 42844, -1, 42844, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8172, -1, 42847, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 42846, -1, 42846, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8174, -1, 42849, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 42848, -1, 42848, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8176, -1, 42851, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 42850, -1, 42850, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8178, -1, 42853, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 42852, -1, 42852, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8180, -1, 42855, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 42854, -1, 42854, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8182, -1, 42857, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 42856, -1, 42856, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8184, -1, 42859, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 42858, -1, 42858, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8186, -1, 42861, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 42860, -1, 42860, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8188, -1, 42863, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 42862, -1, 42862, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LM, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SUPER, 8188, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8190, -1, 42874, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 42873, -1, 42873, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8192, -1, 42876, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 42875, -1, 42875, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8194, -1, 7545, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8196, -1, 42879, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 42878, -1, 42878, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8198, -1, 42881, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 42880, -1, 42880, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8200, -1, 42883, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 42882, -1, 42882, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8202, -1, 42885, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 42884, -1, 42884, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8204, -1, 42887, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 42886, -1, 42886, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SK, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8206, -1, 42892, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 42891, -1, 42891, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 2496, -1, 613, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8208, -1, 42897, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 42896, -1, 42896, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8210, -1, 42899, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 42898, -1, 42898, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8212, -1, 42903, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 42902, -1, 42902, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8214, -1, 42905, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 42904, -1, 42904, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8216, -1, 42907, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 42906, -1, 42906, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8218, -1, 42909, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 42908, -1, 42908, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8220, -1, 42911, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 42910, -1, 42910, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8222, -1, 42913, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 42912, -1, 42912, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8224, -1, 42915, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 42914, -1, 42914, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8226, -1, 42917, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 42916, -1, 42916, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8228, -1, 42919, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 42918, -1, 42918, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8230, -1, 42921, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 42920, -1, 42920, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 1289, -1, 614, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 2478, -1, 604, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 2494, -1, 609, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8232, -1, 620, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8234, -1, 670, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8236, -1, 647, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 2502, -1, 669, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8238, -1, 43859, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8240, -1, 42933, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 42932, -1, 42932, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8242, -1, 42935, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 42934, -1, 42934, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LM, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SUPER, 8244, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LM, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SUPER, 605, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ET, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 42931, -1, 42931, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LM, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SUPER, 8118, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LM, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SUPER, 8246, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LM, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SUPER, 5445, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LM, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SUPER, 8248, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8250, 5024, -1, 5024, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8252, 5025, -1, 5025, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8254, 5026, -1, 5026, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8256, 5027, -1, 5027, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8258, 5028, -1, 5028, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8260, 5029, -1, 5029, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8262, 5030, -1, 5030, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8264, 5031, -1, 5031, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8266, 5032, -1, 5032, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8268, 5033, -1, 5033, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8270, 5034, -1, 5034, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8272, 5035, -1, 5035, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8274, 5036, -1, 5036, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8276, 5037, -1, 5037, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8278, 5038, -1, 5038, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8280, 5039, -1, 5039, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8282, 5040, -1, 5040, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8284, 5041, -1, 5041, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8286, 5042, -1, 5042, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8288, 5043, -1, 5043, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8290, 5044, -1, 5044, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8292, 5045, -1, 5045, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8294, 5046, -1, 5046, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8296, 5047, -1, 5047, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8298, 5048, -1, 5048, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8300, 5049, -1, 5049, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8302, 5050, -1, 5050, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8304, 5051, -1, 5051, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8306, 5052, -1, 5052, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8308, 5053, -1, 5053, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8310, 5054, -1, 5054, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8312, 5055, -1, 5055, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8314, 5056, -1, 5056, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8316, 5057, -1, 5057, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8318, 5058, -1, 5058, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8320, 5059, -1, 5059, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8322, 5060, -1, 5060, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8324, 5061, -1, 5061, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8326, 5062, -1, 5062, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8328, 5063, -1, 5063, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8330, 5064, -1, 5064, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8332, 5065, -1, 5065, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8334, 5066, -1, 5066, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8336, 5067, -1, 5067, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8338, 5068, -1, 5068, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8340, 5069, -1, 5069, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8342, 5070, -1, 5070, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8344, 5071, -1, 5071, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8346, 5072, -1, 5072, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8348, 5073, -1, 5073, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8350, 5074, -1, 5074, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8352, 5075, -1, 5075, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8354, 5076, -1, 5076, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8356, 5077, -1, 5077, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8358, 5078, -1, 5078, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8360, 5079, -1, 5079, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8362, 5080, -1, 5080, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8364, 5081, -1, 5081, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8366, 5082, -1, 5082, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8368, 5083, -1, 5083, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8370, 5084, -1, 5084, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8372, 5085, -1, 5085, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8374, 5086, -1, 5086, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8376, 5087, -1, 5087, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8378, 5088, -1, 5088, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8380, 5089, -1, 5089, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8382, 5090, -1, 5090, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8384, 5091, -1, 5091, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8386, 5092, -1, 5092, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8388, 5093, -1, 5093, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8390, 5094, -1, 5094, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8392, 5095, -1, 5095, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8394, 5096, -1, 5096, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8396, 5097, -1, 5097, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8398, 5098, -1, 5098, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8400, 5099, -1, 5099, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8402, 5100, -1, 5100, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8404, 5101, -1, 5101, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8406, 5102, -1, 5102, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 8408, 5103, -1, 5103, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_LV, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_LVT, 2},\n  {UTF8PROC_CATEGORY_CS, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_CONTROL, 0},\n  {UTF8PROC_CATEGORY_CO, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 0},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8410, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8412, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 5893, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8414, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8416, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8418, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8420, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 6001, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8422, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 5909, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8424, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8426, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8428, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8430, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8432, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8434, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8436, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8438, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8440, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8442, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8444, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8446, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8448, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8450, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8452, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8454, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8456, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8458, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8460, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8462, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8464, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8466, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8468, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8470, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8472, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8474, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8476, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8478, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8480, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8482, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8484, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8486, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8488, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8490, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8492, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8494, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8496, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8498, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8500, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8502, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8504, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 5825, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8506, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8508, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8510, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8512, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8514, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8516, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8518, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8520, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8522, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8524, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8526, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 5971, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8528, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8530, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8532, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8534, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8536, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8538, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8540, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8542, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8544, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8546, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8548, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8550, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8552, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8554, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8556, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8558, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8560, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8562, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8564, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8566, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8568, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8570, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8572, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8574, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8576, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8578, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8580, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8582, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8584, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8586, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8588, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8590, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8592, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8594, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8596, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8598, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8600, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8602, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8604, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8606, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8608, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8610, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8612, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8614, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8616, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8618, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8620, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 5897, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8622, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8624, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8626, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8628, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8630, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8632, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8634, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8636, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8638, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8640, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8642, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8644, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8646, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8648, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8650, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 5651, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8652, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8654, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8656, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8658, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8660, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8662, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8664, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8666, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 5613, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8668, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8670, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8672, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8674, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8676, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8678, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8680, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8682, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8684, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8686, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8688, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8690, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8692, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8694, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8696, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8698, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8700, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8702, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8704, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8706, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8708, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8710, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8712, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8714, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8716, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8718, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8720, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8722, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8724, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8726, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8728, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8730, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8732, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8734, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8736, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8738, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8740, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8742, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8744, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8746, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8748, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8750, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8752, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8754, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8756, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8758, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8760, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8762, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8764, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8766, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8768, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8770, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8772, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8774, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 5999, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8776, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8778, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8780, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8782, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8784, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8786, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8788, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8790, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8792, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8794, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8796, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8798, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 6808, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8800, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8802, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8804, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8806, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8808, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8810, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8812, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8814, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8816, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8818, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8820, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8822, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8824, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8826, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8828, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8830, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8832, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8834, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8836, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8838, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8840, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8842, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 5907, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8844, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8846, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8848, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8850, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8852, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8854, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8856, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8858, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8860, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8862, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8864, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8866, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8868, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 5809, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8870, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8872, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8874, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8876, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8878, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8880, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8882, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8884, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8886, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8888, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8890, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8892, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8894, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8896, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8898, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8900, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 5863, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8902, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 5869, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8904, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8906, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8908, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8910, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8912, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8914, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8916, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8918, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8920, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8922, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8924, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8926, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8928, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8930, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 5823, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8932, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8934, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8936, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8938, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8940, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8942, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8944, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8946, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8948, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8950, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8952, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8954, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8956, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8958, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8960, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8962, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8964, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8966, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8968, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8970, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8972, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8974, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 5665, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8976, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8978, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8980, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8982, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8984, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8986, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8988, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8990, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8992, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8994, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8996, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 8998, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 9000, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 9002, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 9004, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 6818, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 9006, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 9008, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 9010, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 9012, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 6826, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 9014, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 9016, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 9018, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 9020, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 9022, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 9024, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 9026, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 9028, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 9030, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 9032, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 9034, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 9036, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 9038, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 9040, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 9042, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 9044, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 9046, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 9048, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 9050, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 9052, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 9054, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 9056, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 9058, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 9060, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 9062, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 9064, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 9066, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 9068, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 9070, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 9072, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 9074, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 9076, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 9078, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 9080, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 9082, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 9084, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 9086, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 9088, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 9090, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 9092, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 9094, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 9096, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 9098, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 9100, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 9102, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 9104, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 9106, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 9108, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 9110, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 9112, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 9114, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 9116, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 9118, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 9120, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 9122, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 9124, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 5731, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 9126, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 9128, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 9130, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 9132, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 9134, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 9136, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 9138, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 9140, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 9142, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 9144, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 9146, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 9148, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 9150, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 9152, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 9154, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 9156, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 9158, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 9160, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 9162, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 9164, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 9166, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 9168, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 9170, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 9172, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 9174, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 9176, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 9178, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 9180, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 9182, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 9184, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 9186, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 9188, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 9190, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 9192, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 9194, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 9196, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 9198, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 9200, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 9202, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 9204, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 9206, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 9208, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 9210, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 9212, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 9214, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 9216, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 9218, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 9220, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 9222, 9222, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 9225, 9225, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 9228, 9228, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 9231, 9231, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 9235, 9235, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 9239, 9242, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 9242, 9242, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 9245, 9245, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 9248, 9248, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 9251, 9251, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 9254, 9254, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 9257, 9257, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_R, 0, 9260, UINT16_MAX, -1, -1, -1, -1, -1, false, true, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_MN, 26, UTF8PROC_BIDI_CLASS_NSM, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_EXTEND, 0},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_R, 0, 9263, UINT16_MAX, -1, -1, -1, -1, -1, false, true, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_R, UTF8PROC_DECOMP_TYPE_FONT, 9266, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_R, UTF8PROC_DECOMP_TYPE_FONT, 4637, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_R, UTF8PROC_DECOMP_TYPE_FONT, 4643, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_R, UTF8PROC_DECOMP_TYPE_FONT, 9268, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_R, UTF8PROC_DECOMP_TYPE_FONT, 9270, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_R, UTF8PROC_DECOMP_TYPE_FONT, 9272, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_R, UTF8PROC_DECOMP_TYPE_FONT, 9274, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_R, UTF8PROC_DECOMP_TYPE_FONT, 9276, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_R, UTF8PROC_DECOMP_TYPE_FONT, 9278, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SM, 0, UTF8PROC_BIDI_CLASS_ES, UTF8PROC_DECOMP_TYPE_FONT, 4573, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_R, 0, 9280, UINT16_MAX, -1, -1, -1, -1, -1, false, true, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_R, 0, 9283, UINT16_MAX, -1, -1, -1, -1, -1, false, true, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_R, 0, 9286, UINT16_MAX, -1, -1, -1, -1, -1, false, true, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_R, 0, 9289, UINT16_MAX, -1, -1, -1, -1, -1, false, true, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_R, 0, 9292, UINT16_MAX, -1, -1, -1, -1, -1, false, true, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_R, 0, 9295, UINT16_MAX, -1, -1, -1, -1, -1, false, true, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_R, 0, 9298, UINT16_MAX, -1, -1, -1, -1, -1, false, true, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_R, 0, 9301, UINT16_MAX, -1, -1, -1, -1, -1, false, true, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_R, 0, 9304, UINT16_MAX, -1, -1, -1, -1, -1, false, true, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_R, 0, 9307, UINT16_MAX, -1, -1, -1, -1, -1, false, true, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_R, 0, 9310, UINT16_MAX, -1, -1, -1, -1, -1, false, true, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_R, 0, 9313, UINT16_MAX, -1, -1, -1, -1, -1, false, true, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_R, 0, 9316, UINT16_MAX, -1, -1, -1, -1, -1, false, true, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_R, 0, 9319, UINT16_MAX, -1, -1, -1, -1, -1, false, true, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_R, 0, 9322, UINT16_MAX, -1, -1, -1, -1, -1, false, true, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_R, 0, 9325, UINT16_MAX, -1, -1, -1, -1, -1, false, true, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_R, 0, 9328, UINT16_MAX, -1, -1, -1, -1, -1, false, true, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_R, 0, 9331, UINT16_MAX, -1, -1, -1, -1, -1, false, true, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_R, 0, 9334, UINT16_MAX, -1, -1, -1, -1, -1, false, true, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_R, 0, 9337, UINT16_MAX, -1, -1, -1, -1, -1, false, true, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_R, 0, 9340, UINT16_MAX, -1, -1, -1, -1, -1, false, true, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_R, 0, 9343, UINT16_MAX, -1, -1, -1, -1, -1, false, true, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_R, 0, 9346, UINT16_MAX, -1, -1, -1, -1, -1, false, true, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_R, 0, 9349, UINT16_MAX, -1, -1, -1, -1, -1, false, true, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_R, 0, 9352, UINT16_MAX, -1, -1, -1, -1, -1, false, true, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_R, 0, 9355, UINT16_MAX, -1, -1, -1, -1, -1, false, true, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_R, 0, 9358, UINT16_MAX, -1, -1, -1, -1, -1, false, true, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_R, 0, 9361, UINT16_MAX, -1, -1, -1, -1, -1, false, true, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_R, 0, 9364, UINT16_MAX, -1, -1, -1, -1, -1, false, true, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_R, 0, 9367, UINT16_MAX, -1, -1, -1, -1, -1, false, true, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_R, 0, 9370, UINT16_MAX, -1, -1, -1, -1, -1, false, true, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_R, 0, 9373, UINT16_MAX, -1, -1, -1, -1, -1, false, true, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_R, UTF8PROC_DECOMP_TYPE_COMPAT, 9376, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9379, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 9379, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9381, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 9381, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 9381, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_MEDIAL, 9381, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9383, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 9383, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 9383, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_MEDIAL, 9383, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9385, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 9385, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 9385, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_MEDIAL, 9385, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9387, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 9387, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 9387, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_MEDIAL, 9387, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9389, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 9389, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 9389, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_MEDIAL, 9389, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9391, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 9391, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 9391, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_MEDIAL, 9391, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9393, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 9393, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 9393, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_MEDIAL, 9393, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9395, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 9395, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 9395, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_MEDIAL, 9395, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9397, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 9397, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 9397, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_MEDIAL, 9397, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9399, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 9399, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 9399, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_MEDIAL, 9399, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9401, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 9401, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 9401, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_MEDIAL, 9401, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9403, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 9403, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 9403, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_MEDIAL, 9403, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9405, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 9405, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9407, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 9407, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9409, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 9409, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9411, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 9411, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9413, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 9413, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9415, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 9415, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9417, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 9417, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 9417, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_MEDIAL, 9417, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9419, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 9419, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 9419, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_MEDIAL, 9419, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9421, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 9421, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 9421, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_MEDIAL, 9421, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9423, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 9423, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 9423, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_MEDIAL, 9423, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9425, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 9425, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9427, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 9427, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 9427, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_MEDIAL, 9427, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9429, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 9429, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9431, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 9431, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 9431, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_MEDIAL, 9431, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9433, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 9433, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 9433, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_MEDIAL, 9433, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9435, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 9435, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9437, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 9437, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SK, 0, UTF8PROC_BIDI_CLASS_AL, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9439, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 9439, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 9439, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_MEDIAL, 9439, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9441, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 9441, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9443, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 9443, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9445, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 9445, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9447, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9449, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 9449, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9451, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 9451, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9453, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 9453, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9455, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 9455, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 9455, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_MEDIAL, 9455, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 9457, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_MEDIAL, 9457, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9459, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 9459, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9462, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 9462, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9465, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 9465, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9468, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 9468, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9471, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 9471, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9474, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 9474, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9477, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 9477, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 9477, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9480, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 9480, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 9480, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9483, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 9483, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 9483, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_MEDIAL, 9483, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9485, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9488, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9491, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9494, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9497, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9500, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9503, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9506, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9509, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9512, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9515, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9518, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9521, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9524, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9527, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9530, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9533, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9536, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9539, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9542, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9545, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9548, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9551, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9554, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9557, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9560, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9563, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9566, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9569, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9572, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9575, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9578, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9581, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9584, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9587, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9590, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9593, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9596, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9599, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9602, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9605, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9608, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9611, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9614, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9617, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9620, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9623, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9626, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9629, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9632, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9635, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9638, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9641, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9644, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9647, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9650, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9653, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9656, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9659, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9662, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9665, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9668, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9671, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9674, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9677, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9680, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9683, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9686, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9689, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9692, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9695, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9698, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9701, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9704, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9707, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9710, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9713, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9716, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9719, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9722, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9725, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9728, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9731, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9734, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9737, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9740, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9743, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9746, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9749, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9752, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9755, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9758, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9761, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9764, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9768, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9772, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9776, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9780, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9784, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 9788, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 9791, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 9491, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 9794, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 9494, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 9797, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 9800, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 9506, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 9803, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 9509, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 9512, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 9806, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 9809, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 9524, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 9812, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 9527, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 9530, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 9815, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 9818, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 9536, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 9821, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 9539, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 9542, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 9629, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 9632, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 9641, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 9644, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 9647, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 9659, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 9662, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 9665, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 9668, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 9680, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 9683, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 9686, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 9824, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 9698, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 9827, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 9830, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 9716, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 9833, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 9719, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 9722, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 9761, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 9836, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 9839, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 9746, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 9842, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 9749, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 9752, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 9485, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 9488, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 9845, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 9491, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 9848, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 9497, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 9500, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 9503, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 9506, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 9851, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 9515, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 9518, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 9521, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 9524, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 9854, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 9536, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 9545, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 9548, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 9551, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 9554, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 9557, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 9563, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 9566, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 9569, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 9572, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 9575, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 9578, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 9857, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 9581, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 9584, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 9587, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 9590, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 9593, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 9596, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 9602, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 9605, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 9608, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 9611, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 9614, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 9617, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 9620, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 9623, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 9626, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 9635, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 9638, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 9650, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 9653, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 9656, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 9659, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 9662, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 9671, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 9674, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 9677, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 9680, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 9860, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 9689, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 9692, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 9695, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 9698, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 9707, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 9710, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 9713, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 9716, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 9863, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 9725, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 9728, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 9866, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 9737, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 9740, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 9743, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 9746, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 9869, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_MEDIAL, 9491, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_MEDIAL, 9848, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_MEDIAL, 9506, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_MEDIAL, 9851, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_MEDIAL, 9524, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_MEDIAL, 9854, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_MEDIAL, 9536, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_MEDIAL, 9872, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_MEDIAL, 9575, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_MEDIAL, 9875, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_MEDIAL, 9878, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_MEDIAL, 9881, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_MEDIAL, 9659, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_MEDIAL, 9662, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_MEDIAL, 9680, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_MEDIAL, 9716, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_MEDIAL, 9863, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_MEDIAL, 9746, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_MEDIAL, 9869, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_MEDIAL, 9884, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_MEDIAL, 9888, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_MEDIAL, 9892, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9896, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9899, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9902, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9905, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9908, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9911, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9914, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9917, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9920, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9923, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9926, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9929, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9932, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9935, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9938, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9941, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9944, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9947, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9950, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9953, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9956, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9959, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9962, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9878, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9965, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9968, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9971, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9974, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 9896, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 9899, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 9902, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 9905, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 9908, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 9911, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 9914, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 9917, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 9920, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 9923, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 9926, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 9929, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 9932, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 9935, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 9938, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 9941, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 9944, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 9947, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 9950, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 9953, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 9956, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 9959, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 9962, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 9878, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 9965, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 9968, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 9971, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 9974, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 9956, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 9959, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 9962, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 9878, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 9875, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 9881, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 9599, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_MEDIAL, 9566, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_MEDIAL, 9569, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_MEDIAL, 9572, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_MEDIAL, 9956, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_MEDIAL, 9959, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_MEDIAL, 9962, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_MEDIAL, 9599, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_MEDIAL, 9602, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 9977, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9977, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 9980, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 9984, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 9984, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 9988, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 9992, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 9996, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 10000, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 10004, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 10008, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 10008, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 10012, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 10016, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 10020, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 10024, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 10028, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 10032, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 10032, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 10036, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 10040, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 10040, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 10044, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 10044, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 10048, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 10052, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 10052, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 10056, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 10060, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 10060, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 10064, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 10064, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 10068, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 10072, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 10072, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 10076, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 10076, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 10080, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 10084, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 10088, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 10092, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 10092, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 10096, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 10100, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 10104, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 10108, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 10112, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 10112, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 10116, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 10120, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 10124, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 10128, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 10132, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 10136, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 10136, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 10140, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 10140, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 10144, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 10144, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 10148, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 10152, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 10156, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 10160, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 10164, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 10168, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 10172, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 10176, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 10180, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 10184, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 10188, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 10192, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 10196, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 10196, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 10200, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 10204, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 10208, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 10212, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 10212, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 10216, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 10220, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 10224, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 10228, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 10232, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 10236, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 10240, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 10244, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 10248, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 10252, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 10256, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 10260, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 10264, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 10268, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 10272, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 10276, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 10280, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 10284, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 10288, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 10292, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 10296, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 10300, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 10116, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 10124, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 10304, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 10308, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 10312, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 10316, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 10320, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 10324, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 10320, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 10312, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 10328, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 10332, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 10336, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 10340, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 10344, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 10324, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 10088, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 10048, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 10348, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 10352, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 10356, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 10360, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 10364, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 10369, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 10374, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 10379, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 10384, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 10389, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 10394, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 10399, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 10403, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 10422, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SC, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 10431, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_PO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_VERTICAL, 10436, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_PO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_VERTICAL, 10438, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_PO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_VERTICAL, 10440, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_PO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_VERTICAL, 10442, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_PO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_VERTICAL, 1339, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_PO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_VERTICAL, 10444, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_PO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_VERTICAL, 10446, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_PS, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_VERTICAL, 10448, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_PE, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_VERTICAL, 10450, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_PO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_VERTICAL, 10452, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_PO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_VERTICAL, 10454, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_PD, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_VERTICAL, 10456, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_PD, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_VERTICAL, 10458, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_PC, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_VERTICAL, 10460, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_PS, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_VERTICAL, 4579, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_PE, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_VERTICAL, 4581, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_PS, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_VERTICAL, 10462, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_PE, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_VERTICAL, 10464, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_PS, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_VERTICAL, 10466, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_PE, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_VERTICAL, 10468, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_PS, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_VERTICAL, 10470, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_PE, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_VERTICAL, 10472, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_PS, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_VERTICAL, 10474, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_PE, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_VERTICAL, 10476, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_PS, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_VERTICAL, 4971, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_PE, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_VERTICAL, 4973, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_PS, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_VERTICAL, 10478, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_PE, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_VERTICAL, 10480, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_PS, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_VERTICAL, 10482, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_PE, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_VERTICAL, 10484, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_PS, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_VERTICAL, 10486, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_PE, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_VERTICAL, 10488, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_PO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 10490, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_PC, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_COMPAT, 10460, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_PO, 0, UTF8PROC_BIDI_CLASS_CS, UTF8PROC_DECOMP_TYPE_SMALL, 10436, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_PO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_SMALL, 10438, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_PO, 0, UTF8PROC_BIDI_CLASS_CS, UTF8PROC_DECOMP_TYPE_SMALL, 4516, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_PO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_SMALL, 1339, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_PO, 0, UTF8PROC_BIDI_CLASS_CS, UTF8PROC_DECOMP_TYPE_SMALL, 10442, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_PO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_SMALL, 10446, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_PO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_SMALL, 10444, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_PD, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_SMALL, 10456, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_PS, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_SMALL, 4579, UINT16_MAX, -1, -1, -1, -1, -1, true, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_PE, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_SMALL, 4581, UINT16_MAX, -1, -1, -1, -1, -1, true, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_PS, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_SMALL, 10462, UINT16_MAX, -1, -1, -1, -1, -1, true, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_PE, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_SMALL, 10464, UINT16_MAX, -1, -1, -1, -1, -1, true, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_PS, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_SMALL, 10466, UINT16_MAX, -1, -1, -1, -1, -1, true, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_PE, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_SMALL, 10468, UINT16_MAX, -1, -1, -1, -1, -1, true, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_PO, 0, UTF8PROC_BIDI_CLASS_ET, UTF8PROC_DECOMP_TYPE_SMALL, 10492, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_PO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_SMALL, 10494, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_PO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_SMALL, 10496, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SM, 0, UTF8PROC_BIDI_CLASS_ES, UTF8PROC_DECOMP_TYPE_SMALL, 4573, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_PD, 0, UTF8PROC_BIDI_CLASS_ES, UTF8PROC_DECOMP_TYPE_SMALL, 10498, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SM, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_SMALL, 10500, UINT16_MAX, -1, -1, -1, -1, -1, true, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SM, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_SMALL, 10502, UINT16_MAX, -1, -1, -1, -1, -1, true, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SM, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_SMALL, 4577, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_PO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_SMALL, 10504, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SC, 0, UTF8PROC_BIDI_CLASS_ET, UTF8PROC_DECOMP_TYPE_SMALL, 10506, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_PO, 0, UTF8PROC_BIDI_CLASS_ET, UTF8PROC_DECOMP_TYPE_SMALL, 10508, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_PO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_SMALL, 10510, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 10512, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_MEDIAL, 10515, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 10518, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 10521, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 10524, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_MEDIAL, 10527, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 10530, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_MEDIAL, 10533, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 10536, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_MEDIAL, 10539, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 10542, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_MEDIAL, 10545, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 10548, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_MEDIAL, 10551, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 10554, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 10556, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 10556, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 10558, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 10558, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 10560, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 10560, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 10562, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 10562, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 10564, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 10564, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 10564, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_MEDIAL, 10564, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 10566, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 10566, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 10568, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 10568, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 10568, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_MEDIAL, 10568, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 10570, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 10570, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 10572, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 10572, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 10572, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_MEDIAL, 10572, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 10574, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 10574, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 10574, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_MEDIAL, 10574, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 10576, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 10576, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 10576, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_MEDIAL, 10576, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 10578, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 10578, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 10578, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_MEDIAL, 10578, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 10580, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 10580, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 10580, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_MEDIAL, 10580, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 10582, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 10582, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 10584, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 10584, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 10586, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 10586, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 10588, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 10588, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 10590, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 10590, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 10590, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_MEDIAL, 10590, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 10592, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 10592, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 10592, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_MEDIAL, 10592, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 10594, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 10594, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 10594, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_MEDIAL, 10594, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 10596, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 10596, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 10596, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_MEDIAL, 10596, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 10598, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 10598, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 10598, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_MEDIAL, 10598, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 10600, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 10600, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 10600, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_MEDIAL, 10600, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 10602, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 10602, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 10602, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_MEDIAL, 10602, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 10604, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 10604, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 10604, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_MEDIAL, 10604, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 10606, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 10606, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 10606, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_MEDIAL, 10606, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 10608, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 10608, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 10608, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_MEDIAL, 10608, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 10610, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 10610, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 10610, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_MEDIAL, 10610, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 10612, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 10612, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 10612, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_MEDIAL, 10612, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 10614, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 10614, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 10614, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_MEDIAL, 10614, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 10616, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 10616, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 10616, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_MEDIAL, 10616, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 10618, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 10618, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 10618, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_MEDIAL, 10618, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 10620, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 10620, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 9457, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 9457, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 10622, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 10622, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_INITIAL, 10622, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_MEDIAL, 10622, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 10624, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 10624, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 10627, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 10627, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 10630, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 10630, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_ISOLATED, 10633, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FINAL, 10633, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_PO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_WIDE, 10444, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_PO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_WIDE, 10636, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_PO, 0, UTF8PROC_BIDI_CLASS_ET, UTF8PROC_DECOMP_TYPE_WIDE, 10492, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SC, 0, UTF8PROC_BIDI_CLASS_ET, UTF8PROC_DECOMP_TYPE_WIDE, 10506, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_PO, 0, UTF8PROC_BIDI_CLASS_ET, UTF8PROC_DECOMP_TYPE_WIDE, 10508, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_PO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_WIDE, 10494, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_PO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_WIDE, 10638, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_PS, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_WIDE, 4579, UINT16_MAX, -1, -1, -1, -1, -1, true, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_PE, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_WIDE, 4581, UINT16_MAX, -1, -1, -1, -1, -1, true, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_PO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_WIDE, 10496, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SM, 0, UTF8PROC_BIDI_CLASS_ES, UTF8PROC_DECOMP_TYPE_WIDE, 4573, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_PO, 0, UTF8PROC_BIDI_CLASS_CS, UTF8PROC_DECOMP_TYPE_WIDE, 10436, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_PD, 0, UTF8PROC_BIDI_CLASS_ES, UTF8PROC_DECOMP_TYPE_WIDE, 10498, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_PO, 0, UTF8PROC_BIDI_CLASS_CS, UTF8PROC_DECOMP_TYPE_WIDE, 4516, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_PO, 0, UTF8PROC_BIDI_CLASS_CS, UTF8PROC_DECOMP_TYPE_WIDE, 10640, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_ND, 0, UTF8PROC_BIDI_CLASS_EN, UTF8PROC_DECOMP_TYPE_WIDE, 4559, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_ND, 0, UTF8PROC_BIDI_CLASS_EN, UTF8PROC_DECOMP_TYPE_WIDE, 72, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_ND, 0, UTF8PROC_BIDI_CLASS_EN, UTF8PROC_DECOMP_TYPE_WIDE, 60, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_ND, 0, UTF8PROC_BIDI_CLASS_EN, UTF8PROC_DECOMP_TYPE_WIDE, 62, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_ND, 0, UTF8PROC_BIDI_CLASS_EN, UTF8PROC_DECOMP_TYPE_WIDE, 4561, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_ND, 0, UTF8PROC_BIDI_CLASS_EN, UTF8PROC_DECOMP_TYPE_WIDE, 4563, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_ND, 0, UTF8PROC_BIDI_CLASS_EN, UTF8PROC_DECOMP_TYPE_WIDE, 4565, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_ND, 0, UTF8PROC_BIDI_CLASS_EN, UTF8PROC_DECOMP_TYPE_WIDE, 4567, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_ND, 0, UTF8PROC_BIDI_CLASS_EN, UTF8PROC_DECOMP_TYPE_WIDE, 4569, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_ND, 0, UTF8PROC_BIDI_CLASS_EN, UTF8PROC_DECOMP_TYPE_WIDE, 4571, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_PO, 0, UTF8PROC_BIDI_CLASS_CS, UTF8PROC_DECOMP_TYPE_WIDE, 10442, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_PO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_WIDE, 1339, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SM, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_WIDE, 10500, UINT16_MAX, -1, -1, -1, -1, -1, true, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SM, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_WIDE, 4577, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SM, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_WIDE, 10502, UINT16_MAX, -1, -1, -1, -1, -1, true, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_PO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_WIDE, 10446, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_PO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_WIDE, 10510, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_WIDE, 2430, 10642, -1, 65345, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_WIDE, 2434, 10644, -1, 65346, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_WIDE, 4594, 10646, -1, 65347, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_WIDE, 2436, 10648, -1, 65348, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_WIDE, 2438, 10650, -1, 65349, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_WIDE, 4633, 10652, -1, 65350, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_WIDE, 2442, 10654, -1, 65351, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_WIDE, 2444, 10656, -1, 65352, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_WIDE, 2446, 10658, -1, 65353, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_WIDE, 2448, 10660, -1, 65354, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_WIDE, 2450, 10662, -1, 65355, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_WIDE, 2452, 10664, -1, 65356, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_WIDE, 2454, 10666, -1, 65357, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_WIDE, 2456, 10668, -1, 65358, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_WIDE, 2458, 10670, -1, 65359, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_WIDE, 2462, 10672, -1, 65360, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_WIDE, 4615, 10674, -1, 65361, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_WIDE, 2464, 10676, -1, 65362, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_WIDE, 5310, 10678, -1, 65363, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_WIDE, 2466, 10680, -1, 65364, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_WIDE, 2468, 10682, -1, 65365, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_WIDE, 4737, 10684, -1, 65366, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_WIDE, 2470, 10686, -1, 65367, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_WIDE, 4764, 10688, -1, 65368, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_WIDE, 5324, 10690, -1, 65369, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_WIDE, 4627, 10692, -1, 65370, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_PS, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_WIDE, 10486, UINT16_MAX, -1, -1, -1, -1, -1, true, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_PO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_WIDE, 10504, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_PE, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_WIDE, 10488, UINT16_MAX, -1, -1, -1, -1, -1, true, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SK, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_WIDE, 10694, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_PC, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_WIDE, 10460, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SK, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_WIDE, 4449, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_WIDE, 0, UINT16_MAX, 65313, -1, 65313, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_WIDE, 2, UINT16_MAX, 65314, -1, 65314, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_WIDE, 4, UINT16_MAX, 65315, -1, 65315, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_WIDE, 6, UINT16_MAX, 65316, -1, 65316, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_WIDE, 8, UINT16_MAX, 65317, -1, 65317, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_WIDE, 10, UINT16_MAX, 65318, -1, 65318, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_WIDE, 12, UINT16_MAX, 65319, -1, 65319, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_WIDE, 14, UINT16_MAX, 65320, -1, 65320, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_WIDE, 16, UINT16_MAX, 65321, -1, 65321, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_WIDE, 18, UINT16_MAX, 65322, -1, 65322, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_WIDE, 20, UINT16_MAX, 65323, -1, 65323, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_WIDE, 22, UINT16_MAX, 65324, -1, 65324, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_WIDE, 24, UINT16_MAX, 65325, -1, 65325, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_WIDE, 26, UINT16_MAX, 65326, -1, 65326, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_WIDE, 28, UINT16_MAX, 65327, -1, 65327, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_WIDE, 30, UINT16_MAX, 65328, -1, 65328, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_WIDE, 32, UINT16_MAX, 65329, -1, 65329, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_WIDE, 34, UINT16_MAX, 65330, -1, 65330, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_WIDE, 36, UINT16_MAX, 65331, -1, 65331, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_WIDE, 38, UINT16_MAX, 65332, -1, 65332, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_WIDE, 40, UINT16_MAX, 65333, -1, 65333, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_WIDE, 42, UINT16_MAX, 65334, -1, 65334, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_WIDE, 44, UINT16_MAX, 65335, -1, 65335, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_WIDE, 46, UINT16_MAX, 65336, -1, 65336, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_WIDE, 48, UINT16_MAX, 65337, -1, 65337, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_WIDE, 50, UINT16_MAX, 65338, -1, 65338, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_PS, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_WIDE, 10462, UINT16_MAX, -1, -1, -1, -1, -1, true, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SM, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_WIDE, 10696, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_PE, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_WIDE, 10464, UINT16_MAX, -1, -1, -1, -1, -1, true, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SM, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_WIDE, 10698, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_PS, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_WIDE, 10700, UINT16_MAX, -1, -1, -1, -1, -1, true, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_PE, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_WIDE, 10702, UINT16_MAX, -1, -1, -1, -1, -1, true, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_PO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_NARROW, 10440, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_PS, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_NARROW, 10478, UINT16_MAX, -1, -1, -1, -1, -1, true, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_PE, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_NARROW, 10480, UINT16_MAX, -1, -1, -1, -1, -1, true, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_PO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_NARROW, 10438, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_PO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_NARROW, 10704, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_NARROW, 7060, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_NARROW, 10706, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_NARROW, 10708, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_NARROW, 10710, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_NARROW, 10712, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_NARROW, 10714, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_NARROW, 10716, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_NARROW, 10718, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_NARROW, 10720, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_NARROW, 10722, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LM, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_NARROW, 10724, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_NARROW, 6968, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_NARROW, 6970, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_NARROW, 6972, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_NARROW, 6974, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_NARROW, 6976, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_NARROW, 6978, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_NARROW, 6980, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_NARROW, 6982, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_NARROW, 6984, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_NARROW, 6986, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_NARROW, 6988, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_NARROW, 6990, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_NARROW, 6992, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_NARROW, 6994, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_NARROW, 6996, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_NARROW, 6998, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_NARROW, 7000, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_NARROW, 7002, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_NARROW, 7004, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_NARROW, 7006, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_NARROW, 7008, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_NARROW, 7010, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_NARROW, 7012, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_NARROW, 7014, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_NARROW, 7016, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_NARROW, 7018, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_NARROW, 7020, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_NARROW, 7022, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_NARROW, 7024, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_NARROW, 7026, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_NARROW, 7028, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_NARROW, 7030, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_NARROW, 7032, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_NARROW, 7034, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_NARROW, 7036, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_NARROW, 7038, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_NARROW, 7040, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_NARROW, 7042, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_NARROW, 7044, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_NARROW, 7046, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_NARROW, 7048, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_NARROW, 7050, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_NARROW, 7052, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_NARROW, 7054, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_NARROW, 10726, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LM, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_NARROW, 10728, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_EXTEND, 1},\n  {UTF8PROC_CATEGORY_LM, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_NARROW, 10730, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_EXTEND, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_NARROW, 10732, UINT16_MAX, -1, -1, -1, -1, -1, false, false, true, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_NARROW, 10734, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_NARROW, 10736, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_NARROW, 10738, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_NARROW, 10740, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_NARROW, 10742, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_NARROW, 10744, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_NARROW, 10746, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_NARROW, 10748, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_NARROW, 10750, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_NARROW, 10752, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_NARROW, 10754, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_NARROW, 10756, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_NARROW, 10758, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_NARROW, 10760, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_NARROW, 10762, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_NARROW, 10764, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_NARROW, 10766, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_NARROW, 10768, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_NARROW, 10770, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_NARROW, 10772, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_NARROW, 10774, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_NARROW, 10776, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_NARROW, 10778, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_NARROW, 10780, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_NARROW, 10782, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_NARROW, 10784, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_NARROW, 10786, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_NARROW, 10788, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_NARROW, 10790, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_NARROW, 10792, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_NARROW, 10794, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_NARROW, 10796, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_NARROW, 10798, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_NARROW, 10800, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_NARROW, 10802, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_NARROW, 10804, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_NARROW, 10806, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_NARROW, 10808, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_NARROW, 10810, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_NARROW, 10812, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_NARROW, 10814, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_NARROW, 10816, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_NARROW, 10818, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_NARROW, 10820, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_NARROW, 10822, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_NARROW, 10824, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_NARROW, 10826, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_NARROW, 10828, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_NARROW, 10830, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_NARROW, 10832, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_NARROW, 10834, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SC, 0, UTF8PROC_BIDI_CLASS_ET, UTF8PROC_DECOMP_TYPE_WIDE, 10836, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SC, 0, UTF8PROC_BIDI_CLASS_ET, UTF8PROC_DECOMP_TYPE_WIDE, 10838, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SM, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_WIDE, 10840, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SK, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_WIDE, 10842, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_WIDE, 10844, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SC, 0, UTF8PROC_BIDI_CLASS_ET, UTF8PROC_DECOMP_TYPE_WIDE, 10846, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SC, 0, UTF8PROC_BIDI_CLASS_ET, UTF8PROC_DECOMP_TYPE_WIDE, 10848, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_NARROW, 10850, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SM, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_NARROW, 10852, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SM, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_NARROW, 10854, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SM, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_NARROW, 10856, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SM, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_NARROW, 10858, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_NARROW, 10860, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_NARROW, 10862, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_CF, 0, UTF8PROC_BIDI_CLASS_ON, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, true, UTF8PROC_BOUNDCLASS_CONTROL, 0},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_NL, 0, UTF8PROC_BIDI_CLASS_ON, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_NL, 0, UTF8PROC_BIDI_CLASS_ON, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_EN, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 10864, -1, 66600, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 10866, -1, 66601, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 10868, -1, 66602, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 10870, -1, 66603, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 10872, -1, 66604, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 10874, -1, 66605, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 10876, -1, 66606, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 10878, -1, 66607, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 10880, -1, 66608, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 10882, -1, 66609, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 10884, -1, 66610, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 10886, -1, 66611, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 10888, -1, 66612, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 10890, -1, 66613, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 10892, -1, 66614, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 10894, -1, 66615, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 10896, -1, 66616, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 10898, -1, 66617, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 10900, -1, 66618, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 10902, -1, 66619, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 10904, -1, 66620, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 10906, -1, 66621, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 10908, -1, 66622, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 10910, -1, 66623, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 10912, -1, 66624, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 10914, -1, 66625, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 10916, -1, 66626, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 10918, -1, 66627, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 10920, -1, 66628, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 10922, -1, 66629, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 10924, -1, 66630, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 10926, -1, 66631, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 10928, -1, 66632, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 10930, -1, 66633, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 10932, -1, 66634, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 10934, -1, 66635, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 10936, -1, 66636, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 10938, -1, 66637, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 10940, -1, 66638, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 10942, -1, 66639, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 66560, -1, 66560, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 66561, -1, 66561, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 66562, -1, 66562, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 66563, -1, 66563, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 66564, -1, 66564, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 66565, -1, 66565, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 66566, -1, 66566, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 66567, -1, 66567, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 66568, -1, 66568, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 66569, -1, 66569, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 66570, -1, 66570, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 66571, -1, 66571, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 66572, -1, 66572, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 66573, -1, 66573, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 66574, -1, 66574, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 66575, -1, 66575, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 66576, -1, 66576, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 66577, -1, 66577, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 66578, -1, 66578, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 66579, -1, 66579, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 66580, -1, 66580, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 66581, -1, 66581, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 66582, -1, 66582, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 66583, -1, 66583, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 66584, -1, 66584, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 66585, -1, 66585, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 66586, -1, 66586, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 66587, -1, 66587, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 66588, -1, 66588, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 66589, -1, 66589, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 66590, -1, 66590, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 66591, -1, 66591, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 66592, -1, 66592, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 66593, -1, 66593, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 66594, -1, 66594, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 66595, -1, 66595, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 66596, -1, 66596, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 66597, -1, 66597, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 66598, -1, 66598, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 66599, -1, 66599, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_R, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_R, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_R, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_R, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_R, 0, UINT16_MAX, 10944, -1, 68800, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_R, 0, UINT16_MAX, 10946, -1, 68801, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_R, 0, UINT16_MAX, 10948, -1, 68802, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_R, 0, UINT16_MAX, 10950, -1, 68803, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_R, 0, UINT16_MAX, 10952, -1, 68804, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_R, 0, UINT16_MAX, 10954, -1, 68805, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_R, 0, UINT16_MAX, 10956, -1, 68806, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_R, 0, UINT16_MAX, 10958, -1, 68807, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_R, 0, UINT16_MAX, 10960, -1, 68808, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_R, 0, UINT16_MAX, 10962, -1, 68809, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_R, 0, UINT16_MAX, 10964, -1, 68810, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_R, 0, UINT16_MAX, 10966, -1, 68811, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_R, 0, UINT16_MAX, 10968, -1, 68812, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_R, 0, UINT16_MAX, 10970, -1, 68813, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_R, 0, UINT16_MAX, 10972, -1, 68814, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_R, 0, UINT16_MAX, 10974, -1, 68815, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_R, 0, UINT16_MAX, 10976, -1, 68816, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_R, 0, UINT16_MAX, 10978, -1, 68817, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_R, 0, UINT16_MAX, 10980, -1, 68818, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_R, 0, UINT16_MAX, 10982, -1, 68819, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_R, 0, UINT16_MAX, 10984, -1, 68820, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_R, 0, UINT16_MAX, 10986, -1, 68821, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_R, 0, UINT16_MAX, 10988, -1, 68822, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_R, 0, UINT16_MAX, 10990, -1, 68823, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_R, 0, UINT16_MAX, 10992, -1, 68824, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_R, 0, UINT16_MAX, 10994, -1, 68825, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_R, 0, UINT16_MAX, 10996, -1, 68826, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_R, 0, UINT16_MAX, 10998, -1, 68827, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_R, 0, UINT16_MAX, 11000, -1, 68828, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_R, 0, UINT16_MAX, 11002, -1, 68829, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_R, 0, UINT16_MAX, 11004, -1, 68830, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_R, 0, UINT16_MAX, 11006, -1, 68831, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_R, 0, UINT16_MAX, 11008, -1, 68832, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_R, 0, UINT16_MAX, 11010, -1, 68833, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_R, 0, UINT16_MAX, 11012, -1, 68834, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_R, 0, UINT16_MAX, 11014, -1, 68835, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_R, 0, UINT16_MAX, 11016, -1, 68836, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_R, 0, UINT16_MAX, 11018, -1, 68837, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_R, 0, UINT16_MAX, 11020, -1, 68838, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_R, 0, UINT16_MAX, 11022, -1, 68839, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_R, 0, UINT16_MAX, 11024, -1, 68840, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_R, 0, UINT16_MAX, 11026, -1, 68841, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_R, 0, UINT16_MAX, 11028, -1, 68842, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_R, 0, UINT16_MAX, 11030, -1, 68843, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_R, 0, UINT16_MAX, 11032, -1, 68844, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_R, 0, UINT16_MAX, 11034, -1, 68845, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_R, 0, UINT16_MAX, 11036, -1, 68846, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_R, 0, UINT16_MAX, 11038, -1, 68847, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_R, 0, UINT16_MAX, 11040, -1, 68848, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_R, 0, UINT16_MAX, 11042, -1, 68849, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_R, 0, UINT16_MAX, 11044, -1, 68850, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_R, 0, UINT16_MAX, UINT16_MAX, 68736, -1, 68736, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_R, 0, UINT16_MAX, UINT16_MAX, 68737, -1, 68737, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_R, 0, UINT16_MAX, UINT16_MAX, 68738, -1, 68738, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_R, 0, UINT16_MAX, UINT16_MAX, 68739, -1, 68739, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_R, 0, UINT16_MAX, UINT16_MAX, 68740, -1, 68740, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_R, 0, UINT16_MAX, UINT16_MAX, 68741, -1, 68741, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_R, 0, UINT16_MAX, UINT16_MAX, 68742, -1, 68742, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_R, 0, UINT16_MAX, UINT16_MAX, 68743, -1, 68743, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_R, 0, UINT16_MAX, UINT16_MAX, 68744, -1, 68744, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_R, 0, UINT16_MAX, UINT16_MAX, 68745, -1, 68745, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_R, 0, UINT16_MAX, UINT16_MAX, 68746, -1, 68746, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_R, 0, UINT16_MAX, UINT16_MAX, 68747, -1, 68747, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_R, 0, UINT16_MAX, UINT16_MAX, 68748, -1, 68748, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_R, 0, UINT16_MAX, UINT16_MAX, 68749, -1, 68749, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_R, 0, UINT16_MAX, UINT16_MAX, 68750, -1, 68750, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_R, 0, UINT16_MAX, UINT16_MAX, 68751, -1, 68751, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_R, 0, UINT16_MAX, UINT16_MAX, 68752, -1, 68752, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_R, 0, UINT16_MAX, UINT16_MAX, 68753, -1, 68753, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_R, 0, UINT16_MAX, UINT16_MAX, 68754, -1, 68754, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_R, 0, UINT16_MAX, UINT16_MAX, 68755, -1, 68755, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_R, 0, UINT16_MAX, UINT16_MAX, 68756, -1, 68756, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_R, 0, UINT16_MAX, UINT16_MAX, 68757, -1, 68757, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_R, 0, UINT16_MAX, UINT16_MAX, 68758, -1, 68758, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_R, 0, UINT16_MAX, UINT16_MAX, 68759, -1, 68759, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_R, 0, UINT16_MAX, UINT16_MAX, 68760, -1, 68760, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_R, 0, UINT16_MAX, UINT16_MAX, 68761, -1, 68761, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_R, 0, UINT16_MAX, UINT16_MAX, 68762, -1, 68762, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_R, 0, UINT16_MAX, UINT16_MAX, 68763, -1, 68763, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_R, 0, UINT16_MAX, UINT16_MAX, 68764, -1, 68764, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_R, 0, UINT16_MAX, UINT16_MAX, 68765, -1, 68765, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_R, 0, UINT16_MAX, UINT16_MAX, 68766, -1, 68766, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_R, 0, UINT16_MAX, UINT16_MAX, 68767, -1, 68767, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_R, 0, UINT16_MAX, UINT16_MAX, 68768, -1, 68768, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_R, 0, UINT16_MAX, UINT16_MAX, 68769, -1, 68769, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_R, 0, UINT16_MAX, UINT16_MAX, 68770, -1, 68770, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_R, 0, UINT16_MAX, UINT16_MAX, 68771, -1, 68771, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_R, 0, UINT16_MAX, UINT16_MAX, 68772, -1, 68772, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_R, 0, UINT16_MAX, UINT16_MAX, 68773, -1, 68773, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_R, 0, UINT16_MAX, UINT16_MAX, 68774, -1, 68774, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_R, 0, UINT16_MAX, UINT16_MAX, 68775, -1, 68775, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_R, 0, UINT16_MAX, UINT16_MAX, 68776, -1, 68776, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_R, 0, UINT16_MAX, UINT16_MAX, 68777, -1, 68777, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_R, 0, UINT16_MAX, UINT16_MAX, 68778, -1, 68778, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_R, 0, UINT16_MAX, UINT16_MAX, 68779, -1, 68779, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_R, 0, UINT16_MAX, UINT16_MAX, 68780, -1, 68780, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_R, 0, UINT16_MAX, UINT16_MAX, 68781, -1, 68781, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_R, 0, UINT16_MAX, UINT16_MAX, 68782, -1, 68782, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_R, 0, UINT16_MAX, UINT16_MAX, 68783, -1, 68783, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_R, 0, UINT16_MAX, UINT16_MAX, 68784, -1, 68784, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_R, 0, UINT16_MAX, UINT16_MAX, 68785, -1, 68785, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_R, 0, UINT16_MAX, UINT16_MAX, 68786, -1, 68786, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_AN, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_AN, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, 25024, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11046, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, 25092, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11049, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, 25160, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11052, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_MN, 7, UTF8PROC_BIDI_CLASS_NSM, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, 54, false, false, false, false, UTF8PROC_BOUNDCLASS_EXTEND, 0},\n  {UTF8PROC_CATEGORY_CF, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, true, UTF8PROC_BOUNDCLASS_CONTROL, 0},\n  {UTF8PROC_CATEGORY_MN, 0, UTF8PROC_BIDI_CLASS_NSM, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, 55, false, false, false, false, UTF8PROC_BOUNDCLASS_EXTEND, 0},\n  {UTF8PROC_CATEGORY_MN, 0, UTF8PROC_BIDI_CLASS_NSM, 0, 11055, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_EXTEND, 0},\n  {UTF8PROC_CATEGORY_MN, 0, UTF8PROC_BIDI_CLASS_NSM, 0, 11058, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_EXTEND, 0},\n  {UTF8PROC_CATEGORY_MN, 0, UTF8PROC_BIDI_CLASS_NSM, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, 25228, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_EXTEND, 0},\n  {UTF8PROC_CATEGORY_MN, 0, UTF8PROC_BIDI_CLASS_NSM, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, 25296, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_EXTEND, 0},\n  {UTF8PROC_CATEGORY_MC, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, 56, false, false, false, false, UTF8PROC_BOUNDCLASS_EXTEND, 0},\n  {UTF8PROC_CATEGORY_MC, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, 25364, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_SPACINGMARK, 0},\n  {UTF8PROC_CATEGORY_MC, 0, UTF8PROC_BIDI_CLASS_L, 0, 11061, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_SPACINGMARK, 0},\n  {UTF8PROC_CATEGORY_MC, 0, UTF8PROC_BIDI_CLASS_L, 0, 11064, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_SPACINGMARK, 0},\n  {UTF8PROC_CATEGORY_MC, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, 57, false, false, false, false, UTF8PROC_BOUNDCLASS_EXTEND, 0},\n  {UTF8PROC_CATEGORY_MC, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, 59, false, false, false, false, UTF8PROC_BOUNDCLASS_EXTEND, 0},\n  {UTF8PROC_CATEGORY_MC, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, 25432, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_SPACINGMARK, 0},\n  {UTF8PROC_CATEGORY_MN, 0, UTF8PROC_BIDI_CLASS_NSM, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, 58, false, false, false, false, UTF8PROC_BOUNDCLASS_EXTEND, 0},\n  {UTF8PROC_CATEGORY_MC, 0, UTF8PROC_BIDI_CLASS_L, 0, 11067, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_SPACINGMARK, 0},\n  {UTF8PROC_CATEGORY_MC, 0, UTF8PROC_BIDI_CLASS_L, 0, 11070, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_SPACINGMARK, 0},\n  {UTF8PROC_CATEGORY_MC, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, 60, false, false, false, false, UTF8PROC_BOUNDCLASS_EXTEND, 0},\n  {UTF8PROC_CATEGORY_MC, 0, UTF8PROC_BIDI_CLASS_L, 0, 11073, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_SPACINGMARK, 0},\n  {UTF8PROC_CATEGORY_MC, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, 61, false, false, false, false, UTF8PROC_BOUNDCLASS_EXTEND, 0},\n  {UTF8PROC_CATEGORY_MC, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, 25500, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_SPACINGMARK, 0},\n  {UTF8PROC_CATEGORY_MC, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, 25568, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_SPACINGMARK, 0},\n  {UTF8PROC_CATEGORY_MC, 0, UTF8PROC_BIDI_CLASS_L, 0, 11076, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_SPACINGMARK, 0},\n  {UTF8PROC_CATEGORY_MC, 0, UTF8PROC_BIDI_CLASS_L, 0, 11079, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_SPACINGMARK, 0},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 11082, -1, 71872, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 11084, -1, 71873, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 11086, -1, 71874, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 11088, -1, 71875, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 11090, -1, 71876, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 11092, -1, 71877, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 11094, -1, 71878, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 11096, -1, 71879, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 11098, -1, 71880, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 11100, -1, 71881, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 11102, -1, 71882, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 11104, -1, 71883, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 11106, -1, 71884, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 11108, -1, 71885, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 11110, -1, 71886, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 11112, -1, 71887, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 11114, -1, 71888, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 11116, -1, 71889, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 11118, -1, 71890, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 11120, -1, 71891, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 11122, -1, 71892, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 11124, -1, 71893, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 11126, -1, 71894, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 11128, -1, 71895, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 11130, -1, 71896, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 11132, -1, 71897, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 11134, -1, 71898, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 11136, -1, 71899, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 11138, -1, 71900, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 11140, -1, 71901, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 11142, -1, 71902, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, 11144, -1, 71903, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 71840, -1, 71840, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 71841, -1, 71841, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 71842, -1, 71842, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 71843, -1, 71843, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 71844, -1, 71844, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 71845, -1, 71845, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 71846, -1, 71846, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 71847, -1, 71847, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 71848, -1, 71848, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 71849, -1, 71849, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 71850, -1, 71850, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 71851, -1, 71851, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 71852, -1, 71852, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 71853, -1, 71853, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 71854, -1, 71854, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 71855, -1, 71855, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 71856, -1, 71856, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 71857, -1, 71857, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 71858, -1, 71858, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 71859, -1, 71859, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 71860, -1, 71860, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 71861, -1, 71861, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 71862, -1, 71862, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 71863, -1, 71863, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 71864, -1, 71864, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 71865, -1, 71865, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 71866, -1, 71866, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 71867, -1, 71867, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 71868, -1, 71868, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 71869, -1, 71869, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 71870, -1, 71870, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, 71871, -1, 71871, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, 25636, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, 25704, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11146, UINT16_MAX, -1, -1, -1, -1, -1, false, true, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11149, UINT16_MAX, -1, -1, -1, 25772, -1, false, true, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11152, UINT16_MAX, -1, -1, -1, -1, -1, false, true, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11155, UINT16_MAX, -1, -1, -1, -1, -1, false, true, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11158, UINT16_MAX, -1, -1, -1, -1, -1, false, true, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11161, UINT16_MAX, -1, -1, -1, -1, -1, false, true, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11164, UINT16_MAX, -1, -1, -1, -1, -1, false, true, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_MC, 216, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, 62, false, false, false, false, UTF8PROC_BOUNDCLASS_EXTEND, 0},\n  {UTF8PROC_CATEGORY_MC, 216, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_SPACINGMARK, 0},\n  {UTF8PROC_CATEGORY_MC, 226, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_SPACINGMARK, 0},\n  {UTF8PROC_CATEGORY_MC, 216, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, 63, false, false, false, false, UTF8PROC_BOUNDCLASS_EXTEND, 0},\n  {UTF8PROC_CATEGORY_MC, 216, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, 64, false, false, false, false, UTF8PROC_BOUNDCLASS_EXTEND, 0},\n  {UTF8PROC_CATEGORY_MC, 216, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, 65, false, false, false, false, UTF8PROC_BOUNDCLASS_EXTEND, 0},\n  {UTF8PROC_CATEGORY_MC, 216, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, 66, false, false, false, false, UTF8PROC_BOUNDCLASS_EXTEND, 0},\n  {UTF8PROC_CATEGORY_MC, 216, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, 67, false, false, false, false, UTF8PROC_BOUNDCLASS_EXTEND, 0},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, 25840, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, 25908, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11167, UINT16_MAX, -1, -1, -1, 25976, -1, false, true, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11170, UINT16_MAX, -1, -1, -1, 26044, -1, false, true, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11173, UINT16_MAX, -1, -1, -1, -1, -1, false, true, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11176, UINT16_MAX, -1, -1, -1, -1, -1, false, true, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11179, UINT16_MAX, -1, -1, -1, -1, -1, false, true, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11182, UINT16_MAX, -1, -1, -1, -1, -1, false, true, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 2430, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 2436, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 2442, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 2448, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 2450, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 2458, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 5310, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 2466, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 2468, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 4737, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 2470, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 4764, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 5324, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 0, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 2, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 4, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 6, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 10, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 20, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 24, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 26, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 30, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 32, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 34, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 36, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 38, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 40, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 42, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 44, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 46, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 48, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 50, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 2430, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 2434, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 4594, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 2438, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 4633, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 2442, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 2444, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 2446, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 2448, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 2450, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 2452, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 2454, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 2456, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 2458, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 2462, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 4615, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 2464, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 5310, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 2466, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 2468, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 4737, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 2470, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 4764, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 5324, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 4627, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 0, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 2, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 4, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 8, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 10, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 12, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 16, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 18, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 20, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 22, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 24, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 26, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 28, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 30, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 32, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 34, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 36, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 38, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 40, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 42, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 44, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 46, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 48, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 50, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 14, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 11185, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 11187, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 11189, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 11191, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 11193, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 11195, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 11197, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 11199, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 1514, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 11201, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 11203, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 11205, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 11207, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 11209, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 11211, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 11213, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 4651, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 11215, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 11217, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 1518, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 11219, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 1480, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 11221, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 11223, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 11225, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 4629, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SM, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 11227, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 1390, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 1392, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 1394, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 1396, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 1398, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 1400, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 1402, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 1404, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 1326, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 1406, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 1408, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 67, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 1410, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 1412, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 1414, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 1416, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 1418, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 1512, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 1420, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 1422, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 1424, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 1426, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 1428, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 1430, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 1432, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_SM, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_FONT, 11229, UINT16_MAX, -1, -1, -1, -1, -1, true, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 11231, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 11233, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 11235, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 11237, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 11239, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 11241, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 11189, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 11191, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 4649, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 11193, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 11195, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 11197, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 11199, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 1514, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 11201, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 11203, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 11205, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 11207, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 11209, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 11211, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 11213, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 11215, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 11217, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 1518, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 11219, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 1480, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 11221, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 11223, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 11225, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 4629, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SM, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 11227, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 1390, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 1392, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 1396, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 1398, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 1400, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 1402, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 1404, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 1326, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 1406, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 1408, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 67, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 1410, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 1412, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 1414, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 1418, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 1512, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 1420, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 1422, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 1424, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 1426, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 1428, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 1430, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 1432, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SM, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_FONT, 11229, UINT16_MAX, -1, -1, -1, -1, -1, true, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 11231, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 11235, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 11237, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 11239, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 11241, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 11233, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LU, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 11243, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LL, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_FONT, 1492, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_ND, 0, UTF8PROC_BIDI_CLASS_EN, UTF8PROC_DECOMP_TYPE_FONT, 4559, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_ND, 0, UTF8PROC_BIDI_CLASS_EN, UTF8PROC_DECOMP_TYPE_FONT, 72, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_ND, 0, UTF8PROC_BIDI_CLASS_EN, UTF8PROC_DECOMP_TYPE_FONT, 60, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_ND, 0, UTF8PROC_BIDI_CLASS_EN, UTF8PROC_DECOMP_TYPE_FONT, 62, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_ND, 0, UTF8PROC_BIDI_CLASS_EN, UTF8PROC_DECOMP_TYPE_FONT, 4561, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_ND, 0, UTF8PROC_BIDI_CLASS_EN, UTF8PROC_DECOMP_TYPE_FONT, 4563, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_ND, 0, UTF8PROC_BIDI_CLASS_EN, UTF8PROC_DECOMP_TYPE_FONT, 4565, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_ND, 0, UTF8PROC_BIDI_CLASS_EN, UTF8PROC_DECOMP_TYPE_FONT, 4567, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_ND, 0, UTF8PROC_BIDI_CLASS_EN, UTF8PROC_DECOMP_TYPE_FONT, 4569, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_ND, 0, UTF8PROC_BIDI_CLASS_EN, UTF8PROC_DECOMP_TYPE_FONT, 4571, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_ND, 0, UTF8PROC_BIDI_CLASS_EN, UTF8PROC_DECOMP_TYPE_FONT, 4559, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_ND, 0, UTF8PROC_BIDI_CLASS_EN, UTF8PROC_DECOMP_TYPE_FONT, 72, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_ND, 0, UTF8PROC_BIDI_CLASS_EN, UTF8PROC_DECOMP_TYPE_FONT, 60, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_ND, 0, UTF8PROC_BIDI_CLASS_EN, UTF8PROC_DECOMP_TYPE_FONT, 62, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_ND, 0, UTF8PROC_BIDI_CLASS_EN, UTF8PROC_DECOMP_TYPE_FONT, 4561, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_ND, 0, UTF8PROC_BIDI_CLASS_EN, UTF8PROC_DECOMP_TYPE_FONT, 4563, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_ND, 0, UTF8PROC_BIDI_CLASS_EN, UTF8PROC_DECOMP_TYPE_FONT, 4565, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_ND, 0, UTF8PROC_BIDI_CLASS_EN, UTF8PROC_DECOMP_TYPE_FONT, 4567, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_ND, 0, UTF8PROC_BIDI_CLASS_EN, UTF8PROC_DECOMP_TYPE_FONT, 4569, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_ND, 0, UTF8PROC_BIDI_CLASS_EN, UTF8PROC_DECOMP_TYPE_FONT, 4571, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FONT, 10566, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FONT, 10568, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FONT, 10576, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FONT, 10582, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FONT, 10620, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FONT, 10588, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FONT, 10578, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FONT, 10598, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FONT, 10622, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FONT, 10610, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FONT, 10612, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FONT, 10614, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FONT, 10616, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FONT, 10590, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FONT, 10602, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FONT, 10606, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FONT, 10594, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FONT, 10608, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FONT, 10586, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FONT, 10592, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FONT, 10572, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FONT, 10574, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FONT, 10580, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FONT, 10584, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FONT, 10596, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FONT, 10600, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FONT, 10604, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FONT, 11245, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FONT, 9425, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FONT, 11247, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FONT, 11249, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FONT, 10618, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 1},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FONT, 10618, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FONT, 10568, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FONT, 10576, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FONT, 10582, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FONT, 10620, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FONT, 10588, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FONT, 10578, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FONT, 10598, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FONT, 10622, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FONT, 10612, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FONT, 10614, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FONT, 10616, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FONT, 10590, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FONT, 10602, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FONT, 10606, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FONT, 10594, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FONT, 10608, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FONT, 10586, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FONT, 10592, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FONT, 10572, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FONT, 10574, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FONT, 10580, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FONT, 10584, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FONT, 10596, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FONT, 10600, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_AL, UTF8PROC_DECOMP_TYPE_FONT, 10604, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_EN, UTF8PROC_DECOMP_TYPE_COMPAT, 11251, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_EN, UTF8PROC_DECOMP_TYPE_COMPAT, 11254, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_EN, UTF8PROC_DECOMP_TYPE_COMPAT, 11257, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_EN, UTF8PROC_DECOMP_TYPE_COMPAT, 11260, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_EN, UTF8PROC_DECOMP_TYPE_COMPAT, 11263, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_EN, UTF8PROC_DECOMP_TYPE_COMPAT, 11266, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_EN, UTF8PROC_DECOMP_TYPE_COMPAT, 11269, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_EN, UTF8PROC_DECOMP_TYPE_COMPAT, 11272, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_EN, UTF8PROC_DECOMP_TYPE_COMPAT, 11275, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_EN, UTF8PROC_DECOMP_TYPE_COMPAT, 11278, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_NO, 0, UTF8PROC_BIDI_CLASS_EN, UTF8PROC_DECOMP_TYPE_COMPAT, 11281, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 11284, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 11288, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 11292, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 11296, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 11300, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 11304, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 11308, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 11312, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 11316, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 11320, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 11324, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 11328, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 11332, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 11336, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 11340, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 11344, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 11348, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 11352, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 11356, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 11360, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 11364, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 11368, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 11372, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 11376, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 11380, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 11384, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 11388, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 4594, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 2464, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 11392, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 11395, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 2430, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 2434, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 4594, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 2436, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 2438, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 4633, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 2442, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 2444, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 2446, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 2448, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 2450, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 2452, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 2454, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 2456, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 2458, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 2462, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 4615, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 2464, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 5310, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 2466, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 2468, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 4737, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 2470, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 4764, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 5324, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 4627, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 11398, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 11401, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 11404, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 11407, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 11411, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_SUPER, 11414, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_ON, UTF8PROC_DECOMP_TYPE_SUPER, 11417, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 11420, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_REGIONAL_INDICATOR, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 11423, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 11426, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 6988, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 5703, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 11429, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 11431, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 11433, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 5589, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 11435, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 11437, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 6401, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 11439, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 11441, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 11443, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 8766, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 11445, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 11447, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 11449, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 11451, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 11453, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 11455, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 5775, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 11457, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 11459, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 11461, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 11463, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 11465, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 11467, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 5577, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 6385, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 11469, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 6850, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 6391, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 6852, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 11471, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 5887, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 11473, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 11475, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 11477, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 11479, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 11481, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 6816, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 5723, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 11483, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 11485, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_SQUARE, 11487, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 11489, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 11493, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 11497, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 11501, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 11505, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 11509, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 11513, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 11517, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_COMPAT, 11521, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 11525, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SO, 0, UTF8PROC_BIDI_CLASS_L, UTF8PROC_DECOMP_TYPE_CIRCLE, 11527, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_SK, 0, UTF8PROC_BIDI_CLASS_ON, 0, UINT16_MAX, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11529, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11531, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11533, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11535, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11537, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11539, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11541, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11543, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11545, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11547, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11549, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11551, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11553, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11555, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11557, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11559, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11561, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11563, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11449, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11565, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11567, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11569, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11571, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11573, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11575, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 5609, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11577, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11579, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11581, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11583, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11485, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11585, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11587, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11589, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11591, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11593, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11595, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11597, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11599, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11601, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11603, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11605, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11607, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11609, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11611, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11613, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11615, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11617, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11619, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11621, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11623, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11625, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11627, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11629, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11631, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11633, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11635, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11637, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11639, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11641, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11643, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11645, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11647, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11649, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11651, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11653, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11655, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11657, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11659, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11661, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11663, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11665, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11667, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11669, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11671, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11673, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11675, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11435, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11677, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11679, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11681, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11683, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11685, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11687, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11689, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11691, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11693, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11695, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11697, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11699, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11701, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11703, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11705, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11707, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11709, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11711, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11713, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11715, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11717, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 5661, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11719, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11721, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11723, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11725, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11727, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11729, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11731, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11733, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11735, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11737, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11739, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11741, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11743, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11745, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11747, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11749, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11751, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11753, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11755, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11757, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11759, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11761, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11763, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11765, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 5685, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11767, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11769, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11771, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11773, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11775, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11777, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11779, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11781, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11783, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11785, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11787, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11789, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11791, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11793, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11795, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11797, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11799, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11801, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11803, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11805, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11807, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11809, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11811, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11813, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11815, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11817, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11819, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11821, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11823, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11825, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11827, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11829, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11831, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11833, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11835, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11837, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11839, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11841, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11843, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11845, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11847, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11849, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11851, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11853, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11855, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11857, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11859, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11861, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11863, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11865, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11867, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11869, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11871, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11873, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11875, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11877, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11879, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11881, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11883, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11885, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11887, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11889, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11891, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11893, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11895, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11897, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11899, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11901, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11903, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11905, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11907, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11909, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11911, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11913, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11915, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11917, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11919, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11921, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11923, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11925, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11927, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11929, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11931, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11933, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11935, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11937, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11939, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11941, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11943, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11945, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11947, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11949, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11951, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11953, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11955, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11957, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11959, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11961, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11963, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11965, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11967, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11969, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11971, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11973, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11975, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11977, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11979, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11981, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11983, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11985, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11987, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11989, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11991, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11993, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11995, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11997, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 11999, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12001, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12003, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12005, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12007, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12009, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12011, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12013, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12015, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12017, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12019, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12021, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12023, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12025, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12027, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12029, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12031, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12033, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12035, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12037, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12039, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12041, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12043, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12045, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12047, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12049, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12051, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12053, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12055, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12057, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12059, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12061, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12063, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12065, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12067, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12069, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12071, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12073, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12075, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12077, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12079, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12081, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12083, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12085, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12087, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12089, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12091, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12093, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12095, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12097, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12099, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12101, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12103, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12105, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12107, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12109, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12111, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12113, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12115, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12117, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12119, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12121, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12123, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12125, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12127, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12129, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12131, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12133, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12135, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12137, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12139, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12141, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12143, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12145, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12147, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12149, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12151, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12153, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12155, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12157, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12159, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12161, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12163, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12165, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12167, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12169, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12171, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12173, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12175, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12177, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12179, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12181, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12183, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12185, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12187, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12189, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12191, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12193, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12195, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12197, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12199, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12201, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12203, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12205, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12207, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12209, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12211, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12213, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12215, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12217, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12219, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12221, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12223, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12225, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12227, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12229, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12231, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12233, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12235, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12237, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12239, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12241, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12243, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12245, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12247, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12249, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12251, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12253, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12255, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12257, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12259, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12261, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12263, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12265, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12267, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12269, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12271, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12273, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12275, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12277, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12279, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12281, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12283, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12285, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12287, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12289, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12291, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12293, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12295, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12297, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12299, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12301, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 5865, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12303, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12305, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12307, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12309, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12311, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12313, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12315, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12317, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12319, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12321, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12323, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 5879, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12325, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12327, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12329, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12331, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12333, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12335, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12337, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12339, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12341, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12343, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12345, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12347, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12349, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12351, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12353, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12355, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12357, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12359, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12361, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12363, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12365, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12367, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12369, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12371, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12373, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12375, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12377, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12379, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12381, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12383, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12385, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12387, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12389, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12391, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12393, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12395, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12397, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12399, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12401, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12403, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12405, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12407, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12409, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12411, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12413, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12415, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12417, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12419, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12421, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12423, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12425, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12427, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12429, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12431, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12433, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12435, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12437, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12439, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12441, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12443, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12445, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12447, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 5975, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12449, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 5983, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12451, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12453, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12455, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12457, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 5993, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n  {UTF8PROC_CATEGORY_LO, 0, UTF8PROC_BIDI_CLASS_L, 0, 12459, UINT16_MAX, -1, -1, -1, -1, -1, false, false, false, false, UTF8PROC_BOUNDCLASS_OTHER, 2},\n};\n\nconst utf8proc_int32_t utf8proc_combinations[] = {\n  192, 193, 194, 195, 196, 197, -1, \n  256, 258, 260, 550, 461, -1, -1, 512, \n  514, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  7680, 7840, -1, -1, -1, -1, -1, 7842, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, 262, 264, \n  -1, -1, -1, 199, -1, -1, -1, 266, \n  268, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, 200, 201, 202, 7868, 203, -1, 552, \n  274, 276, 280, 278, 282, -1, -1, 516, \n  518, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, 7864, -1, 7704, 7706, -1, -1, 7866, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, 204, 205, 206, \n  296, 207, -1, -1, 298, 300, 302, 304, \n  463, -1, -1, 520, 522, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, 7882, -1, -1, \n  7724, -1, -1, 7880, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, 504, 323, -1, 209, -1, -1, 325, \n  -1, -1, -1, 7748, 327, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, 7750, 7752, 7754, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, 210, 211, 212, \n  213, 214, -1, -1, 332, 334, 490, 558, \n  465, 336, 416, 524, 526, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, 7884, -1, -1, \n  -1, -1, -1, 7886, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, 217, 218, 219, 360, 220, 366, -1, \n  362, 364, 370, -1, 467, 368, 431, 532, \n  534, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, 7908, -1, 7798, 7796, -1, 7794, 7910, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, 7922, 221, 374, \n  7928, 376, -1, -1, 562, -1, -1, 7822, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, 7924, -1, -1, \n  -1, -1, -1, 7926, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, 224, 225, 226, 227, 228, 229, -1, \n  257, 259, 261, 551, 462, -1, -1, 513, \n  515, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  7681, 7841, -1, -1, -1, -1, -1, 7843, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, 263, 265, \n  -1, -1, -1, 231, -1, -1, -1, 267, \n  269, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, 232, 233, 234, 7869, 235, -1, 553, \n  275, 277, 281, 279, 283, -1, -1, 517, \n  519, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, 7865, -1, 7705, 7707, -1, -1, 7867, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, 236, 237, 238, \n  297, 239, -1, -1, 299, 301, 303, -1, \n  464, -1, -1, 521, 523, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, 7883, -1, -1, \n  7725, -1, -1, 7881, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, 505, 324, -1, 241, -1, -1, 326, \n  -1, -1, -1, 7749, 328, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, 7751, 7753, 7755, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, 242, 243, 244, \n  245, 246, -1, -1, 333, 335, 491, 559, \n  466, 337, 417, 525, 527, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, 7885, -1, -1, \n  -1, -1, -1, 7887, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, 249, 250, 251, 361, 252, 367, -1, \n  363, 365, 371, -1, 468, 369, 432, 533, \n  535, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, 7909, -1, 7799, 7797, -1, 7795, 7911, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, 7923, 253, 375, \n  7929, 255, 7833, -1, 563, -1, -1, 7823, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, 7925, -1, -1, \n  -1, -1, -1, 7927, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, 7696, \n  -1, -1, -1, 7690, 270, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, 7692, 7694, 7698, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, 7697, -1, -1, -1, 7691, \n  271, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, 7693, 7695, 7699, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, 500, 284, -1, -1, -1, 290, \n  7712, 286, -1, 288, 486, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, 501, 285, \n  -1, -1, -1, 291, 7713, 287, -1, 289, \n  487, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, 292, -1, 7718, -1, 7720, \n  -1, -1, -1, 7714, 542, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, 7716, -1, -1, -1, 7722, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, 293, \n  -1, 7719, -1, 7721, -1, -1, -1, 7715, \n  543, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, 7717, 7830, -1, \n  -1, 7723, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, 308, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, 309, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  496, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, 7728, -1, -1, -1, -1, 310, \n  -1, -1, -1, -1, 488, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, 7730, 7732, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, 7729, -1, \n  -1, -1, -1, 311, -1, -1, -1, -1, \n  489, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, 7731, 7733, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, 313, -1, -1, -1, -1, 315, \n  -1, -1, -1, -1, 317, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, 7734, 7738, 7740, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, 314, -1, \n  -1, -1, -1, 316, -1, -1, -1, -1, \n  318, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, 7735, 7739, 7741, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, 340, -1, -1, -1, -1, 342, \n  -1, -1, -1, 7768, 344, -1, -1, 528, \n  530, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, 7770, 7774, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, 341, -1, \n  -1, -1, -1, 343, -1, -1, -1, 7769, \n  345, -1, -1, 529, 531, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, 7771, 7775, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, 346, 348, -1, -1, -1, 350, \n  -1, -1, -1, 7776, 352, -1, -1, -1, \n  -1, 536, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, 7778, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, 347, 349, \n  -1, -1, -1, 351, -1, -1, -1, 7777, \n  353, -1, -1, -1, -1, 537, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, 7779, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, 354, \n  -1, -1, -1, 7786, 356, -1, -1, -1, \n  -1, 538, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, 7788, 7790, 7792, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, 7831, -1, 355, -1, -1, -1, 7787, \n  357, -1, -1, -1, -1, 539, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, 7789, 7791, 7793, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, 7808, 7810, 372, -1, 7812, -1, -1, \n  -1, -1, -1, 7814, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, 7816, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, 7809, 7811, 373, \n  -1, 7813, 7832, -1, -1, -1, -1, 7815, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, 7817, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, 377, 7824, -1, -1, -1, -1, \n  -1, -1, -1, 379, 381, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, 7826, 7828, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, 378, 7825, \n  -1, -1, -1, -1, -1, -1, -1, 380, \n  382, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, 7827, 7829, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, 475, 471, -1, -1, -1, -1, -1, \n  469, -1, -1, -1, 473, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, 476, 472, -1, \n  -1, -1, -1, -1, 470, -1, -1, -1, \n  474, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  478, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, 479, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  480, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, 481, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, 508, -1, -1, -1, -1, -1, \n  482, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, 509, -1, \n  -1, -1, -1, -1, 483, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  492, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, 493, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, 494, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  495, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, 506, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, 507, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, 510, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, 511, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  554, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, 555, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, 7756, -1, -1, 7758, -1, -1, \n  556, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, 7757, -1, \n  -1, 7759, -1, -1, 557, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  560, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, 561, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, 8173, 901, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, 8129, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, 8122, 902, -1, \n  -1, -1, -1, -1, 8121, 8120, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, 7944, 7945, -1, 8124, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, 8136, 904, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  7960, 7961, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, 8138, 905, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, 7976, 7977, -1, 8140, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, 8154, 906, -1, -1, 938, -1, -1, \n  8153, 8152, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  7992, 7993, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, 8184, 908, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, 8008, 8009, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, 8170, 910, -1, -1, 939, -1, -1, \n  8169, 8168, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, 8025, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, 8186, 911, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, 8040, 8041, -1, 8188, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, 8146, 912, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, 8151, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, 8048, 940, -1, \n  -1, -1, -1, -1, 8113, 8112, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, 7936, 7937, 8118, 8115, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, 8050, 941, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  7952, 7953, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, 8052, 942, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, 7968, 7969, 8134, 8131, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, 8054, 943, -1, -1, 970, -1, -1, \n  8145, 8144, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  7984, 7985, 8150, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, 8162, 944, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, 8167, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, 8058, 973, -1, -1, 971, -1, -1, \n  8161, 8160, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  8016, 8017, 8166, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, 8056, 972, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, 8000, 8001, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, 8060, 974, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  8032, 8033, 8182, 8179, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, 979, -1, \n  -1, 980, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, 1024, -1, -1, -1, 1025, -1, -1, \n  -1, 1238, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, 1027, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, 1031, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, 1036, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, 1037, -1, -1, -1, 1252, -1, -1, \n  1250, 1049, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, 1264, -1, -1, 1262, 1038, -1, -1, \n  -1, 1266, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, 1117, -1, -1, -1, 1253, -1, -1, \n  1251, 1081, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, 1104, -1, -1, \n  -1, 1105, -1, -1, -1, 1239, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, 1107, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, 1111, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, 1116, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, 1265, -1, -1, 1263, 1118, -1, -1, \n  -1, 1267, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, 1142, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, 1143, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, 1244, -1, -1, \n  -1, 1217, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, 1245, -1, -1, -1, 1218, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, 1234, -1, -1, \n  -1, 1232, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, 1235, -1, -1, -1, 1233, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, 1242, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, 1243, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, 1246, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, 1247, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, 1254, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, 1255, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, 1258, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, 1259, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, 1260, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, 1261, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, 1268, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, 1269, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, 1272, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, 1273, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, 1570, 1571, 1573, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, 1572, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, 1574, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, 1728, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, 1730, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, 1747, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, 2345, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, 2353, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, 2356, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, 2507, 2508, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  2888, 2891, 2892, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, 2964, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, 3020, 3018, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  3019, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, 3144, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, 3264, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, 3271, 3272, \n  3274, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, 3275, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, 3402, 3404, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, 3403, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, 3546, 3548, 3550, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, 3549, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, 4134, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, 6918, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, 6920, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, 6922, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, 6924, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, 6926, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, 6930, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, 6971, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, 6973, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, 6976, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, 6977, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, 6979, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, 7682, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, 7684, 7686, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, 7683, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, 7685, 7687, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, 7688, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, 7689, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, 7700, 7702, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, 7701, 7703, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, 7708, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, 7709, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, 7710, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, 7711, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, 7726, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, 7727, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  7736, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, 7737, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, 7742, -1, -1, -1, -1, -1, \n  -1, -1, -1, 7744, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, 7746, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, 7743, -1, \n  -1, -1, -1, -1, -1, -1, -1, 7745, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, 7747, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, 7760, 7762, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, 7761, 7763, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, 7764, -1, -1, -1, -1, -1, \n  -1, -1, -1, 7766, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, 7765, -1, \n  -1, -1, -1, -1, -1, -1, -1, 7767, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  7772, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, 7773, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, 7780, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, 7781, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, 7782, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, 7783, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, 7784, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, 7785, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, 7800, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, 7801, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, 7802, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, 7803, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, 7804, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, 7806, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  7805, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, 7807, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, 7820, -1, -1, \n  -1, -1, -1, 7818, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, 7821, -1, -1, -1, -1, -1, 7819, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, 7835, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, 7846, 7844, -1, \n  7850, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, 7848, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, 7847, 7845, -1, 7851, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, 7849, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, 7852, \n  -1, -1, -1, -1, -1, 7862, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, 7853, -1, -1, -1, -1, \n  -1, 7863, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, 7856, 7854, -1, \n  7860, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, 7858, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, 7857, 7855, -1, 7861, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, 7859, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, 7872, 7870, -1, \n  7876, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, 7874, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, 7873, 7871, -1, 7877, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, 7875, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, 7878, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, 7879, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, 7890, 7888, -1, \n  7894, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, 7892, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, 7891, 7889, -1, 7895, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, 7893, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, 7896, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, 7897, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, 7900, 7898, -1, \n  7904, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, 7906, -1, -1, \n  -1, -1, -1, 7902, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, 7901, 7899, -1, 7905, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, 7907, -1, -1, -1, -1, -1, 7903, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, 7914, 7912, -1, \n  7918, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, 7920, -1, -1, \n  -1, -1, -1, 7916, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, 7915, 7913, -1, 7919, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, 7921, -1, -1, -1, -1, -1, 7917, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, 7938, 7940, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, 7942, 8064, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, 7939, 7941, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, 7943, 8065, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, 7946, 7948, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, 7950, 8072, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, 7947, 7949, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, 7951, 8073, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, 7954, 7956, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, 7955, 7957, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, 7962, 7964, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, 7963, 7965, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, 7970, 7972, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, 7974, 8080, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, 7971, 7973, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, 7975, 8081, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, 7978, 7980, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, 7982, 8088, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, 7979, 7981, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, 7983, 8089, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, 7986, 7988, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, 7990, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, 7987, 7989, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, 7991, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, 7994, 7996, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, 7998, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, 7995, 7997, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, 7999, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, 8002, 8004, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, 8003, 8005, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, 8010, 8012, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, 8011, 8013, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, 8018, 8020, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, 8022, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, 8019, 8021, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, 8023, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, 8027, 8029, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, 8031, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, 8034, 8036, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, 8038, 8096, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, 8035, 8037, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, 8039, 8097, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, 8042, 8044, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, 8046, 8104, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, 8043, 8045, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, 8047, 8105, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, 8066, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, 8067, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, 8068, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, 8069, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, 8070, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, 8071, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, 8074, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, 8075, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, 8076, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, 8077, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, 8078, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, 8079, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, 8082, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, 8083, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, 8084, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, 8085, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, 8086, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, 8087, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, 8090, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, 8091, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, 8092, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, 8093, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, 8094, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, 8095, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, 8098, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, 8099, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, 8100, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, 8101, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, 8102, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, 8103, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, 8106, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, 8107, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, 8108, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, 8109, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, 8110, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, 8111, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, 8114, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, 8116, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, 8119, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, 8130, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, 8132, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, 8135, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, 8141, 8142, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, 8143, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, 8157, 8158, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, 8159, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  8164, 8165, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, 8172, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, 8178, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, 8180, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, 8183, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  8602, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, 8603, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  8622, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, 8653, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  8654, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, 8655, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  8708, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, 8713, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  8716, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, 8740, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  8742, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, 8769, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  8772, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, 8775, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  8777, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, 8800, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  8802, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, 8813, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  8814, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, 8815, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  8816, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, 8817, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  8820, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, 8821, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  8824, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, 8825, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  8832, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, 8833, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  8836, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, 8837, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  8840, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, 8841, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  8876, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, 8877, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  8878, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, 8879, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  8928, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, 8929, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  8930, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, 8931, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  8938, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, 8939, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  8940, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, 8941, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  10972, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, 12364, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, 12366, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, 12368, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, 12370, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, 12372, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, 12374, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, 12376, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, 12378, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, 12380, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, 12382, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, 12384, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, 12386, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, 12389, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, 12391, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, 12393, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, 12400, 12401, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, 12403, 12404, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, 12406, 12407, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, 12409, 12410, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, 12412, 12413, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, 12436, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, 12446, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, 12460, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, 12462, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, 12464, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, 12466, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, 12468, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, 12470, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, 12472, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, 12474, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, 12476, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, 12478, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, 12480, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, 12482, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, 12485, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, 12487, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, 12489, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, 12496, 12497, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, 12499, 12500, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, 12502, 12503, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, 12505, 12506, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, 12508, 12509, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, 12532, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, 12535, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, 12536, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, 12537, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, 12538, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, 12542, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, 69786, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, 69788, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, 69803, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, 69934, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  69935, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, 70475, 70476, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, 70843, 70844, 70846, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, 71098, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, 71099, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, 119134, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, 119135, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, 119136, 119137, 119138, 119139, \n  119140, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, 119227, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, 119228, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  119229, 119231, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, -1, -1, -1, -1, \n  -1, -1, -1, -1, 119230, 119232, -1, -1, \n  -1, };\n\n"
  },
  {
    "path": "source/utils.cpp",
    "content": "/**\nCopyright 2013 3DSGuy\n\nThis file is part of make_cdn_cia.\n\nmake_cdn_cia is free software: you can redistribute it and/or modify\nit under the terms of the GNU General Public License as published by\nthe Free Software Foundation, either version 3 of the License, or\n(at your option) any later version.\n\nmake_cdn_cia is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\nGNU General Public License for more details.\n\nYou should have received a copy of the GNU General Public License\nalong with make_cdn_cia.  If not, see <http://www.gnu.org/licenses/>.\n**/\n#include \"lib.h\"\n#include \"data/builtin_rootca_bin.h\"\n\n#include <string>\n#include <sys/socket.h>\n#include <netinet/in.h>\n#include <arpa/inet.h>\n#include <netdb.h>\n#include <sys/time.h>\n\n//MISC\nvoid char_to_int_array(unsigned char destination[], char source[], int size, u32 endianness, int base)\n{\t\n\tchar tmp[size][2];\n    unsigned char *byte_array = (unsigned char*)malloc(size*sizeof(unsigned char));\n\tmemset(byte_array, 0, size);\n\tmemset(destination, 0, size);\n\tmemset(tmp, 0, size*2);\n    \n    for (int i = 0; i < size; i ++){\n\t\ttmp[i][0] = source[(i*2)];\n        tmp[i][1] = source[((i*2)+1)];\n\t\ttmp[i][2] = '\\0';\n        byte_array[i] = (unsigned char)strtol(tmp[i], NULL, base);\n    }\n\tendian_memcpy(destination,byte_array,size,endianness);\n\t/**\n\tfor (int i = 0; i < size; i++){\n        switch (endianness){\n        \tcase(BIG_ENDIAN):\n        \tdestination[i] = byte_array[i];\n        \tbreak;\n        \tcase(LITTLE_ENDIAN):\n        \tdestination[i] = byte_array[((size-1)-i)];\n        \tbreak;\n        }\n    }\n\t**/\n\tfree(byte_array);\n}\n\nvoid endian_memcpy(u8 *destination, u8 *source, u32 size, u32 endianness)\n{ \n    for (u32 i = 0; i < size; i++){\n        switch (endianness){\n            case(BIG_ENDIAN):\n                destination[i] = source[i];\n                break;\n            case(LITTLE_ENDIAN):\n                destination[i] = source[((size-1)-i)];\n                break;\n        }\n    }\n}\n\nvoid u8_hex_print_be(u8 *array, int len)\n{\n\tfor(int i = 0; i < len; i++)\n\t\tprintf(\"%02x\",array[i]);\n}\n\nvoid u8_hex_print_le(u8 *array, int len)\n{\n\tfor(int i = 0; i < len; i++)\n\t\tprintf(\"%02x\",array[len - i - 1]);\n}\n\nu32 align_value(u32 value, u32 alignment)\n{\n\tu32 tmp = value;\n\twhile(tmp > alignment)\n\t\ttmp -= alignment;\n\treturn (value + (alignment - tmp));\n}\n\nvoid resolve_flag(unsigned char flag, unsigned char *flag_bool)\n{\n\tunsigned char bit_mask[8] = {0x80,0x40,0x20,0x10,0x8,0x4,0x2,0x1};\n\tfor(int i = 0; i < 8; i++){\n\t\tif (flag >= bit_mask[i]){\n\t\t\tflag_bool[7-i] = True;\n\t\t\tflag -= bit_mask[i];\n\t\t}\n\t\telse\n\t\t\tflag_bool[7-i] = False;\n\t}\n}\n\nvoid resolve_flag_u16(u16 flag, unsigned char *flag_bool)\n{\n\tu16 bit_mask[16] = {0x8000,0x4000,0x2000,0x1000,0x800,0x400,0x200,0x100,0x80,0x40,0x20,0x10,0x8,0x4,0x2,0x1};\n\tfor(int i = 0; i < 16; i++){\n\t\tif (flag >= bit_mask[i]){\n\t\t\tflag_bool[15-i] = True;\n\t\t\tflag -= bit_mask[i];\n\t\t}\n\telse\n\t\tflag_bool[15-i] = False;\n\t}\n}\n\n//IO Related\nint diff_ms(timeval t1, timeval t2)\n{\n    return (((t1.tv_sec - t2.tv_sec) * 1000000) + \n            (t1.tv_usec - t2.tv_usec))/1000;\n}\n\nvoid PrintProgress(PrintConsole *console, u32 nSize, u32 nCurrent)\n{\n\t// Don't attempt to calculate anything if we don't have a final size\n\tif (nSize == 0) return;\n\t\n\t// Switch to the progress console\n\tPrintConsole* currentConsole = consoleSelect(console);\n\tconsoleClear();\n\n\t// Set the start time if nLastSize is 0\n\tstatic u64 nStartTime;\n\tif (nCurrent == 0)\n\t{\n\t\tnStartTime = osGetTime();\n\t}\n\n\t// Offset everything by 10 lines to kinda center it\n\tprintf(\"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\");\n\n\t// Calculate percent and bar width\n\tdouble fPercent = ((double)nCurrent / nSize) * 100.0;\n\tu16 barDrawWidth = (fPercent / 100) * 40;\n\n\tint i = 0;\n\tfor (i = 0; i < barDrawWidth; i++)\n\t{\n\t\tprintf(\"|\");\n\t}\n\tprintf(\"\\n\");\n\n\t// Output current progress\n\tprintf(\"   %0.2f / %0.2fMB  % 3.2f%%\\n\", ((double)nCurrent) / 1024 / 1024, ((double)nSize) / 1024 / 1024, fPercent);\n\n\t// Calculate download speed\n\tif (nCurrent > 0)\n\t{\n\t\tu64 nTime = osGetTime();\n\t\tdouble seconds = ((double)(nTime - nStartTime)) / 1000;\n\n\t\tif (seconds > 0)\n\t\t{\n\t\t\tdouble speed = ((nCurrent / seconds) / 1024);\n\t\t\tprintf(\"   Avg Speed: %.02f KB/s\\n\", speed);\n\t\t}\n\t}\n\n\t// Make sure the screen updates\n    gfxFlushBuffers();\n    gspWaitForVBlank();\n\n    // Switch back to the original console\n    consoleSelect(currentConsole);\n}\n\nvoid WriteBuffer(void *buffer, u64 size, u64 offset, FILE *output)\n{\n\tfseek_64(output,offset,SEEK_SET);\n\tfwrite(buffer,size,1,output);\n} \n\nvoid write_align_padding(FILE *output, size_t alignment)\n{\n\tlong int pos = ftell(output);\n\tlong int usedbytes = pos & (alignment - 1);\n\tif (usedbytes)\n\t{\n\t\tlong int padbytes = (alignment - usedbytes);\n\t\tchar* pad = (char*)malloc(padbytes);\n\t\tmemset(pad, 0, padbytes);\n\t\tfwrite(pad, padbytes, 1, output);\n\t\tfree(pad);\n\t}\n}\n\nu64 GetFileSize_u64(char *filename)\n{\n\tu64 size;\n#ifdef _WIN32\n\tint fh;\n \tu64 n;\n  \tfh = _open( filename, 0 );\n  \tn = _lseeki64(fh, 0, SEEK_END);\n\t_close(fh);\n\tsize = (n / sizeof(short))*2;\n#else\n\tFILE *file = fopen(filename,\"rb\");\n\tfseeko(file, 0L, SEEK_END);\n\tsize = ftello(file);\n\tfclose(file);\n#endif\n\treturn size;\n}\n\nint TruncateFile_u64(char *filename, u64 filelen)\n{\n#ifdef _WIN32\n\tHANDLE fh;\n \n\tLARGE_INTEGER fp;\n\tfp.QuadPart = filelen;\n \n\tfh = CreateFile(filename, GENERIC_WRITE, 0, NULL, OPEN_EXISTING, 0, NULL);\n\tif (fh == INVALID_HANDLE_VALUE) {\n\t\tprintf(\"[!] Invalid File handle\\n\");\n\t\treturn 1;\n\t}\n \n\tif (SetFilePointerEx(fh, fp, NULL, FILE_BEGIN) == 0 ||\n\t    SetEndOfFile(fh) == 0) {\n\t\tprintf(\"[!] truncate failed\\n\");\n\t\tCloseHandle(fh);\n\t\treturn 1;\n\t}\n \n\tCloseHandle(fh);\n\treturn 0;\n#else\n\treturn truncate(filename,filelen);\n#endif\t\n}\n\nint fseek_64(FILE *fp, u64 file_pos, int whence)\n{\n#ifdef _WIN32\n\tfpos_t pos = file_pos;\n\treturn fsetpos(fp,&pos); //I can't believe the 2gb problem with Windows & MINGW, maybe I have a bad installation :/\n#else\n\treturn fseeko(fp,file_pos,whence);\n#endif\n}\n\nint makedir(const char* dir)\n{\n#ifdef _WIN32\n\treturn _mkdir(dir);\n#else\n\treturn mkdir(dir, 0777);\n#endif\n}\n\nchar *getcwdir(char *buffer,int maxlen)\n{\n#ifdef _WIN32\nreturn _getcwd(buffer,maxlen);\n#else\nreturn getcwd(buffer,maxlen);\n#endif\n}\n\nbool FileExists (const char *name){\n    struct stat buffer;\n    return (stat (name, &buffer) == 0);\n}\n\nvoid DownloadFile_InternalSave(void* out, unsigned char* buffer, u32 readSize)\n{\n\tFILE* os = (FILE*)out;\n\tfwrite(buffer, readSize, 1, os);\n}\n\nstatic u32 install_offset = 0;\nvoid DownloadFile_InternalInstall(void* out, unsigned char* buffer, u32 readSize)\n{\n\tu32 bytesWritten;\n\tHandle* handle = (Handle*)out;\n\n\tFSFILE_Write(*handle, &bytesWritten, install_offset, buffer, readSize, 0);\n\n\tinstall_offset += bytesWritten;\n}\n\nResult DownloadFile_Internal(const char *url, void *out, bool bProgress,\n\t\t\t\t\t\t\t void (*write)(void* out, unsigned char* buffer, u32 readSize))\n{\n    httpcContext context;\n    u32 fileSize = 0;\n    u32 procSize = 0;\n    Result ret = 0;\n    Result dlret = HTTPC_RESULTCODE_DOWNLOADPENDING;\n    u32 status;\n    u32 bufSize = 1024 * 256;\n    u32 readSize = 0;\n    httpcOpenContext(&context, HTTPC_METHOD_GET, (char*)url, 1);\n    httpcSetSSLOpt(&context, SSLCOPT_DisableVerify);\n\n    // If we're showing progress, set up a console on the bottom screen\n    GSPGPU_FramebufferFormats infoOldFormat = gfxGetScreenFormat(GFX_BOTTOM);\n    PrintConsole infoConsole;\n    if (bProgress)\n    {\n\t    PrintConsole* currentConsole = consoleSelect(&infoConsole);\n\t    consoleInit(GFX_BOTTOM, &infoConsole);\n\t    consoleSelect(currentConsole);\n    }\n\n    ret = httpcBeginRequest(&context);\n    if (ret != 0) goto _out;\n\n    ret = httpcGetResponseStatusCode(&context, &status);\n    if (ret != 0) goto _out;\n\n    if (status != 200)\n    {\n        ret = status;\n        goto _out;\n    }\n\n    ret = httpcGetDownloadSizeState(&context, NULL, &fileSize);\n    if (ret != 0) goto _out;\n\n    {\n        unsigned char *buffer = (unsigned char *)linearAlloc(bufSize);\n        if (buffer == NULL)\n        {\n            printf(\"Error allocating download buffer\\n\");\n            ret = -1;\n            goto _out;\n        }\n\n        // Initialize the Progress bar if we're showing one\n        if (bProgress)\n        {\n            PrintProgress(&infoConsole, fileSize, procSize);\n        }\n\n        while (dlret == (s32)HTTPC_RESULTCODE_DOWNLOADPENDING)\n        {\n        \t// Check if the app is closing\n        \tif (!aptMainLoop()) {\n        \t\tret = -1;\n        \t\tbreak;\n        \t}\n\n            // Check if the user has pressed B, and cancel if so\n            hidScanInput();\n            u32 keys = hidKeysDown();\n            if (keys & KEY_B)\n            {\n                ret = -1;\n                break;\n            }\n\n            memset(buffer, 0, bufSize);\n\n            dlret = httpcDownloadData(&context, buffer, bufSize, &readSize);\n            write(out, buffer, readSize);\n\n            procSize += readSize;\n            if (bProgress)\n            {\n                PrintProgress(&infoConsole, fileSize, procSize);\n            }\n        }\n\n        printf(\"\\n\");\n        linearFree(buffer);\n    }\n_out:\n    httpcCloseContext(&context);\n\n    // If showing progress, restore the bottom screen\n    if (bProgress)\n    {\n        gfxSetScreenFormat(GFX_BOTTOM, infoOldFormat);\n    }\n\n    return ret;\n}\n\nResult DownloadFile(const char *url, FILE *os, bool bProgress)\n{\n\treturn DownloadFile_Internal(url, os, bProgress, DownloadFile_InternalSave);\n}\n\n// This function DOES NOT support HTTPS\nResult DownloadFileInstall(const char *url, Handle *handle, u32* offset)\n{\n\tinstall_offset = *offset;\n\tResult res = DownloadFile_Internal(url, handle, true, DownloadFile_InternalInstall);\n\t*offset = install_offset;\n\treturn res;\n}\n\n// Install the passed in seed for the titleid. \n// Code from FBI: https://github.com/Steveice10/FBI/blob/45f12418520e99795c8e4d4dee3a1f000acc91a5/source/core/util.c#L239\n// Copyright (C) 2015 Steveice10\nResult InstallSeed(u64 titleId, const void* seed) {\n    u32 *cmdbuf = getThreadCommandBuffer();\n\n    cmdbuf[0] = IPC_MakeHeader(0x87a, 6, 0); // 0x087a0180\n    cmdbuf[1] = (u32) (titleId & 0xFFFFFFFF);\n    cmdbuf[2] = (u32) (titleId >> 32);\n    memcpy(&cmdbuf[3], seed, 16);\n\n    Result ret = 0;\n    if(R_FAILED(ret = svcSendSyncRequest(*fsGetSessionHandle()))) {\n        return ret;\n    }\n\n    ret = cmdbuf[1];\n    return ret;\n}\n\n//Data Size conversion\nu16 u8_to_u16(u8 *value, u32 endianness)\n{\n\tu16 new_value = 0;\n\tswitch(endianness){\n\t\tcase(BIG_ENDIAN): new_value =  (value[1]<<0) | (value[0]<<8); break;\n\t\tcase(LITTLE_ENDIAN): new_value = (value[0]<<0) | (value[1]<<8); break;\n\t}\n\treturn new_value;\n}\n\nu32 u8_to_u32(u8 *value, u32 endianness)\n{\n\tu32 new_value = 0;\n\tswitch(endianness){\n\t\tcase(BIG_ENDIAN): new_value = (value[3]<<0) | (value[2]<<8) | (value[1]<<16) | (value[0]<<24); break;\n\t\tcase(LITTLE_ENDIAN): new_value = (value[0]<<0) | (value[1]<<8) | (value[2]<<16) | (value[3]<<24); break;\n\t}\n\treturn new_value;\n}\n\n\nu64 u8_to_u64(u8 *value, u32 endianness)\n{\n\tu64 u64_return = 0;\n\tswitch(endianness){\n\t\tcase(BIG_ENDIAN): \n\t\t\tu64_return |= (u64)value[7]<<0;\n\t\t\tu64_return |= (u64)value[6]<<8;\n\t\t\tu64_return |= (u64)value[5]<<16;\n\t\t\tu64_return |= (u64)value[4]<<24;\n\t\t\tu64_return |= (u64)value[3]<<32;\n\t\t\tu64_return |= (u64)value[2]<<40;\n\t\t\tu64_return |= (u64)value[1]<<48;\n\t\t\tu64_return |= (u64)value[0]<<56;\n\t\t\tbreak;\n\t\t\t//return (value[7]<<0) | (value[6]<<8) | (value[5]<<16) | (value[4]<<24) | (value[3]<<32) | (value[2]<<40) | (value[1]<<48) | (value[0]<<56);\n\t\tcase(LITTLE_ENDIAN): \n\t\t\tu64_return |= (u64)value[0]<<0;\n\t\t\tu64_return |= (u64)value[1]<<8;\n\t\t\tu64_return |= (u64)value[2]<<16;\n\t\t\tu64_return |= (u64)value[3]<<24;\n\t\t\tu64_return |= (u64)value[4]<<32;\n\t\t\tu64_return |= (u64)value[5]<<40;\n\t\t\tu64_return |= (u64)value[6]<<48;\n\t\t\tu64_return |= (u64)value[7]<<56;\n\t\t\tbreak;\n\t\t\t//return (value[0]<<0) | (value[1]<<8) | (value[2]<<16) | (value[3]<<24) | (value[4]<<32) | (value[5]<<40) | (value[6]<<48) | (value[7]<<56);\n\t}\n\treturn u64_return;\n}\n\nint u16_to_u8(u8 *out_value, u16 in_value, u32 endianness)\n{\n\tswitch(endianness){\n\t\tcase(BIG_ENDIAN):\n\t\t\tout_value[0]=(in_value >> 8);\n\t\t\tout_value[1]=(in_value >> 0);\n\t\t\tbreak;\n\t\tcase(LITTLE_ENDIAN):\n\t\t\tout_value[0]=(in_value >> 0);\n\t\t\tout_value[1]=(in_value >> 8);\n\t\t\tbreak;\n\t}\n\treturn 0;\n}\n\nint u32_to_u8(u8 *out_value, u32 in_value, u32 endianness)\n{\n\tswitch(endianness){\n\t\tcase(BIG_ENDIAN):\n\t\t\tout_value[0]=(in_value >> 24);\n\t\t\tout_value[1]=(in_value >> 16);\n\t\t\tout_value[2]=(in_value >> 8);\n\t\t\tout_value[3]=(in_value >> 0);\n\t\t\tbreak;\n\t\tcase(LITTLE_ENDIAN):\n\t\t\tout_value[0]=(in_value >> 0);\n\t\t\tout_value[1]=(in_value >> 8);\n\t\t\tout_value[2]=(in_value >> 16);\n\t\t\tout_value[3]=(in_value >> 24);\n\t\t\tbreak;\n\t}\n\treturn 0;\n}\n\nint u64_to_u8(u8 *out_value, u64 in_value, u32 endianness)\n{\n\tswitch(endianness){\n\t\tcase(BIG_ENDIAN):\n\t\t\tout_value[0]=(in_value >> 56);\n\t\t\tout_value[1]=(in_value >> 48);\n\t\t\tout_value[2]=(in_value >> 40);\n\t\t\tout_value[3]=(in_value >> 32);\n\t\t\tout_value[4]=(in_value >> 24);\n\t\t\tout_value[5]=(in_value >> 16);\n\t\t\tout_value[6]=(in_value >> 8);\n\t\t\tout_value[7]=(in_value >> 0);\n\t\t\tbreak;\n\t\tcase(LITTLE_ENDIAN):\n\t\t\tout_value[0]=(in_value >> 0);\n\t\t\tout_value[1]=(in_value >> 8);\n\t\t\tout_value[2]=(in_value >> 16);\n\t\t\tout_value[3]=(in_value >> 24);\n\t\t\tout_value[4]=(in_value >> 32);\n\t\t\tout_value[5]=(in_value >> 40);\n\t\t\tout_value[6]=(in_value >> 48);\n\t\t\tout_value[7]=(in_value >> 56);\n\t\t\tbreak;\n\t}\n\treturn 0;\n}\n\n//Copied from ctrtool\nvoid memdump(FILE* fout, const char* prefix, const u8* data, u32 size)\n{\n\tu32 i;\n\tint prefixlen = strlen(prefix);\n\tu32 offs = 0;\n\tu32 line = 0;\n\twhile(size)\n\t{\n\t\tu32 max = 32;\n\n\t\tif (max > size)\n\t\t\tmax = size;\n\n\t\tif (line==0)\n\t\t\tfprintf(fout, \"%s\", prefix);\n\t\telse\n\t\t\tfprintf(fout, \"%*s\", prefixlen, \"\");\n\n\n\t\tfor(i=0; i<max; i++)\n\t\t\tfprintf(fout, \"%02X\", data[offs+i]);\n\t\tfprintf(fout, \"\\n\");\n\t\tline++;\n\t\tsize -= max;\n\t\toffs += max;\n\t}\n}\n\n// HID related\nu32 wait_key()\n{\n    while (aptMainLoop())\n    {\n        hidScanInput();\n\n        u32 keys = hidKeysDown();\n        if (keys > 0)\n        {\n            return keys;\n        }\n        gfxFlushBuffers();\n        gspWaitForVBlank();\n    }\n\n    return 0;\n}\n\nu32 wait_key_specific(const char* message, u32 key)\n{\n\tprintf(message);\n    while (true)\n    {\n        u32 keys = wait_key();\n        if (keys & key)\n        {\n        \treturn keys;\n        }\n    }\n}\n\n// Graphics Functions\nvoid clear_screen(gfxScreen_t screen)\n{\n\tu8* buffer1;\n\tu8* buffer2 = NULL;\n\tu16 width, height;\n\tu32 bpp;\n\tGSPGPU_FramebufferFormats format = gfxGetScreenFormat(screen);\n\n\tif (screen == GFX_TOP)\n\t{\n\t\tbuffer1 = gfxGetFramebuffer(screen, GFX_LEFT, &width, &height);\n\t\tbuffer2 = gfxGetFramebuffer(screen, GFX_RIGHT, &width, &height);\n\t} else {\n\t\tbuffer1 = gfxGetFramebuffer(screen, GFX_LEFT, &width, &height);\n\t}\n\n\tswitch (format)\n\t{\n    case GSP_RGBA8_OES:\n        bpp = 4;\n    case GSP_BGR8_OES:\n        bpp = 3;\n    case GSP_RGB565_OES:\n    case GSP_RGB5_A1_OES:\n    case GSP_RGBA4_OES:\n        bpp = 2;\n    default:\n    \tbpp = 3;\n\t}\n\n\tmemset(buffer1, 0, (width * height * bpp));\n\tif (buffer2)\n\t\tmemset(buffer2, 0, (width * height * bpp));\n\n    gfxFlushBuffers();\n    gfxSwapBuffers();\n    gspWaitForVBlank();\n}\n\nbool download_JSON() {\n  printf(\"\\nAttempting to download JSON...\\n\");\n  \n  remove(\"/CIAngel/wings.json.tmp\");\n  FILE *oh = fopen(\"/CIAngel/wings.json.tmp\", \"wb\");\n  \n  if (oh) {\n    Result res = DownloadFile(getJsonUrl().c_str(), oh, false);\n    int size = ftell(oh);\n    fclose(oh);\n    if (res == 0 && size >= 0) {\n      remove(\"/CIAngel/wings.json\");\n      rename(\"/CIAngel/wings.json.tmp\", \"/CIAngel/wings.json\");\n      return true;\n    }\n  }\n  \n  remove(\"/CIAngel/wings.json.tmp\");\n  printf(\"Failed to download JSON\\n\");\n  return false;\n}\n\nbool check_JSON() {\n    struct stat filestats;\n    int ret = stat(\"/CIAngel/wings.json\", &filestats);\n    time_t curtime = time(NULL);\n\n    if (ret == 0) {\n      u64 mtime;\n      sdmc_getmtime(\"/CIAngel/wings.json\", &mtime);\n      double age_seconds = difftime(curtime, mtime);\n      double age_days = age_seconds / (60 * 60 * 24);\n\n      if (age_seconds > JSON_UPDATE_INTERVAL_IN_SECONDS) {\n        printf(\"Your wings.json is %d days old\\n\\n\", (int)age_days);\n        printf(\"Press A to update, or any other key to skip.\\n\");\n\n        u32 keys = wait_key();\n\n        if (keys & KEY_A) {\n          return download_JSON();\n        }\n        return true;\n      }\n    } else {\n      printf(\"No wings.json\\n\");\n\n      printf(\"\\nPress A to Download, or any other key to return.\\n\");\n      u32 keys = wait_key();\n      \n      if (keys & KEY_A) {\n        return download_JSON();\n      }\n      printf(\"\\nDon't expect search to work\\n\");\n      return false;\n    }\n\n    return true;\n}\n\nstd::string GetSerialType(std::string sSerial)\n{\n    std::string sType = \"Unknown\";\n    if (sSerial.substr(0, 3) == \"TWL\")\n    {\n        sType = \"DSiWare\";\n    }\n    else\n    {\n        switch (sSerial.c_str()[4])\n        {\n            case 'N':\n            case 'P':\n                sType = \"Game\";\n                break;\n            case 'T':\n                sType = \"Demo\";\n                break;\n            case 'U':\n                sType = \"Update\";\n                break;\n            case 'M':\n                sType = \"DLC\";\n                break;\n        }\n    }\n\n    return sType;\n}\n\nstd::string upperCase(std::string input) {\n  for (std::string::iterator it = input.begin(); it != input.end(); ++ it)\n    *it = toupper(*it);\n  return input;\n}\n\nstd::string getJsonUrl()\n{\n\tstd::string sJsonUrl = JSON_URL_DEFAULT;\n\n\tstd::ifstream jsonFile;\n\tjsonFile.open(JSON_URL_FILE, std::ofstream::in);\n\tif (jsonFile.is_open())\n\t{\n\t\tgetline(jsonFile, sJsonUrl);\n\t}\n\n\treturn sJsonUrl;\n}\n"
  },
  {
    "path": "source/utils.h",
    "content": "/**\nCopyright 2013 3DSGuy\n\nThis file is part of make_cdn_cia.\n\nmake_cdn_cia is free software: you can redistribute it and/or modify\nit under the terms of the GNU General Public License as published by\nthe Free Software Foundation, either version 3 of the License, or\n(at your option) any later version.\n\nmake_cdn_cia is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\nGNU General Public License for more details.\n\nYou should have received a copy of the GNU General Public License\nalong with make_cdn_cia.  If not, see <http://www.gnu.org/licenses/>.\n**/\n#include <3ds.h>\n\n#define NUS_URL \"http://ccs.cdn.c.shop.nintendowifi.net/ccs/download/\"\n#define SEED_URL \"https://kagiya-ctr.cdn.nintendo.net/title/\"\n#define JSON_URL_DEFAULT \"http://3ds.titlekeys.gq/json_enc\"\n#define JSON_URL_FILE \"/CIAngel/source.txt\"\n\n// Check for updates every 3 days automatically?\n#define JSON_UPDATE_INTERVAL_IN_SECONDS (60 * 60 * 24 * 3)\n\n#define JSON_TYPE_WINGS 1\n#define JSON_TYPE_ONLINE 2\n\n// C++ only code\n#ifdef __cplusplus\n#include <string>\n#include <fstream>\nstd::string GetSerialType(std::string sSerial);\nstd::string upperCase(std::string input);\nstd::string getJsonUrl();\n#endif\n\n//MISC\n#ifdef __cplusplus\nextern \"C\" {\n#endif\nvoid char_to_int_array(unsigned char destination[], char source[], int size, u32 endianness, int base);\nvoid endian_memcpy(u8 *destination, u8 *source, u32 size, u32 endianness);\nvoid u8_hex_print_be(u8 *array, int len);\nvoid u8_hex_print_le(u8 *array, int len);\nu32 align_value(u32 value, u32 alignment);\nvoid resolve_flag(unsigned char flag, unsigned char *flag_bool);\nvoid resolve_flag_u16(u16 flag, unsigned char *flag_bool);\nbool download_JSON();\nbool check_JSON();\n//IO Related\nvoid PrintProgress(PrintConsole *console, u32 nSize, u32 nCurrent);\nvoid WriteBuffer(void *buffer, u64 size, u64 offset, FILE *output);\nvoid write_align_padding(FILE *output, size_t alignment);\nu64 GetFileSize_u64(char *filename);\nint TruncateFile_u64(char *filename, u64 filelen);\nint fseek_64(FILE *fp, u64 file_pos, int whence);\nint makedir(const char* dir);\nchar *getcwdir(char *buffer,int maxlen);\nbool FileExists (const char *name);\nResult DownloadFile(const char *url, FILE *os, bool bProgress);\nResult DownloadFileInstall(const char *url, Handle *handle, u32* offset);\nResult InstallSeed(u64 titleId, const void* seed);\n//Data Size conversion\nu16 u8_to_u16(u8 *value, u32 endianness);\nu32 u8_to_u32(u8 *value, u32 endianness);\nu64 u8_to_u64(u8 *value, u32 endianness);\nint u16_to_u8(u8 *out_value, u16 in_value, u32 endianness);\nint u32_to_u8(u8 *out_value, u32 in_value, u32 endianness);\nint u64_to_u8(u8 *out_value, u64 in_value, u32 endianness);\n//from ctrtool\nvoid memdump(FILE* fout, const char* prefix, const u8* data, u32 size);\n// HID related\nu32 wait_key();\nu32 wait_key_specific(const char* msg, u32 key);\n// graphics functions\nvoid clear_screen(gfxScreen_t screen);\n\n#ifdef __cplusplus\n}\n#endif\n"
  }
]