/*
 * Automatically generated by SheenBidiGenerator tool.
 * DO NOT EDIT!!
 *
 * REQUIRED MEMORY: 4448+(2624*2)+(1088*2) = 11872 Bytes
 */

#include "BidiTypeLookup.h"

#define AL      SBBidiTypeAL 
#define AN      SBBidiTypeAN 
#define B       SBBidiTypeB  
#define BN      SBBidiTypeBN 
#define CS      SBBidiTypeCS 
#define EN      SBBidiTypeEN 
#define ES      SBBidiTypeES 
#define ET      SBBidiTypeET 
#define FSI     SBBidiTypeFSI
#define L       SBBidiTypeL  
#define LRE     SBBidiTypeLRE
#define LRI     SBBidiTypeLRI
#define LRO     SBBidiTypeLRO
#define NSM     SBBidiTypeNSM
#define ON      SBBidiTypeON 
#define PDF     SBBidiTypePDF
#define PDI     SBBidiTypePDI
#define R       SBBidiTypeR  
#define RLE     SBBidiTypeRLE
#define RLI     SBBidiTypeRLI
#define RLO     SBBidiTypeRLO
#define S       SBBidiTypeS  
#define WS      SBBidiTypeWS 

static const SBUInt8 PrimaryBidiTypeData[4448] = {
/* DATA_BLOCK: -- 0x0000..0x000F -- */
    BN,  BN,  BN,  BN,  BN,  BN,  BN,  BN,  BN,  S,   B,   S,   WS,  B,   BN,  BN,
/* DATA_BLOCK: -- 0x0010..0x001F -- */
    BN,  BN,  BN,  BN,  BN,  BN,  BN,  BN,  BN,  BN,  BN,  BN,  B,   B,   B,   S,
/* DATA_BLOCK: -- 0x0020..0x002F -- */
    WS,  ON,  ON,  ET,  ET,  ET,  ON,  ON,  ON,  ON,  ON,  ES,  CS,  ES,  CS,  CS,
/* DATA_BLOCK: -- 0x0030..0x003F -- */
    EN,  EN,  EN,  EN,  EN,  EN,  EN,  EN,  EN,  EN,  CS,  ON,  ON,  ON,  ON,  ON,
/* DATA_BLOCK: -- 0x0040..0x004F -- */
    ON,  L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   L,
/* DATA_BLOCK: -- 0x0050..0x005F -- */
    L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   ON,  ON,  ON,  ON,  ON,
/* DATA_BLOCK: -- 0x0060..0x006F -- */
    L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   ON,  ON,  ON,  ON,  BN,
/* DATA_BLOCK: -- 0x0070..0x007F -- */
    BN,  BN,  BN,  BN,  BN,  B,   BN,  BN,  BN,  BN,  BN,  BN,  BN,  BN,  BN,  BN,
/* DATA_BLOCK: -- 0x0080..0x008F -- */
    BN,  BN,  BN,  BN,  BN,  BN,  BN,  BN,  BN,  BN,  BN,  BN,  BN,  BN,  BN,  BN,
/* DATA_BLOCK: -- 0x0090..0x009F -- */
    CS,  ON,  ET,  ET,  ET,  ET,  ON,  ON,  ON,  ON,  L,   ON,  ON,  BN,  ON,  ON,
/* DATA_BLOCK: -- 0x00A0..0x00AF -- */
    ET,  ET,  EN,  EN,  ON,  L,   ON,  ON,  ON,  EN,  L,   ON,  ON,  ON,  ON,  ON,
/* DATA_BLOCK: -- 0x00B0..0x00BF -- */
    L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   L,
/* DATA_BLOCK: -- 0x00C0..0x00CF -- */
    L,   L,   L,   L,   L,   L,   L,   ON,  L,   L,   L,   L,   L,   L,   L,   L,
/* DATA_BLOCK: -- 0x00D0..0x00DF -- */
    L,   L,   L,   L,   L,   L,   L,   L,   L,   ON,  ON,  L,   L,   L,   L,   L,
/* DATA_BLOCK: -- 0x00E0..0x00EF -- */
    L,   L,   ON,  ON,  ON,  ON,  ON,  ON,  ON,  ON,  ON,  ON,  ON,  ON,  ON,  ON,
/* DATA_BLOCK: -- 0x00F0..0x00FF -- */
    L,   L,   L,   L,   L,   ON,  ON,  ON,  ON,  ON,  ON,  ON,  ON,  ON,  L,   ON,
/* DATA_BLOCK: -- 0x0100..0x010F -- */
    ON,  ON,  ON,  ON,  ON,  ON,  ON,  ON,  ON,  ON,  ON,  ON,  ON,  ON,  ON,  ON,
/* DATA_BLOCK: -- 0x0110..0x011F -- */
    NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM,
/* DATA_BLOCK: -- 0x0120..0x012F -- */
    L,   L,   L,   L,   ON,  ON,  L,   L,   L,   L,   L,   L,   L,   L,   ON,  L,
/* DATA_BLOCK: -- 0x0130..0x013F -- */
    L,   L,   L,   L,   ON,  ON,  L,   ON,  L,   L,   L,   L,   L,   L,   L,   L,
/* DATA_BLOCK: -- 0x0140..0x014F -- */
    L,   L,   L,   L,   L,   L,   ON,  L,   L,   L,   L,   L,   L,   L,   L,   L,
/* DATA_BLOCK: -- 0x0150..0x015F -- */
    L,   L,   L,   NSM, NSM, NSM, NSM, NSM, NSM, NSM, L,   L,   L,   L,   L,   L,
/* DATA_BLOCK: -- 0x0160..0x016F -- */
    L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   ON,  L,   L,   ON,  ON,  ET,
/* DATA_BLOCK: -- 0x0170..0x017F -- */
    R,   NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM,
/* DATA_BLOCK: -- 0x0180..0x018F -- */
    NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, R,   NSM,
/* DATA_BLOCK: -- 0x0190..0x019F -- */
    R,   NSM, NSM, R,   NSM, NSM, R,   NSM, R,   R,   R,   R,   R,   R,   R,   R,
/* DATA_BLOCK: -- 0x01A0..0x01AF -- */
    R,   R,   R,   R,   R,   R,   R,   R,   R,   R,   R,   R,   R,   R,   R,   R,
/* DATA_BLOCK: -- 0x01B0..0x01BF -- */
    AN,  AN,  AN,  AN,  AN,  AN,  ON,  ON,  AL,  ET,  ET,  AL,  CS,  AL,  ON,  ON,
/* DATA_BLOCK: -- 0x01C0..0x01CF -- */
    NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, AL,  AL,  AL,  AL,  AL,
/* DATA_BLOCK: -- 0x01D0..0x01DF -- */
    AL,  AL,  AL,  AL,  AL,  AL,  AL,  AL,  AL,  AL,  AL,  AL,  AL,  AL,  AL,  AL,
/* DATA_BLOCK: -- 0x01E0..0x01EF -- */
    AL,  AL,  AL,  AL,  AL,  AL,  AL,  AL,  AL,  AL,  AL,  NSM, NSM, NSM, NSM, NSM,
/* DATA_BLOCK: -- 0x01F0..0x01FF -- */
    AN,  AN,  AN,  AN,  AN,  AN,  AN,  AN,  AN,  AN,  ET,  AN,  AN,  AL,  AL,  AL,
/* DATA_BLOCK: -- 0x0200..0x020F -- */
    NSM, AL,  AL,  AL,  AL,  AL,  AL,  AL,  AL,  AL,  AL,  AL,  AL,  AL,  AL,  AL,
/* DATA_BLOCK: -- 0x0210..0x021F -- */
    AL,  AL,  AL,  AL,  AL,  AL,  NSM, NSM, NSM, NSM, NSM, NSM, NSM, AN,  ON,  NSM,
/* DATA_BLOCK: -- 0x0220..0x022F -- */
    NSM, NSM, NSM, NSM, NSM, AL,  AL,  NSM, NSM, ON,  NSM, NSM, NSM, NSM, AL,  AL,
/* DATA_BLOCK: -- 0x0230..0x023F -- */
    EN,  EN,  EN,  EN,  EN,  EN,  EN,  EN,  EN,  EN,  AL,  AL,  AL,  AL,  AL,  AL,
/* DATA_BLOCK: -- 0x0240..0x024F -- */
    AL,  NSM, AL,  AL,  AL,  AL,  AL,  AL,  AL,  AL,  AL,  AL,  AL,  AL,  AL,  AL,
/* DATA_BLOCK: -- 0x0250..0x025F -- */
    AL,  AL,  AL,  AL,  AL,  AL,  NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM,
/* DATA_BLOCK: -- 0x0260..0x026F -- */
    R,   R,   R,   R,   R,   R,   R,   R,   R,   R,   R,   NSM, NSM, NSM, NSM, NSM,
/* DATA_BLOCK: -- 0x0270..0x027F -- */
    NSM, NSM, NSM, NSM, R,   R,   ON,  ON,  ON,  ON,  R,   R,   R,   NSM, R,   R,
/* DATA_BLOCK: -- 0x0280..0x028F -- */
    R,   R,   R,   R,   R,   R,   NSM, NSM, NSM, NSM, R,   NSM, NSM, NSM, NSM, NSM,
/* DATA_BLOCK: -- 0x0290..0x029F -- */
    NSM, NSM, NSM, NSM, R,   NSM, NSM, NSM, R,   NSM, NSM, NSM, NSM, NSM, R,   R,
/* DATA_BLOCK: -- 0x02A0..0x02AF -- */
    R,   R,   R,   R,   R,   R,   R,   R,   R,   NSM, NSM, NSM, R,   R,   R,   R,
/* DATA_BLOCK: -- 0x02B0..0x02BF -- */
    AL,  AL,  AL,  NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM,
/* DATA_BLOCK: -- 0x02C0..0x02CF -- */
    NSM, NSM, AN,  NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM,
/* DATA_BLOCK: -- 0x02D0..0x02DF -- */
    NSM, NSM, NSM, L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   L,
/* DATA_BLOCK: -- 0x02E0..0x02EF -- */
    L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   NSM, L,   NSM, L,   L,   L,
/* DATA_BLOCK: -- 0x02F0..0x02FF -- */
    L,   NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, L,   L,   L,   L,   NSM, L,   L,
/* DATA_BLOCK: -- 0x0300..0x030F -- */
    L,   NSM, NSM, NSM, NSM, NSM, NSM, NSM, L,   L,   L,   L,   L,   L,   L,   L,
/* DATA_BLOCK: -- 0x0310..0x031F -- */
    L,   L,   NSM, NSM, L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   L,
/* DATA_BLOCK: -- 0x0320..0x032F -- */
    L,   NSM, L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   L,
/* DATA_BLOCK: -- 0x0330..0x033F -- */
    L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   NSM, L,   L,   L,
/* DATA_BLOCK: -- 0x0340..0x034F -- */
    L,   NSM, NSM, NSM, NSM, L,   L,   L,   L,   L,   L,   L,   L,   NSM, L,   L,
/* DATA_BLOCK: -- 0x0350..0x035F -- */
    L,   L,   ET,  ET,  L,   L,   L,   L,   L,   L,   L,   ET,  L,   L,   NSM, L,
/* DATA_BLOCK: -- 0x0360..0x036F -- */
    L,   NSM, NSM, L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   L,
/* DATA_BLOCK: -- 0x0370..0x037F -- */
    L,   NSM, NSM, L,   L,   L,   L,   NSM, NSM, L,   L,   NSM, NSM, NSM, L,   L,
/* DATA_BLOCK: -- 0x0380..0x038F -- */
    NSM, NSM, L,   L,   L,   NSM, L,   L,   L,   L,   L,   L,   L,   L,   L,   L,
/* DATA_BLOCK: -- 0x0390..0x039F -- */
    L,   NSM, NSM, NSM, NSM, NSM, L,   NSM, NSM, L,   L,   L,   L,   NSM, L,   L,
/* DATA_BLOCK: -- 0x03A0..0x03AF -- */
    L,   ET,  L,   L,   L,   L,   L,   L,   L,   L,   NSM, NSM, NSM, NSM, NSM, NSM,
/* DATA_BLOCK: -- 0x03B0..0x03BF -- */
    L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   NSM, L,   L,   NSM,
/* DATA_BLOCK: -- 0x03C0..0x03CF -- */
    L,   L,   L,   L,   L,   NSM, NSM, L,   L,   L,   L,   L,   L,   L,   L,   L,
/* DATA_BLOCK: -- 0x03D0..0x03DF -- */
    L,   L,   NSM, L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   L,
/* DATA_BLOCK: -- 0x03E0..0x03EF -- */
    NSM, L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   NSM, L,   L,
/* DATA_BLOCK: -- 0x03F0..0x03FF -- */
    L,   L,   L,   ON,  ON,  ON,  ON,  ON,  ON,  ET,  ON,  L,   L,   L,   L,   L,
/* DATA_BLOCK: -- 0x0400..0x040F -- */
    NSM, L,   L,   L,   NSM, L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   L,
/* DATA_BLOCK: -- 0x0410..0x041F -- */
    L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   NSM, NSM,
/* DATA_BLOCK: -- 0x0420..0x042F -- */
    NSM, L,   L,   L,   L,   L,   NSM, NSM, NSM, L,   NSM, NSM, NSM, NSM, L,   L,
/* DATA_BLOCK: -- 0x0430..0x043F -- */
    L,   L,   L,   L,   L,   L,   L,   L,   ON,  ON,  ON,  ON,  ON,  ON,  ON,  L,
/* DATA_BLOCK: -- 0x0440..0x044F -- */
    L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   NSM, NSM, L,   L,
/* DATA_BLOCK: -- 0x0450..0x045F -- */
    NSM, NSM, L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   L,
/* DATA_BLOCK: -- 0x0460..0x046F -- */
    L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   NSM, NSM, L,   L,   L,
/* DATA_BLOCK: -- 0x0470..0x047F -- */
    L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   NSM, L,   L,   L,   L,   L,
/* DATA_BLOCK: -- 0x0480..0x048F -- */
    L,   L,   NSM, NSM, NSM, L,   NSM, L,   L,   L,   L,   L,   L,   L,   L,   L,
/* DATA_BLOCK: -- 0x0490..0x049F -- */
    L,   NSM, L,   L,   NSM, NSM, NSM, NSM, NSM, NSM, NSM, L,   L,   L,   L,   ET,
/* DATA_BLOCK: -- 0x04A0..0x04AF -- */
    L,   L,   L,   L,   L,   L,   L,   NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, L,
/* DATA_BLOCK: -- 0x04B0..0x04BF -- */
    L,   NSM, L,   L,   NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, L,   L,   L,
/* DATA_BLOCK: -- 0x04C0..0x04CF -- */
    L,   L,   L,   L,   L,   L,   L,   L,   NSM, NSM, NSM, NSM, NSM, NSM, L,   L,
/* DATA_BLOCK: -- 0x04D0..0x04DF -- */
    L,   L,   L,   L,   L,   L,   L,   L,   NSM, NSM, L,   L,   L,   L,   L,   L,
/* DATA_BLOCK: -- 0x04E0..0x04EF -- */
    L,   L,   L,   L,   L,   NSM, L,   NSM, L,   NSM, ON,  ON,  ON,  ON,  L,   L,
/* DATA_BLOCK: -- 0x04F0..0x04FF -- */
    L,   NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, L,
/* DATA_BLOCK: -- 0x0500..0x050F -- */
    NSM, NSM, NSM, NSM, NSM, L,   NSM, NSM, L,   L,   L,   L,   L,   NSM, NSM, NSM,
/* DATA_BLOCK: -- 0x0510..0x051F -- */
    NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, L,   NSM, NSM, NSM, NSM, NSM, NSM, NSM,
/* DATA_BLOCK: -- 0x0520..0x052F -- */
    NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, L,   L,   L,
/* DATA_BLOCK: -- 0x0530..0x053F -- */
    L,   L,   L,   L,   L,   L,   NSM, L,   L,   L,   L,   L,   L,   L,   L,   L,
/* DATA_BLOCK: -- 0x0540..0x054F -- */
    L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   NSM, NSM, NSM,
/* DATA_BLOCK: -- 0x0550..0x055F -- */
    NSM, L,   NSM, NSM, NSM, NSM, NSM, NSM, L,   NSM, NSM, L,   L,   NSM, NSM, L,
/* DATA_BLOCK: -- 0x0560..0x056F -- */
    L,   L,   L,   L,   L,   L,   L,   L,   NSM, NSM, L,   L,   L,   L,   NSM, NSM,
/* DATA_BLOCK: -- 0x0570..0x057F -- */
    NSM, L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   L,
/* DATA_BLOCK: -- 0x0580..0x058F -- */
    L,   NSM, NSM, NSM, NSM, L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   L,
/* DATA_BLOCK: -- 0x0590..0x059F -- */
    L,   L,   NSM, L,   L,   NSM, NSM, L,   L,   L,   L,   L,   L,   NSM, L,   L,
/* DATA_BLOCK: -- 0x05A0..0x05AF -- */
    L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   NSM, L,   L,
/* DATA_BLOCK: -- 0x05B0..0x05BF -- */
    ON,  ON,  ON,  ON,  ON,  ON,  ON,  ON,  ON,  ON,  L,   L,   L,   L,   L,   L,
/* DATA_BLOCK: -- 0x05C0..0x05CF -- */
    WS,  L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   L,
/* DATA_BLOCK: -- 0x05D0..0x05DF -- */
    L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   ON,  ON,  L,   L,   L,
/* DATA_BLOCK: -- 0x05E0..0x05EF -- */
    L,   L,   NSM, NSM, NSM, L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   L,
/* DATA_BLOCK: -- 0x05F0..0x05FF -- */
    L,   L,   L,   L,   NSM, NSM, L,   NSM, NSM, NSM, NSM, NSM, NSM, NSM, L,   L,
/* DATA_BLOCK: -- 0x0600..0x060F -- */
    L,   L,   L,   L,   L,   L,   NSM, L,   L,   NSM, NSM, NSM, NSM, NSM, NSM, NSM,
/* DATA_BLOCK: -- 0x0610..0x061F -- */
    NSM, NSM, NSM, NSM, L,   L,   L,   L,   L,   L,   L,   ET,  L,   NSM, L,   L,
/* DATA_BLOCK: -- 0x0620..0x062F -- */
    ON,  ON,  ON,  ON,  ON,  ON,  ON,  ON,  ON,  ON,  ON,  NSM, NSM, NSM, BN,  L,
/* DATA_BLOCK: -- 0x0630..0x063F -- */
    L,   L,   L,   L,   L,   L,   L,   L,   L,   NSM, L,   L,   L,   L,   L,   L,
/* DATA_BLOCK: -- 0x0640..0x064F -- */
    NSM, NSM, NSM, L,   L,   L,   L,   NSM, NSM, L,   L,   L,   L,   L,   L,   L,
/* DATA_BLOCK: -- 0x0650..0x065F -- */
    L,   L,   NSM, L,   L,   L,   L,   L,   L,   NSM, NSM, NSM, L,   L,   L,   L,
/* DATA_BLOCK: -- 0x0660..0x066F -- */
    ON,  L,   L,   L,   ON,  ON,  L,   L,   L,   L,   L,   L,   L,   L,   L,   L,
/* DATA_BLOCK: -- 0x0670..0x067F -- */
    L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   ON,  ON,
/* DATA_BLOCK: -- 0x0680..0x068F -- */
    L,   L,   L,   L,   L,   L,   L,   NSM, NSM, L,   L,   NSM, L,   L,   L,   L,
/* DATA_BLOCK: -- 0x0690..0x069F -- */
    L,   L,   L,   L,   L,   L,   NSM, L,   NSM, NSM, NSM, NSM, NSM, NSM, NSM, L,
/* DATA_BLOCK: -- 0x06A0..0x06AF -- */
    NSM, L,   NSM, L,   L,   NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, L,   L,   L,
/* DATA_BLOCK: -- 0x06B0..0x06BF -- */
    L,   L,   L,   NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, L,   L,   NSM,
/* DATA_BLOCK: -- 0x06C0..0x06CF -- */
    NSM, NSM, NSM, NSM, L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   L,
/* DATA_BLOCK: -- 0x06D0..0x06DF -- */
    L,   L,   L,   L,   NSM, L,   NSM, NSM, NSM, NSM, NSM, L,   NSM, L,   L,   L,
/* DATA_BLOCK: -- 0x06E0..0x06EF -- */
    L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   NSM, NSM, NSM, NSM, NSM,
/* DATA_BLOCK: -- 0x06F0..0x06FF -- */
    L,   L,   NSM, NSM, NSM, NSM, L,   L,   NSM, NSM, L,   NSM, NSM, NSM, L,   L,
/* DATA_BLOCK: -- 0x0700..0x070F -- */
    L,   L,   L,   L,   L,   L,   NSM, L,   NSM, NSM, L,   L,   L,   NSM, L,   NSM,
/* DATA_BLOCK: -- 0x0710..0x071F -- */
    L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   NSM, NSM, NSM, NSM,
/* DATA_BLOCK: -- 0x0720..0x072F -- */
    NSM, NSM, NSM, NSM, L,   L,   NSM, NSM, L,   L,   L,   L,   L,   L,   L,   L,
/* DATA_BLOCK: -- 0x0730..0x073F -- */
    NSM, NSM, NSM, L,   NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM,
/* DATA_BLOCK: -- 0x0740..0x074F -- */
    NSM, L,   NSM, NSM, NSM, NSM, NSM, NSM, NSM, L,   L,   L,   L,   NSM, L,   L,
/* DATA_BLOCK: -- 0x0750..0x075F -- */
    L,   L,   L,   L,   NSM, L,   L,   L,   NSM, NSM, L,   L,   L,   L,   L,   L,
/* DATA_BLOCK: -- 0x0760..0x076F -- */
    NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, L,   NSM, NSM, NSM, NSM, NSM,
/* DATA_BLOCK: -- 0x0770..0x077F -- */
    L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   ON,  L,   ON,
/* DATA_BLOCK: -- 0x0780..0x078F -- */
    ON,  ON,  L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   ON,  ON,  ON,
/* DATA_BLOCK: -- 0x0790..0x079F -- */
    L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   ON,  ON,  ON,
/* DATA_BLOCK: -- 0x07A0..0x07AF -- */
    L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   ON,  ON,  L,
/* DATA_BLOCK: -- 0x07B0..0x07BF -- */
    WS,  WS,  WS,  WS,  WS,  WS,  WS,  WS,  WS,  WS,  WS,  BN,  BN,  BN,  L,   R,
/* DATA_BLOCK: -- 0x07C0..0x07CF -- */
    ON,  ON,  ON,  ON,  ON,  ON,  ON,  ON,  WS,  B,   LRE, RLE, PDF, LRO, RLO, CS,
/* DATA_BLOCK: -- 0x07D0..0x07DF -- */
    ET,  ET,  ET,  ET,  ET,  ON,  ON,  ON,  ON,  ON,  ON,  ON,  ON,  ON,  ON,  ON,
/* DATA_BLOCK: -- 0x07E0..0x07EF -- */
    ON,  ON,  ON,  ON,  CS,  ON,  ON,  ON,  ON,  ON,  ON,  ON,  ON,  ON,  ON,  ON,
/* DATA_BLOCK: -- 0x07F0..0x07FF -- */
    ON,  ON,  ON,  ON,  ON,  ON,  ON,  ON,  ON,  ON,  ON,  ON,  ON,  ON,  ON,  WS,
/* DATA_BLOCK: -- 0x0800..0x080F -- */
    BN,  BN,  BN,  BN,  BN,  BN,  LRI, RLI, FSI, PDI, BN,  BN,  BN,  BN,  BN,  BN,
/* DATA_BLOCK: -- 0x0810..0x081F -- */
    EN,  L,   L,   L,   EN,  EN,  EN,  EN,  EN,  EN,  ES,  ES,  ON,  ON,  ON,  L,
/* DATA_BLOCK: -- 0x0820..0x082F -- */
    EN,  EN,  EN,  EN,  EN,  EN,  EN,  EN,  EN,  EN,  ES,  ES,  ON,  ON,  ON,  L,
/* DATA_BLOCK: -- 0x0830..0x083F -- */
    ET,  ET,  ET,  ET,  ET,  ET,  ET,  ET,  ET,  ET,  ET,  ET,  ET,  ET,  ET,  ET,
/* DATA_BLOCK: -- 0x0840..0x084F -- */
    ON,  ON,  L,   ON,  ON,  ON,  ON,  L,   ON,  ON,  L,   L,   L,   L,   L,   L,
/* DATA_BLOCK: -- 0x0850..0x085F -- */
    L,   L,   L,   L,   ON,  L,   ON,  ON,  ON,  L,   L,   L,   L,   L,   ON,  ON,
/* DATA_BLOCK: -- 0x0860..0x086F -- */
    ON,  ON,  ON,  ON,  L,   ON,  L,   ON,  L,   ON,  L,   L,   L,   L,   ET,  L,
/* DATA_BLOCK: -- 0x0870..0x087F -- */
    L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   ON,  ON,  L,   L,   L,   L,
/* DATA_BLOCK: -- 0x0880..0x088F -- */
    ON,  ON,  ON,  ON,  ON,  L,   L,   L,   L,   L,   ON,  ON,  ON,  ON,  L,   L,
/* DATA_BLOCK: -- 0x0890..0x089F -- */
    L,   L,   L,   L,   L,   L,   L,   L,   L,   ON,  ON,  ON,  L,   L,   L,   L,
/* DATA_BLOCK: -- 0x08A0..0x08AF -- */
    ON,  ON,  ES,  ET,  ON,  ON,  ON,  ON,  ON,  ON,  ON,  ON,  ON,  ON,  ON,  ON,
/* DATA_BLOCK: -- 0x08B0..0x08BF -- */
    ON,  ON,  ON,  ON,  ON,  ON,  L,   L,   L,   L,   L,   L,   L,   L,   L,   L,
/* DATA_BLOCK: -- 0x08C0..0x08CF -- */
    ON,  ON,  ON,  ON,  ON,  L,   ON,  ON,  ON,  ON,  ON,  ON,  ON,  ON,  ON,  ON,
/* DATA_BLOCK: -- 0x08D0..0x08DF -- */
    ON,  ON,  ON,  ON,  ON,  ON,  ON,  L,   L,   L,   L,   L,   L,   L,   L,   L,
/* DATA_BLOCK: -- 0x08E0..0x08EF -- */
    ON,  ON,  ON,  ON,  ON,  ON,  ON,  ON,  ON,  ON,  ON,  L,   L,   L,   L,   L,
/* DATA_BLOCK: -- 0x08F0..0x08FF -- */
    ON,  ON,  ON,  ON,  ON,  ON,  ON,  ON,  EN,  EN,  EN,  EN,  EN,  EN,  EN,  EN,
/* DATA_BLOCK: -- 0x0900..0x090F -- */
    EN,  EN,  EN,  EN,  EN,  EN,  EN,  EN,  EN,  EN,  EN,  EN,  L,   L,   L,   L,
/* DATA_BLOCK: -- 0x0910..0x091F -- */
    L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   ON,  ON,  ON,  ON,  ON,  ON,
/* DATA_BLOCK: -- 0x0920..0x092F -- */
    ON,  ON,  ON,  ON,  ON,  ON,  ON,  ON,  ON,  ON,  ON,  ON,  L,   ON,  ON,  ON,
/* DATA_BLOCK: -- 0x0930..0x093F -- */
    ON,  ON,  ON,  ON,  L,   L,   ON,  ON,  ON,  ON,  ON,  ON,  ON,  ON,  ON,  ON,
/* DATA_BLOCK: -- 0x0940..0x094F -- */
    ON,  ON,  ON,  ON,  ON,  ON,  L,   ON,  ON,  ON,  ON,  ON,  ON,  ON,  ON,  ON,
/* DATA_BLOCK: -- 0x0950..0x095F -- */
    L,   L,   L,   L,   L,   ON,  ON,  ON,  ON,  ON,  ON,  L,   L,   L,   L,   NSM,
/* DATA_BLOCK: -- 0x0960..0x096F -- */
    NSM, NSM, L,   L,   L,   L,   L,   L,   L,   ON,  ON,  ON,  ON,  ON,  ON,  ON,
/* DATA_BLOCK: -- 0x0970..0x097F -- */
    L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   NSM,
/* DATA_BLOCK: -- 0x0980..0x098F -- */
    ON,  ON,  ON,  L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   L,
/* DATA_BLOCK: -- 0x0990..0x099F -- */
    ON,  ON,  ON,  ON,  ON,  ON,  ON,  ON,  ON,  ON,  L,   ON,  ON,  ON,  ON,  ON,
/* DATA_BLOCK: -- 0x09A0..0x09AF -- */
    ON,  ON,  ON,  ON,  L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   L,
/* DATA_BLOCK: -- 0x09B0..0x09BF -- */
    ON,  ON,  ON,  ON,  ON,  ON,  ON,  ON,  ON,  ON,  ON,  ON,  L,   L,   L,   L,
/* DATA_BLOCK: -- 0x09C0..0x09CF -- */
    WS,  ON,  ON,  ON,  ON,  L,   L,   L,   ON,  ON,  ON,  ON,  ON,  ON,  ON,  ON,
/* DATA_BLOCK: -- 0x09D0..0x09DF -- */
    ON,  L,   L,   L,   L,   L,   L,   L,   L,   L,   NSM, NSM, NSM, NSM, L,   L,
/* DATA_BLOCK: -- 0x09E0..0x09EF -- */
    ON,  L,   L,   L,   L,   L,   ON,  ON,  L,   L,   L,   L,   L,   ON,  ON,  ON,
/* DATA_BLOCK: -- 0x09F0..0x09FF -- */
    L,   L,   L,   L,   L,   L,   L,   L,   L,   NSM, NSM, ON,  ON,  L,   L,   L,
/* DATA_BLOCK: -- 0x0A00..0x0A0F -- */
    L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   ON,  L,   L,   L,   L,
/* DATA_BLOCK: -- 0x0A10..0x0A1F -- */
    L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   ON,  ON,  ON,  L,
/* DATA_BLOCK: -- 0x0A20..0x0A2F -- */
    L,   ON,  ON,  ON,  ON,  ON,  ON,  ON,  ON,  ON,  ON,  ON,  ON,  ON,  ON,  ON,
/* DATA_BLOCK: -- 0x0A30..0x0A3F -- */
    L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   ON,  ON,  ON,  ON,
/* DATA_BLOCK: -- 0x0A40..0x0A4F -- */
    L,   L,   L,   L,   L,   L,   L,   ON,  ON,  ON,  ON,  L,   L,   L,   L,   L,
/* DATA_BLOCK: -- 0x0A50..0x0A5F -- */
    L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   ON,
/* DATA_BLOCK: -- 0x0A60..0x0A6F -- */
    NSM, NSM, NSM, ON,  NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, ON,  ON,
/* DATA_BLOCK: -- 0x0A70..0x0A7F -- */
    ON,  ON,  L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   L,
/* DATA_BLOCK: -- 0x0A80..0x0A8F -- */
    L,   L,   L,   L,   L,   L,   L,   L,   ON,  L,   L,   L,   L,   L,   L,   L,
/* DATA_BLOCK: -- 0x0A90..0x0A9F -- */
    L,   L,   NSM, L,   L,   L,   NSM, L,   L,   L,   L,   NSM, L,   L,   L,   L,
/* DATA_BLOCK: -- 0x0AA0..0x0AAF -- */
    L,   L,   L,   L,   L,   NSM, NSM, L,   ON,  ON,  ON,  ON,  NSM, L,   L,   L,
/* DATA_BLOCK: -- 0x0AB0..0x0ABF -- */
    L,   L,   L,   L,   L,   L,   L,   L,   ET,  ET,  L,   L,   L,   L,   L,   L,
/* DATA_BLOCK: -- 0x0AC0..0x0ACF -- */
    L,   L,   L,   L,   ON,  ON,  ON,  ON,  L,   L,   L,   L,   L,   L,   L,   L,
/* DATA_BLOCK: -- 0x0AD0..0x0ADF -- */
    L,   L,   L,   L,   NSM, NSM, L,   L,   L,   L,   L,   L,   L,   L,   L,   L,
/* DATA_BLOCK: -- 0x0AE0..0x0AEF -- */
    NSM, NSM, L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   NSM,
/* DATA_BLOCK: -- 0x0AF0..0x0AFF -- */
    L,   L,   L,   L,   L,   L,   NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, L,   L,
/* DATA_BLOCK: -- 0x0B00..0x0B0F -- */
    L,   L,   L,   L,   L,   L,   L,   NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM,
/* DATA_BLOCK: -- 0x0B10..0x0B1F -- */
    L,   L,   L,   NSM, L,   L,   NSM, NSM, NSM, NSM, L,   L,   NSM, NSM, L,   L,
/* DATA_BLOCK: -- 0x0B20..0x0B2F -- */
    L,   L,   L,   L,   L,   NSM, L,   L,   L,   L,   L,   L,   L,   L,   L,   L,
/* DATA_BLOCK: -- 0x0B30..0x0B3F -- */
    L,   L,   L,   L,   L,   L,   L,   L,   L,   NSM, NSM, NSM, NSM, NSM, NSM, L,
/* DATA_BLOCK: -- 0x0B40..0x0B4F -- */
    L,   NSM, NSM, L,   L,   NSM, NSM, L,   L,   L,   L,   L,   L,   L,   L,   L,
/* DATA_BLOCK: -- 0x0B50..0x0B5F -- */
    L,   L,   L,   NSM, L,   L,   L,   L,   L,   L,   L,   L,   NSM, L,   L,   L,
/* DATA_BLOCK: -- 0x0B60..0x0B6F -- */
    NSM, L,   NSM, NSM, NSM, L,   L,   NSM, NSM, L,   L,   L,   L,   L,   NSM, NSM,
/* DATA_BLOCK: -- 0x0B70..0x0B7F -- */
    L,   L,   L,   L,   L,   NSM, L,   L,   NSM, L,   L,   L,   L,   NSM, L,   L,
/* DATA_BLOCK: -- 0x0B80..0x0B8F -- */
    L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   R,   NSM, R,
/* DATA_BLOCK: -- 0x0B90..0x0B9F -- */
    R,   R,   R,   R,   R,   R,   R,   R,   R,   ES,  R,   R,   R,   R,   R,   R,
/* DATA_BLOCK: -- 0x0BA0..0x0BAF -- */
    AL,  AL,  AL,  AL,  AL,  AL,  AL,  AL,  AL,  AL,  AL,  AL,  AL,  AL,  ON,  ON,
/* DATA_BLOCK: -- 0x0BB0..0x0BBF -- */
    AL,  AL,  AL,  AL,  AL,  AL,  AL,  AL,  AL,  AL,  AL,  AL,  AL,  ON,  AL,  AL,
/* DATA_BLOCK: -- 0x0BC0..0x0BCF -- */
    CS,  ON,  CS,  L,   ON,  CS,  ON,  ON,  ON,  ON,  ON,  ON,  ON,  ON,  ON,  ET,
/* DATA_BLOCK: -- 0x0BD0..0x0BDF -- */
    ON,  ON,  ES,  ES,  ON,  ON,  ON,  L,   ON,  ET,  ET,  ON,  L,   L,   L,   L,
/* DATA_BLOCK: -- 0x0BE0..0x0BEF -- */
    AL,  AL,  AL,  AL,  AL,  AL,  AL,  AL,  AL,  AL,  AL,  AL,  AL,  AL,  AL,  BN,
/* DATA_BLOCK: -- 0x0BF0..0x0BFF -- */
    L,   ON,  ON,  ET,  ET,  ET,  ON,  ON,  ON,  ON,  ON,  ES,  CS,  ES,  CS,  CS,
/* DATA_BLOCK: -- 0x0C00..0x0C0F -- */
    ET,  ET,  ON,  ON,  ON,  ET,  ET,  L,   ON,  ON,  ON,  ON,  ON,  ON,  ON,  L,
/* DATA_BLOCK: -- 0x0C10..0x0C1F -- */
    BN,  BN,  BN,  BN,  BN,  BN,  BN,  BN,  BN,  ON,  ON,  ON,  ON,  ON,  BN,  BN,
/* DATA_BLOCK: -- 0x0C20..0x0C2F -- */
    L,   ON,  L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   L,
/* DATA_BLOCK: -- 0x0C30..0x0C3F -- */
    ON,  ON,  ON,  ON,  ON,  ON,  ON,  ON,  ON,  ON,  ON,  ON,  ON,  L,   L,   L,
/* DATA_BLOCK: -- 0x0C40..0x0C4F -- */
    NSM, EN,  EN,  EN,  EN,  EN,  EN,  EN,  EN,  EN,  EN,  EN,  EN,  EN,  EN,  EN,
/* DATA_BLOCK: -- 0x0C50..0x0C5F -- */
    L,   L,   L,   L,   L,   L,   NSM, NSM, NSM, NSM, NSM, L,   L,   L,   L,   L,
/* DATA_BLOCK: -- 0x0C60..0x0C6F -- */
    R,   R,   R,   R,   R,   R,   R,   R,   R,   R,   R,   R,   R,   R,   R,   ON,
/* DATA_BLOCK: -- 0x0C70..0x0C7F -- */
    R,   NSM, NSM, NSM, R,   NSM, NSM, R,   R,   R,   R,   R,   NSM, NSM, NSM, NSM,
/* DATA_BLOCK: -- 0x0C80..0x0C8F -- */
    R,   R,   R,   R,   R,   R,   R,   R,   NSM, NSM, NSM, R,   R,   R,   R,   NSM,
/* DATA_BLOCK: -- 0x0C90..0x0C9F -- */
    R,   R,   R,   R,   R,   NSM, NSM, R,   R,   R,   R,   R,   R,   R,   R,   R,
/* DATA_BLOCK: -- 0x0CA0..0x0CAF -- */
    R,   R,   R,   R,   R,   R,   R,   R,   R,   ON,  ON,  ON,  ON,  ON,  ON,  ON,
/* DATA_BLOCK: -- 0x0CB0..0x0CBF -- */
    AL,  AL,  AL,  AL,  NSM, NSM, NSM, NSM, AL,  AL,  AL,  AL,  AL,  AL,  AL,  AL,
/* DATA_BLOCK: -- 0x0CC0..0x0CCF -- */
    AN,  AN,  AN,  AN,  AN,  AN,  AN,  AN,  AN,  AN,  AL,  AL,  AL,  AL,  AL,  AL,
/* DATA_BLOCK: -- 0x0CD0..0x0CDF -- */
    AN,  AN,  AN,  AN,  AN,  AN,  AN,  AN,  AN,  AN,  AN,  AN,  AN,  AN,  AN,  AN,
/* DATA_BLOCK: -- 0x0CE0..0x0CEF -- */
    AN,  AN,  AN,  AN,  AN,  AN,  AN,  AN,  AN,  AN,  AN,  AN,  AN,  AN,  AN,  R,
/* DATA_BLOCK: -- 0x0CF0..0x0CFF -- */
    R,   R,   R,   R,   R,   R,   R,   R,   R,   R,   R,   NSM, NSM, R,   R,   R,
/* DATA_BLOCK: -- 0x0D00..0x0D0F -- */
    L,   L,   L,   L,   L,   L,   L,   L,   NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM,
/* DATA_BLOCK: -- 0x0D10..0x0D1F -- */
    NSM, NSM, NSM, NSM, NSM, NSM, NSM, L,   L,   L,   L,   L,   L,   L,   L,   L,
/* DATA_BLOCK: -- 0x0D20..0x0D2F -- */
    L,   L,   L,   NSM, NSM, NSM, NSM, L,   L,   NSM, NSM, L,   L,   L,   L,   L,
/* DATA_BLOCK: -- 0x0D30..0x0D3F -- */
    L,   L,   L,   L,   L,   L,   L,   NSM, NSM, NSM, NSM, NSM, L,   NSM, NSM, NSM,
/* DATA_BLOCK: -- 0x0D40..0x0D4F -- */
    NSM, NSM, NSM, NSM, NSM, L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   L,
/* DATA_BLOCK: -- 0x0D50..0x0D5F -- */
    L,   L,   L,   NSM, L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   L,
/* DATA_BLOCK: -- 0x0D60..0x0D6F -- */
    L,   L,   L,   L,   L,   L,   NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, L,
/* DATA_BLOCK: -- 0x0D70..0x0D7F -- */
    L,   L,   L,   L,   L,   L,   L,   L,   L,   NSM, NSM, NSM, NSM, L,   L,   NSM,
/* DATA_BLOCK: -- 0x0D80..0x0D8F -- */
    NSM, NSM, L,   L,   NSM, L,   NSM, NSM, L,   L,   L,   L,   L,   L,   NSM, L,
/* DATA_BLOCK: -- 0x0D90..0x0D9F -- */
    L,   L,   L,   NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, L,   L,   L,   L,   L,
/* DATA_BLOCK: -- 0x0DA0..0x0DAF -- */
    L,   L,   L,   L,   L,   L,   NSM, NSM, NSM, NSM, NSM, NSM, NSM, L,   L,   L,
/* DATA_BLOCK: -- 0x0DB0..0x0DBF -- */
    L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   NSM, L,
/* DATA_BLOCK: -- 0x0DC0..0x0DCF -- */
    L,   L,   L,   NSM, NSM, NSM, NSM, NSM, NSM, L,   NSM, L,   L,   L,   L,   NSM,
/* DATA_BLOCK: -- 0x0DD0..0x0DDF -- */
    NSM, L,   NSM, NSM, L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   L,
/* DATA_BLOCK: -- 0x0DE0..0x0DEF -- */
    L,   L,   NSM, NSM, NSM, NSM, L,   L,   L,   L,   L,   L,   NSM, NSM, L,   NSM,
/* DATA_BLOCK: -- 0x0DF0..0x0DFF -- */
    L,   L,   L,   NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, L,   L,   NSM, L,   NSM,
/* DATA_BLOCK: -- 0x0E00..0x0E0F -- */
    L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   NSM, L,   NSM, L,   L,
/* DATA_BLOCK: -- 0x0E10..0x0E1F -- */
    NSM, NSM, NSM, NSM, NSM, NSM, L,   NSM, L,   L,   L,   L,   L,   L,   L,   L,
/* DATA_BLOCK: -- 0x0E20..0x0E2F -- */
    L,   L,   NSM, NSM, NSM, NSM, L,   NSM, NSM, NSM, NSM, NSM, L,   L,   L,   L,
/* DATA_BLOCK: -- 0x0E30..0x0E3F -- */
    NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, L,   NSM, NSM, L,   L,   L,   L,   L,
/* DATA_BLOCK: -- 0x0E40..0x0E4F -- */
    L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   NSM, NSM, L,   NSM, L,
/* DATA_BLOCK: -- 0x0E50..0x0E5F -- */
    L,   L,   L,   L,   NSM, NSM, NSM, NSM, L,   L,   NSM, NSM, L,   L,   L,   L,
/* DATA_BLOCK: -- 0x0E60..0x0E6F -- */
    L,   NSM, NSM, NSM, NSM, NSM, NSM, L,   L,   NSM, NSM, L,   L,   L,   L,   L,
/* DATA_BLOCK: -- 0x0E70..0x0E7F -- */
    L,   L,   L,   NSM, NSM, NSM, NSM, NSM, NSM, L,   L,   NSM, NSM, NSM, NSM, L,
/* DATA_BLOCK: -- 0x0E80..0x0E8F -- */
    L,   L,   L,   L,   L,   L,   L,   NSM, L,   L,   L,   L,   L,   L,   L,   L,
/* DATA_BLOCK: -- 0x0E90..0x0E9F -- */
    L,   NSM, NSM, NSM, NSM, NSM, NSM, L,   L,   NSM, NSM, NSM, L,   L,   L,   L,
/* DATA_BLOCK: -- 0x0EA0..0x0EAF -- */
    L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   NSM, NSM, NSM, NSM, NSM, NSM,
/* DATA_BLOCK: -- 0x0EB0..0x0EBF -- */
    NSM, NSM, NSM, NSM, NSM, NSM, NSM, L,   NSM, NSM, L,   L,   L,   L,   L,   L,
/* DATA_BLOCK: -- 0x0EC0..0x0ECF -- */
    NSM, NSM, NSM, NSM, NSM, NSM, NSM, L,   NSM, NSM, NSM, NSM, NSM, NSM, L,   L,
/* DATA_BLOCK: -- 0x0ED0..0x0EDF -- */
    L,   L,   NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM,
/* DATA_BLOCK: -- 0x0EE0..0x0EEF -- */
    NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, L,   L,   NSM, NSM, NSM, NSM, NSM, NSM,
/* DATA_BLOCK: -- 0x0EF0..0x0EFF -- */
    NSM, L,   NSM, NSM, L,   NSM, NSM, L,   L,   L,   L,   L,   L,   L,   L,   L,
/* DATA_BLOCK: -- 0x0F00..0x0F0F -- */
    L,   NSM, NSM, NSM, NSM, NSM, NSM, L,   L,   L,   NSM, L,   NSM, NSM, L,   NSM,
/* DATA_BLOCK: -- 0x0F10..0x0F1F -- */
    NSM, NSM, L,   L,   L,   NSM, L,   NSM, L,   L,   L,   L,   L,   L,   L,   L,
/* DATA_BLOCK: -- 0x0F20..0x0F2F -- */
    L,   L,   L,   NSM, NSM, L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   L,
/* DATA_BLOCK: -- 0x0F30..0x0F3F -- */
    L,   L,   L,   L,   L,   ON,  ON,  ON,  ON,  ON,  ON,  ON,  ON,  ET,  ET,  ET,
/* DATA_BLOCK: -- 0x0F40..0x0F4F -- */
    ET,  ON,  ON,  ON,  ON,  ON,  ON,  ON,  ON,  ON,  ON,  ON,  ON,  ON,  ON,  ON,
/* DATA_BLOCK: -- 0x0F50..0x0F5F -- */
    L,   L,   ON,  L,   NSM, L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   L,
/* DATA_BLOCK: -- 0x0F60..0x0F6F -- */
    L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   NSM, NSM, L,
/* DATA_BLOCK: -- 0x0F70..0x0F7F -- */
    BN,  BN,  BN,  BN,  L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   L,
/* DATA_BLOCK: -- 0x0F80..0x0F8F -- */
    L,   L,   L,   L,   L,   L,   L,   NSM, NSM, NSM, L,   L,   L,   L,   L,   L,
/* DATA_BLOCK: -- 0x0F90..0x0F9F -- */
    L,   L,   L,   BN,  BN,  BN,  BN,  BN,  BN,  BN,  BN,  NSM, NSM, NSM, NSM, NSM,
/* DATA_BLOCK: -- 0x0FA0..0x0FAF -- */
    NSM, NSM, NSM, L,   L,   NSM, NSM, NSM, NSM, NSM, NSM, NSM, L,   L,   L,   L,
/* DATA_BLOCK: -- 0x0FB0..0x0FBF -- */
    L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   NSM, NSM, NSM, NSM, L,   L,
/* DATA_BLOCK: -- 0x0FC0..0x0FCF -- */
    ON,  ON,  NSM, NSM, NSM, ON,  L,   L,   L,   L,   L,   L,   L,   L,   L,   L,
/* DATA_BLOCK: -- 0x0FD0..0x0FDF -- */
    L,   L,   L,   L,   L,   ON,  L,   L,   L,   L,   L,   L,   L,   L,   L,   L,
/* DATA_BLOCK: -- 0x0FE0..0x0FEF -- */
    L,   L,   L,   L,   L,   L,   L,   L,   L,   ON,  L,   L,   L,   L,   L,   L,
/* DATA_BLOCK: -- 0x0FF0..0x0FFF -- */
    L,   L,   L,   ON,  L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   EN,  EN,
/* DATA_BLOCK: -- 0x1000..0x100F -- */
    EN,  EN,  EN,  EN,  EN,  EN,  EN,  EN,  EN,  EN,  EN,  EN,  EN,  EN,  EN,  EN,
/* DATA_BLOCK: -- 0x1010..0x101F -- */
    NSM, NSM, NSM, NSM, NSM, NSM, NSM, L,   L,   L,   L,   NSM, NSM, NSM, NSM, NSM,
/* DATA_BLOCK: -- 0x1020..0x102F -- */
    L,   L,   L,   L,   NSM, L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   L,
/* DATA_BLOCK: -- 0x1030..0x103F -- */
    L,   NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM,
/* DATA_BLOCK: -- 0x1040..0x104F -- */
    NSM, NSM, NSM, NSM, NSM, NSM, NSM, L,   NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM,
/* DATA_BLOCK: -- 0x1050..0x105F -- */
    NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, NSM, L,   L,   NSM, NSM, NSM, NSM, NSM,
/* DATA_BLOCK: -- 0x1060..0x106F -- */
    NSM, NSM, L,   NSM, NSM, L,   NSM, NSM, NSM, NSM, NSM, L,   L,   L,   L,   L,
/* DATA_BLOCK: -- 0x1070..0x107F -- */
    L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   ET,
/* DATA_BLOCK: -- 0x1080..0x108F -- */
    NSM, NSM, NSM, NSM, NSM, NSM, NSM, R,   R,   R,   R,   R,   R,   R,   R,   R,
/* DATA_BLOCK: -- 0x1090..0x109F -- */
    R,   R,   R,   R,   NSM, NSM, NSM, NSM, NSM, NSM, NSM, R,   R,   R,   R,   R,
/* DATA_BLOCK: -- 0x10A0..0x10AF -- */
    ON,  ON,  AL,  AL,  AL,  AL,  AL,  AL,  AL,  AL,  AL,  AL,  AL,  AL,  AL,  AL,
/* DATA_BLOCK: -- 0x10B0..0x10BF -- */
    ON,  ON,  ON,  ON,  ON,  ON,  ON,  ON,  ON,  ON,  ON,  ON,  ON,  ON,  ON,  L,
/* DATA_BLOCK: -- 0x10C0..0x10CF -- */
    EN,  EN,  EN,  EN,  EN,  EN,  EN,  EN,  EN,  EN,  EN,  ON,  ON,  ON,  ON,  ON,
/* DATA_BLOCK: -- 0x10D0..0x10DF -- */
    L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   ON,  L,   L,
/* DATA_BLOCK: -- 0x10E0..0x10EF -- */
    ON,  ON,  ON,  ON,  ON,  ON,  ON,  ON,  L,   L,   L,   L,   L,   L,   L,   L,
/* DATA_BLOCK: -- 0x10F0..0x10FF -- */
    ON,  ON,  ON,  ON,  ON,  ON,  ON,  ON,  ON,  L,   L,   L,   L,   L,   L,   L,
/* DATA_BLOCK: -- 0x1100..0x110F -- */
    ON,  ON,  ON,  ON,  ON,  ON,  ON,  ON,  ON,  ON,  ON,  ON,  ON,  ON,  L,   L,
/* DATA_BLOCK: -- 0x1110..0x111F -- */
    ON,  ON,  ON,  ON,  ON,  ON,  ON,  ON,  ON,  L,   ON,  ON,  ON,  ON,  ON,  ON,
/* DATA_BLOCK: -- 0x1120..0x112F -- */
    ON,  ON,  ON,  ON,  ON,  L,   L,   L,   ON,  ON,  ON,  L,   L,   L,   L,   L,
/* DATA_BLOCK: -- 0x1130..0x113F -- */
    ON,  ON,  ON,  L,   ON,  ON,  ON,  ON,  ON,  ON,  ON,  ON,  ON,  ON,  ON,  ON,
/* DATA_BLOCK: -- 0x1140..0x114F -- */
    EN,  EN,  EN,  EN,  EN,  EN,  EN,  EN,  EN,  EN,  L,   L,   L,   L,   L,   L,
/* DATA_BLOCK: -- 0x1150..0x115F -- */
    L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   L,   BN,  BN
};

static const SBUInt16 MainBidiTypeIndexes[2624] = {
/* INDEX_BLOCK: -- 0x0000..0x003F -- */
    0x0000, 0x0010, 0x0020, 0x0030, 0x0040, 0x0050, 0x0040, 0x0060, 0x0070, 0x0080, 0x0090, 0x00A0,
    0x00B0, 0x00C0, 0x00B0, 0x00C0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0,
    0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0,
    0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00D0, 0x00E0, 0x00E0, 0x00F0, 0x0100,
    0x0110, 0x0110, 0x0110, 0x0110, 0x0110, 0x0110, 0x0110, 0x0120, 0x0130, 0x00B0, 0x00B0, 0x00B0,
    0x00B0, 0x00B0, 0x00B0, 0x0140,
/* INDEX_BLOCK: -- 0x0040..0x007F -- */
    0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x0150, 0x00B0, 0x00B0, 0x00B0,
    0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0,
    0x0160, 0x0170, 0x0110, 0x0180, 0x0190, 0x01A0, 0x01A0, 0x01A0, 0x01B0, 0x01C0, 0x01D0, 0x01D0,
    0x01E0, 0x0110, 0x01F0, 0x0200, 0x01D0, 0x01D0, 0x01D0, 0x01D0, 0x01D0, 0x0210, 0x0220, 0x0230,
    0x01D0, 0x0240, 0x01D0, 0x0110, 0x01C0, 0x01D0, 0x01D0, 0x01D0, 0x01D0, 0x01D0, 0x0250, 0x0200,
    0x01A0, 0x01A0, 0x0260, 0x0270,
/* INDEX_BLOCK: -- 0x0080..0x00BF -- */
    0x01A0, 0x0280, 0x0290, 0x01A0, 0x01A0, 0x02A0, 0x01D0, 0x01A0, 0x01A0, 0x01A0, 0x01D0, 0x01D0,
    0x01D0, 0x02B0, 0x02C0, 0x0110, 0x02D0, 0x00B0, 0x00B0, 0x02E0, 0x02F0, 0x0300, 0x0310, 0x00B0,
    0x0320, 0x00B0, 0x00B0, 0x0330, 0x0340, 0x00B0, 0x0310, 0x0350, 0x0360, 0x00B0, 0x00B0, 0x0330,
    0x0370, 0x0320, 0x00B0, 0x0380, 0x0360, 0x00B0, 0x00B0, 0x0330, 0x0390, 0x00B0, 0x0310, 0x03A0,
    0x0320, 0x00B0, 0x00B0, 0x03B0, 0x0340, 0x03C0, 0x0310, 0x00B0, 0x03D0, 0x00B0, 0x00B0, 0x00B0,
    0x03E0, 0x00B0, 0x00B0, 0x03F0,
/* INDEX_BLOCK: -- 0x00C0..0x00FF -- */
    0x0400, 0x00B0, 0x00B0, 0x0410, 0x0420, 0x03C0, 0x0310, 0x0430, 0x0320, 0x00B0, 0x00B0, 0x0330,
    0x0440, 0x00B0, 0x0310, 0x00B0, 0x0450, 0x00B0, 0x00B0, 0x0460, 0x0340, 0x00B0, 0x0310, 0x00B0,
    0x0320, 0x00B0, 0x00B0, 0x00B0, 0x0470, 0x0480, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x0490,
    0x04A0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x04B0, 0x04C0, 0x00B0, 0x00B0, 0x00B0,
    0x00B0, 0x04D0, 0x00B0, 0x04E0, 0x00B0, 0x00B0, 0x00B0, 0x04F0, 0x0500, 0x0510, 0x0110, 0x0520,
    0x0530, 0x00B0, 0x00B0, 0x00B0,
/* INDEX_BLOCK: -- 0x0100..0x013F -- */
    0x00B0, 0x00B0, 0x0540, 0x0550, 0x00B0, 0x0560, 0x0570, 0x0580, 0x0590, 0x05A0, 0x00B0, 0x00B0,
    0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0,
    0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0,
    0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0,
    0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x0540, 0x00B0, 0x00B0, 0x00B0, 0x05B0, 0x00B0, 0x00B0,
    0x00B0, 0x00B0, 0x00B0, 0x00B0,
/* INDEX_BLOCK: -- 0x0140..0x017F -- */
    0x0040, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0,
    0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0,
    0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0,
    0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x05C0, 0x05D0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0,
    0x00B0, 0x05E0, 0x00B0, 0x05E0, 0x00B0, 0x0310, 0x00B0, 0x0310, 0x00B0, 0x00B0, 0x00B0, 0x05F0,
    0x0600, 0x0610, 0x00B0, 0x05B0,
/* INDEX_BLOCK: -- 0x0180..0x01BF -- */
    0x0620, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x03C0, 0x00B0, 0x0630, 0x00B0,
    0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x0640, 0x0650, 0x0660, 0x00B0, 0x00B0, 0x00B0,
    0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x0670, 0x0100, 0x0100, 0x00B0, 0x0680, 0x00B0, 0x00B0,
    0x00B0, 0x0690, 0x06A0, 0x06B0, 0x00B0, 0x00B0, 0x00B0, 0x0110, 0x0570, 0x00B0, 0x00B0, 0x00B0,
    0x06C0, 0x00B0, 0x00B0, 0x06D0, 0x03D0, 0x00B0, 0x06E0, 0x06C0, 0x0450, 0x00B0, 0x06F0, 0x00B0,
    0x00B0, 0x00B0, 0x0700, 0x0450,
/* INDEX_BLOCK: -- 0x01C0..0x01FF -- */
    0x00B0, 0x00B0, 0x0710, 0x0720, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0,
    0x00B0, 0x0730, 0x0740, 0x0750, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0,
    0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x0110, 0x0110, 0x0110, 0x0760, 0x00B0, 0x00B0, 0x00B0, 0x00B0,
    0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0,
    0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x0770,
    0x0780, 0x0790, 0x0790, 0x07A0,
/* INDEX_BLOCK: -- 0x0200..0x023F -- */
    0x07B0, 0x0100, 0x07C0, 0x07D0, 0x07E0, 0x07F0, 0x0800, 0x0810, 0x0820, 0x00B0, 0x0830, 0x0830,
    0x0830, 0x0110, 0x0110, 0x0570, 0x0840, 0x0850, 0x0860, 0x0870, 0x0880, 0x0100, 0x00B0, 0x00B0,
    0x0890, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x08A0, 0x0100, 0x0100,
    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    0x0100, 0x0100, 0x0100, 0x08B0, 0x00B0, 0x00B0, 0x00B0, 0x0050, 0x0100, 0x08C0, 0x0100, 0x0100,
    0x0100, 0x0100, 0x0100, 0x0100,
/* INDEX_BLOCK: -- 0x0240..0x027F -- */
    0x0100, 0x0100, 0x08D0, 0x00B0, 0x08E0, 0x00B0, 0x0100, 0x0100, 0x08F0, 0x0900, 0x00B0, 0x00B0,
    0x00B0, 0x00B0, 0x0910, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0920, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    0x0100, 0x0100, 0x0100, 0x0100,
/* INDEX_BLOCK: -- 0x0280..0x02BF -- */
    0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0,
    0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0930, 0x0100, 0x0940, 0x0100, 0x0100,
    0x0100, 0x0100, 0x0100, 0x0100,
/* INDEX_BLOCK: -- 0x02C0..0x02FF -- */
    0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0,
    0x00B0, 0x00B0, 0x0950, 0x0960, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x0970,
    0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x0110, 0x0110, 0x0100, 0x0100, 0x0100, 0x0100,
    0x0100, 0x0980, 0x00B0, 0x00B0, 0x0100, 0x0990, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x09A0,
    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    0x0100, 0x08B0, 0x00B0, 0x09B0,
/* INDEX_BLOCK: -- 0x0300..0x033F -- */
    0x09C0, 0x0100, 0x09D0, 0x09E0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x09F0, 0x0040, 0x00B0,
    0x00B0, 0x00B0, 0x00B0, 0x0A00, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0,
    0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x0100, 0x0100, 0x09A0, 0x00B0, 0x00B0, 0x07A0, 0x00B0, 0x00B0,
    0x00B0, 0x0100, 0x00B0, 0x0A10, 0x00B0, 0x00B0, 0x00B0, 0x0A20, 0x0A30, 0x00B0, 0x00B0, 0x00B0,
    0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x0A40, 0x00B0, 0x00B0, 0x00B0, 0x00B0,
    0x00B0, 0x0670, 0x00B0, 0x0A50,
/* INDEX_BLOCK: -- 0x0340..0x037F -- */
    0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0,
    0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0,
    0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0,
    0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0,
    0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0,
    0x00B0, 0x00B0, 0x00B0, 0x00B0,
/* INDEX_BLOCK: -- 0x0380..0x03BF -- */
    0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0,
    0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0,
    0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x0100, 0x0100, 0x0100, 0x0100, 0x00B0, 0x00B0, 0x00B0, 0x00B0,
    0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0,
    0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0,
    0x00B0, 0x00B0, 0x00B0, 0x00B0,
/* INDEX_BLOCK: -- 0x03C0..0x03FF -- */
    0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x0100, 0x0100, 0x0100,
    0x08D0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0,
    0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x0790, 0x00B0, 0x00B0, 0x00B0,
    0x00B0, 0x00B0, 0x0970, 0x0A60, 0x00B0, 0x0410, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x0450,
    0x0100, 0x0100, 0x0A70, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x0A80, 0x00B0, 0x00B0, 0x00B0,
    0x00B0, 0x00B0, 0x00B0, 0x00B0,
/* INDEX_BLOCK: -- 0x0400..0x043F -- */
    0x0A90, 0x00B0, 0x0AA0, 0x0AB0, 0x00B0, 0x00B0, 0x00B0, 0x0AC0, 0x00B0, 0x00B0, 0x00B0, 0x00B0,
    0x0AD0, 0x00B0, 0x0110, 0x0AE0, 0x00B0, 0x00B0, 0x0AF0, 0x00B0, 0x0B00, 0x0450, 0x00B0, 0x00B0,
    0x02D0, 0x00B0, 0x00B0, 0x0B10, 0x00B0, 0x00B0, 0x0B20, 0x00B0, 0x00B0, 0x00B0, 0x0B30, 0x0B40,
    0x0B50, 0x00B0, 0x00B0, 0x0330, 0x00B0, 0x00B0, 0x00B0, 0x0B60, 0x0320, 0x00B0, 0x0440, 0x0530,
    0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x0870, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0,
    0x00B0, 0x00B0, 0x0B70, 0x00B0,
/* INDEX_BLOCK: -- 0x0440..0x047F -- */
    0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0,
    0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0,
    0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0,
    0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0,
    0x00B0, 0x0B80, 0x0B90, 0x01A0, 0x01A0, 0x01D0, 0x01D0, 0x01D0, 0x01D0, 0x01D0, 0x01D0, 0x01D0,
    0x01D0, 0x01D0, 0x01D0, 0x01D0,
/* INDEX_BLOCK: -- 0x0480..0x04BF -- */
    0x01D0, 0x01D0, 0x01D0, 0x01D0, 0x01D0, 0x01D0, 0x01D0, 0x01D0, 0x01D0, 0x01D0, 0x01D0, 0x01D0,
    0x01D0, 0x01D0, 0x01D0, 0x01D0, 0x01D0, 0x01D0, 0x01D0, 0x0BA0, 0x01D0, 0x01D0, 0x01D0, 0x01D0,
    0x01D0, 0x01D0, 0x01D0, 0x01D0, 0x01D0, 0x0080, 0x0080, 0x0BB0, 0x0110, 0x05B0, 0x0110, 0x0100,
    0x0100, 0x0BC0, 0x0BD0, 0x01D0, 0x01D0, 0x01D0, 0x01D0, 0x01D0, 0x01D0, 0x01D0, 0x01D0, 0x0BE0,
    0x0BF0, 0x0030, 0x0040, 0x0050, 0x0040, 0x0050, 0x08B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0,
    0x00B0, 0x00B0, 0x0C00, 0x0C10,
/* INDEX_BLOCK: -- 0x04C0..0x04FF -- */
    0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0,
    0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x0C20, 0x00B0, 0x00B0, 0x00B0, 0x0100, 0x0100, 0x0100, 0x0100,
    0x0C30, 0x0C30, 0x0040, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x05A0, 0x00B0, 0x00B0, 0x00B0, 0x00B0,
    0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x0C40, 0x0900,
    0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x0C50, 0x00B0, 0x00B0, 0x00B0, 0x00B0,
    0x00B0, 0x00B0, 0x00B0, 0x00B0,
/* INDEX_BLOCK: -- 0x0500..0x053F -- */
    0x01A0, 0x01A0, 0x01A0, 0x01A0, 0x01A0, 0x01A0, 0x01A0, 0x01A0, 0x01A0, 0x01A0, 0x01A0, 0x01A0,
    0x01A0, 0x01A0, 0x01A0, 0x01A0, 0x01A0, 0x0C60, 0x01A0, 0x01A0, 0x01A0, 0x01A0, 0x01A0, 0x01A0,
    0x01A0, 0x01A0, 0x01A0, 0x01A0, 0x01A0, 0x01A0, 0x01A0, 0x01A0, 0x0C70, 0x01A0, 0x01A0, 0x0C80,
    0x01A0, 0x01A0, 0x01A0, 0x01A0, 0x01A0, 0x01A0, 0x01A0, 0x01A0, 0x01A0, 0x01A0, 0x0C90, 0x01A0,
    0x01A0, 0x01A0, 0x01A0, 0x0CA0, 0x01A0, 0x01A0, 0x01A0, 0x01A0, 0x01A0, 0x01A0, 0x01A0, 0x01A0,
    0x01A0, 0x01A0, 0x01A0, 0x01A0,
/* INDEX_BLOCK: -- 0x0540..0x057F -- */
    0x01A0, 0x01A0, 0x01A0, 0x01A0, 0x01A0, 0x01A0, 0x01A0, 0x01A0, 0x01A0, 0x01A0, 0x01A0, 0x01A0,
    0x01A0, 0x01A0, 0x01A0, 0x01A0, 0x01D0, 0x01D0, 0x0CB0, 0x0CC0, 0x01A0, 0x01A0, 0x01A0, 0x01A0,
    0x01A0, 0x01A0, 0x01A0, 0x01A0, 0x01A0, 0x01A0, 0x01A0, 0x01A0, 0x01A0, 0x01A0, 0x01A0, 0x01A0,
    0x01A0, 0x01A0, 0x0CD0, 0x0CE0, 0x01A0, 0x01A0, 0x0CF0, 0x01A0, 0x01A0, 0x01A0, 0x01A0, 0x01A0,
    0x01A0, 0x01A0, 0x01A0, 0x01D0, 0x0250, 0x0200, 0x01D0, 0x01A0, 0x01A0, 0x01A0, 0x01A0, 0x01A0,
    0x01A0, 0x01A0, 0x01A0, 0x01A0,
/* INDEX_BLOCK: -- 0x0580..0x05BF -- */
    0x0320, 0x00B0, 0x00B0, 0x0D00, 0x0D10, 0x00E0, 0x08B0, 0x0970, 0x0450, 0x00B0, 0x00B0, 0x0D20,
    0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x02D0, 0x00B0, 0x0D30, 0x0D40, 0x00B0, 0x00B0, 0x00B0, 0x0D50,
    0x0450, 0x00B0, 0x00B0, 0x0D60, 0x0D70, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x0970, 0x0D80,
    0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x0970, 0x0D90, 0x00B0,
    0x0450, 0x00B0, 0x00B0, 0x0460, 0x0570, 0x00B0, 0x0DA0, 0x0D40, 0x00B0, 0x00B0, 0x00B0, 0x00B0,
    0x00B0, 0x00B0, 0x00B0, 0x00B0,
/* INDEX_BLOCK: -- 0x05C0..0x05FF -- */
    0x00B0, 0x00B0, 0x00B0, 0x0D00, 0x0480, 0x0DB0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x0DC0,
    0x0DD0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0,
    0x00B0, 0x00B0, 0x00B0, 0x0DE0, 0x0570, 0x0440, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x0DF0,
    0x0570, 0x00B0, 0x0C30, 0x00B0, 0x00B0, 0x00B0, 0x0E00, 0x0E10, 0x00B0, 0x00B0, 0x00B0, 0x00B0,
    0x00B0, 0x0540, 0x0E20, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0,
    0x00B0, 0x00B0, 0x00B0, 0x00B0,
/* INDEX_BLOCK: -- 0x0600..0x063F -- */
    0x00B0, 0x00B0, 0x0970, 0x0E30, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0,
    0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x0E40, 0x0D50, 0x00B0, 0x00B0, 0x00B0,
    0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x0E50, 0x0570, 0x00B0, 0x0E60, 0x00B0, 0x00B0, 0x0E70,
    0x0E80, 0x0E90, 0x00B0, 0x00B0, 0x0EA0, 0x0EB0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0,
    0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0,
    0x00B0, 0x00B0, 0x00B0, 0x00B0,
/* INDEX_BLOCK: -- 0x0640..0x067F -- */
    0x00B0, 0x00B0, 0x00B0, 0x0EC0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x0ED0, 0x0EE0, 0x0EF0,
    0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x0F00, 0x0E10, 0x00B0, 0x00B0, 0x00B0,
    0x00B0, 0x0F10, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0,
    0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x0F20,
    0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0,
    0x00B0, 0x0F30, 0x0F40, 0x0A70,
/* INDEX_BLOCK: -- 0x0680..0x06BF -- */
    0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0,
    0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0,
    0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0,
    0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x0D40,
    0x00B0, 0x00B0, 0x00B0, 0x0D10, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0,
    0x00B0, 0x00B0, 0x00B0, 0x00B0,
/* INDEX_BLOCK: -- 0x06C0..0x06FF -- */
    0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0,
    0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0,
    0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0,
    0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0,
    0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x0970, 0x00B0, 0x00B0, 0x00B0, 0x0970, 0x02D0, 0x00B0, 0x00B0,
    0x00B0, 0x00B0, 0x0F50, 0x00B0,
/* INDEX_BLOCK: -- 0x0700..0x073F -- */
    0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x0F60, 0x0F70, 0x00B0,
    0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0,
    0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0,
    0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0,
    0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0,
    0x00B0, 0x00B0, 0x00B0, 0x00B0,
/* INDEX_BLOCK: -- 0x0740..0x077F -- */
    0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0,
    0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x0F80, 0x0F90,
    0x0FA0, 0x00B0, 0x0FB0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x0100, 0x0100, 0x0100, 0x0100,
    0x0FC0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0,
    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x08D0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0,
    0x00B0, 0x00B0, 0x00B0, 0x00B0,
/* INDEX_BLOCK: -- 0x0780..0x07BF -- */
    0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0,
    0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0,
    0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0,
    0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x0A00, 0x00B0, 0x00B0,
    0x00B0, 0x0FD0, 0x00B0, 0x00B0, 0x0A50, 0x00B0, 0x00B0, 0x00B0, 0x0FE0, 0x00B0, 0x00B0, 0x00B0,
    0x0FF0, 0x1000, 0x1000, 0x1000,
/* INDEX_BLOCK: -- 0x07C0..0x07FF -- */
    0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0,
    0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0,
    0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x0110, 0x0110, 0x0110, 0x1010,
    0x0110, 0x0110, 0x0520, 0x0B20, 0x1020, 0x06E0, 0x1030, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0,
    0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0,
    0x00B0, 0x00B0, 0x00B0, 0x00B0,
/* INDEX_BLOCK: -- 0x0800..0x083F -- */
    0x1040, 0x1050, 0x1060, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0,
    0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x0D10, 0x00B0, 0x00B0, 0x00B0, 0x00B0,
    0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0,
    0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x0710, 0x1070,
    0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0,
    0x00B0, 0x00B0, 0x00B0, 0x00B0,
/* INDEX_BLOCK: -- 0x0840..0x087F -- */
    0x01A0, 0x01A0, 0x01A0, 0x01A0, 0x01A0, 0x01A0, 0x01A0, 0x01A0, 0x01A0, 0x01A0, 0x01A0, 0x01A0,
    0x01A0, 0x1080, 0x01A0, 0x01A0, 0x01A0, 0x01A0, 0x01A0, 0x01A0, 0x1090, 0x01A0, 0x01A0, 0x01A0,
    0x01A0, 0x01A0, 0x01A0, 0x01A0, 0x01A0, 0x01A0, 0x01A0, 0x01A0, 0x01A0, 0x01A0, 0x01A0, 0x01A0,
    0x01A0, 0x01A0, 0x01A0, 0x01A0, 0x01A0, 0x01A0, 0x01A0, 0x01A0, 0x01A0, 0x01A0, 0x01A0, 0x01A0,
    0x01A0, 0x01A0, 0x01A0, 0x01A0, 0x01A0, 0x01A0, 0x01A0, 0x01A0, 0x01A0, 0x01A0, 0x01A0, 0x01A0,
    0x01A0, 0x01A0, 0x01A0, 0x01A0,
/* INDEX_BLOCK: -- 0x0880..0x08BF -- */
    0x01A0, 0x01A0, 0x01A0, 0x01A0, 0x01A0, 0x01A0, 0x01A0, 0x01D0, 0x01D0, 0x01D0, 0x01D0, 0x01D0,
    0x01A0, 0x01A0, 0x01A0, 0x01A0, 0x01D0, 0x01D0, 0x01D0, 0x01D0, 0x01D0, 0x01A0, 0x01A0, 0x01A0,
    0x01A0, 0x01A0, 0x01A0, 0x01A0, 0x01A0, 0x01A0, 0x01A0, 0x01A0, 0x01D0, 0x01D0, 0x01D0, 0x01D0,
    0x01D0, 0x01D0, 0x01D0, 0x01D0, 0x01D0, 0x01D0, 0x01D0, 0x01D0, 0x01D0, 0x01D0, 0x01D0, 0x10A0,
    0x01A0, 0x01A0, 0x01A0, 0x01A0, 0x01A0, 0x01A0, 0x01A0, 0x01A0, 0x01A0, 0x01A0, 0x01A0, 0x01A0,
    0x01A0, 0x01A0, 0x01A0, 0x01A0,
/* INDEX_BLOCK: -- 0x08C0..0x08FF -- */
    0x0100, 0x0100, 0x09B0, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x09A0, 0x10B0, 0x0A20,
    0x0A20, 0x0A20, 0x0100, 0x08B0, 0x10C0, 0x00B0, 0x0A50, 0x00B0, 0x00B0, 0x00B0, 0x0910, 0x00B0,
    0x00B0, 0x00B0, 0x10D0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0,
    0x00B0, 0x00B0, 0x08B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0,
    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    0x0100, 0x0100, 0x0100, 0x0100,
/* INDEX_BLOCK: -- 0x0900..0x093F -- */
    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x10E0, 0x0C30, 0x0C30,
    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x09A0, 0x0100, 0x0100, 0x0100, 0x0100,
    0x0100, 0x10F0, 0x09B0, 0x00B0,
/* INDEX_BLOCK: -- 0x0940..0x097F -- */
    0x09B0, 0x0100, 0x0100, 0x0100, 0x10E0, 0x05B0, 0x0100, 0x0100, 0x10E0, 0x0100, 0x1100, 0x0A70,
    0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x1110,
    0x0100, 0x0100, 0x0100, 0x0100, 0x0920, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    0x0100, 0x09A0, 0x1100, 0x1120, 0x08D0, 0x0100, 0x10F0, 0x08D0, 0x0980, 0x08D0, 0x00B0, 0x00B0,
    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x1130, 0x0100, 0x0100,
    0x08E0, 0x00B0, 0x00B0, 0x1140,
/* INDEX_BLOCK: -- 0x0980..0x09BF -- */
    0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0,
    0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0,
    0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0,
    0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0,
    0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0, 0x00B0,
    0x00B0, 0x00B0, 0x00B0, 0x1150,
/* INDEX_BLOCK: -- 0x09C0..0x09FF -- */
    0x0080, 0x0080, 0x0080, 0x0080, 0x0080, 0x0080, 0x0080, 0x0080, 0x0080, 0x0080, 0x0080, 0x0080,
    0x0080, 0x0080, 0x0080, 0x0080, 0x0110, 0x0110, 0x0110, 0x0110, 0x0110, 0x0110, 0x0110, 0x0110,
    0x0110, 0x0110, 0x0110, 0x0110, 0x0110, 0x0110, 0x0110, 0x0080, 0x0080, 0x0080, 0x0080, 0x0080,
    0x0080, 0x0080, 0x0080, 0x0080, 0x0080, 0x0080, 0x0080, 0x0080, 0x0080, 0x0080, 0x0080, 0x0080,
    0x0080, 0x0080, 0x0080, 0x0080, 0x0080, 0x0080, 0x0080, 0x0080, 0x0080, 0x0080, 0x0080, 0x0080,
    0x0080, 0x0080, 0x0080, 0x0080,
/* INDEX_BLOCK: -- 0x0A00..0x0A3F -- */
    0x0080, 0x0080, 0x0080, 0x0080, 0x0080, 0x0080, 0x0080, 0x0080, 0x0080, 0x0080, 0x0080, 0x0080,
    0x0080, 0x0080, 0x0080, 0x0080, 0x0080, 0x0080, 0x0080, 0x0080, 0x0080, 0x0080, 0x0080, 0x0080,
    0x0080, 0x0080, 0x0080, 0x0080, 0x0080, 0x0080, 0x0080, 0x0080, 0x0080, 0x0080, 0x0080, 0x0080,
    0x0080, 0x0080, 0x0080, 0x0080, 0x0080, 0x0080, 0x0080, 0x0080, 0x0080, 0x0080, 0x0080, 0x0080,
    0x0080, 0x0080, 0x0080, 0x0080, 0x0080, 0x0080, 0x0080, 0x0080, 0x0080, 0x0080, 0x0080, 0x0080,
    0x0080, 0x0080, 0x0080, 0x0080
};

static const SBUInt16 BranchBidiTypeIndexes[1088] = {
    0x0000, 0x0040, 0x0080, 0x00C0, 0x0100, 0x0140, 0x0180, 0x01C0, 0x0200, 0x0240, 0x0280, 0x02C0,
    0x0300, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0380, 0x0340, 0x0340, 0x0340, 0x0340,
    0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340,
    0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x03C0, 0x0400, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340,
    0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340,
    0x0340, 0x0340, 0x0440, 0x0480, 0x04C0, 0x0340, 0x0500, 0x0540, 0x0580, 0x05C0, 0x0600, 0x0640,
    0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340,
    0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0680, 0x06C0, 0x0340, 0x0340, 0x0340, 0x0340,
    0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340,
    0x0340, 0x0340, 0x0340, 0x0700, 0x0340, 0x0340, 0x0340, 0x0340, 0x0740, 0x0780, 0x07C0, 0x0340,
    0x0800, 0x0340, 0x0840, 0x0880, 0x08C0, 0x0900, 0x0940, 0x0980, 0x0340, 0x0340, 0x0340, 0x0340,
    0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340,
    0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340,
    0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340,
    0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340,
    0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0980,
    0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340,
    0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340,
    0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340,
    0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340,
    0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340,
    0x0340, 0x0340, 0x0340, 0x0980, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340,
    0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340,
    0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340,
    0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340,
    0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340,
    0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0980, 0x0340, 0x0340, 0x0340, 0x0340,
    0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340,
    0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340,
    0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340,
    0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340,
    0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0980,
    0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340,
    0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340,
    0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340,
    0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340,
    0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340,
    0x0340, 0x0340, 0x0340, 0x0980, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340,
    0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340,
    0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340,
    0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340,
    0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340,
    0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0980, 0x0340, 0x0340, 0x0340, 0x0340,
    0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340,
    0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340,
    0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340,
    0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340,
    0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0980,
    0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340,
    0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340,
    0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340,
    0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340,
    0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340,
    0x0340, 0x0340, 0x0340, 0x0980, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340,
    0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340,
    0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340,
    0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340,
    0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340,
    0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0980, 0x0340, 0x0340, 0x0340, 0x0340,
    0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340,
    0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340,
    0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340,
    0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340,
    0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0980,
    0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340,
    0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340,
    0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340,
    0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340,
    0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340,
    0x0340, 0x0340, 0x0340, 0x0980, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340,
    0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340,
    0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340,
    0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340,
    0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340,
    0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0980, 0x09C0, 0x0A00, 0x0A00, 0x0A00,
    0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340,
    0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340,
    0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340,
    0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340,
    0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0980,
    0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340,
    0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340,
    0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340,
    0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340,
    0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340,
    0x0340, 0x0340, 0x0340, 0x0980, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340,
    0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340,
    0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340,
    0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340,
    0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340,
    0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0980
};

SB_INTERNAL SBBidiType LookupBidiType(SBCodepoint codepoint)
{
    if (codepoint <= 0x10FFFF) {
        return PrimaryBidiTypeData[
                MainBidiTypeIndexes[
                 BranchBidiTypeIndexes[
                      codepoint / 0x0400
                 ] + (codepoint % 0x0400) / 0x0010
                ] + codepoint % 0x0010
               ];
    }

    return ON;
}

#undef AL
#undef AN
#undef B
#undef BN
#undef CS
#undef EN
#undef ES
#undef ET
#undef FSI
#undef L
#undef LRE
#undef LRI
#undef LRO
#undef NSM
#undef ON
#undef PDF
#undef PDI
#undef R
#undef RLE
#undef RLI
#undef RLO
#undef S
#undef WS
