/* == Start of generated table == */
/*
* The following table is generated by running:
*
* ./gen-use-table.py IndicSyllabicCategory.txt IndicPositionalCategory.txt ArabicShaping.txt DerivedCoreProperties.txt UnicodeData.txt Blocks.txt Scripts.txt IndicSyllabicCategory-Additional.txt IndicPositionalCategory-Additional.txt
*
* on files with these headers:
*
* # IndicSyllabicCategory-16.0.0.txt
* # Date: 2024-04-30, 21:48:21 GMT
* # IndicPositionalCategory-16.0.0.txt
* # Date: 2024-04-30, 21:48:21 GMT
* # ArabicShaping-16.0.0.txt
* # Date: 2024-07-30
* # DerivedCoreProperties-16.0.0.txt
* # Date: 2024-05-31, 18:09:32 GMT
* # Blocks-16.0.0.txt
* # Date: 2024-02-02
* # Scripts-16.0.0.txt
* # Date: 2024-04-30, 21:48:40 GMT
* # Override values For Indic_Syllabic_Category
* # Not derivable
* # Initial version based on Unicode 7.0 by Andrew Glass 2014-03-17
* # Updated for Unicode 10.0 by Andrew Glass 2017-07-25
* # Updated for Unicode 12.1 by Andrew Glass 2019-05-24
* # Updated for Unicode 13.0 by Andrew Glass 2020-07-28
* # Updated for Unicode 14.0 by Andrew Glass 2021-09-25
* # Updated for Unicode 15.0 by Andrew Glass 2022-09-16
* # Updated for Unicode 15.1 by Andrew Glass 2023-09-14
* # Updated for Unicode 16.0 by Andrew Glass 2024-09-11
* # Override values For Indic_Positional_Category
* # Not derivable
* # Initial version based on Unicode 7.0 by Andrew Glass 2014-03-17
* # Updated for Unicode 10.0 by Andrew Glass 2017-07-25
* # Ammended for Unicode 10.0 by Andrew Glass 2018-09-21
* # Updated for L2/19-083 by Andrew Glass 2019-05-06
* # Updated for Unicode 12.1 by Andrew Glass 2019-05-30
* # Updated for Unicode 13.0 by Andrew Glass 2020-07-28
* # Updated for Unicode 14.0 by Andrew Glass 2021-09-28
* # Updated for Unicode 15.0 by Andrew Glass 2022-09-16
* # Updated for Unicode 15.1 by Andrew Glass 2023-09-14
* # Updated for Unicode 16.0 by Andrew Glass 2024-09-11
* UnicodeData.txt does not have a header.
*/
#ifndef HB_OT_SHAPER_USE_TABLE_HH
#define HB_OT_SHAPER_USE_TABLE_HH
#include "hb.hh"
#include "hb-ot-shaper-use-machine.hh"
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wunused-macros"
#define B USE(B) /* BASE */
#define CGJ USE(CGJ) /* CGJ */
#define CS USE(CS) /* CONS_WITH_STACKER */
#define G USE(G) /* HIEROGLYPH */
#define GB USE(GB) /* BASE_OTHER */
#define H USE(H) /* HALANT */
#define HM USE(HM) /* HIEROGLYPH_MOD */
#define HN USE(HN) /* HALANT_NUM */
#define HR USE(HR) /* HIEROGLYPH_MIRROR */
#define HVM USE(HVM) /* HALANT_OR_VOWEL_MODIFIER */
#define IS USE(IS) /* INVISIBLE_STACKER */
#define J USE(J) /* HIEROGLYPH_JOINER */
#define N USE(N) /* BASE_NUM */
#define O USE(O) /* OTHER */
#define R USE(R) /* REPHA */
#define RK USE(RK) /* REORDERING_KILLER */
#define SB USE(SB) /* HIEROGLYPH_SEGMENT_BEGIN */
#define SE USE(SE) /* HIEROGLYPH_SEGMENT_END */
#define SUB USE(SUB) /* CONS_SUB */
#define Sk USE(Sk) /* SAKOT */
#define WJ USE(WJ) /* Word_Joiner */
#define ZWNJ USE(ZWNJ) /* ZWNJ */
#define CMAbv USE(CMAbv)
#define CMBlw USE(CMBlw)
#define FAbv USE(FAbv)
#define FBlw USE(FBlw)
#define FPst USE(FPst)
#define FMAbv USE(FMAbv)
#define FMBlw USE(FMBlw)
#define FMPst USE(FMPst)
#define MAbv USE(MAbv)
#define MBlw USE(MBlw)
#define MPst USE(MPst)
#define MPre USE(MPre)
#define SMAbv USE(SMAbv)
#define SMBlw USE(SMBlw)
#define VAbv USE(VAbv)
#define VBlw USE(VBlw)
#define VPst USE(VPst)
#define VPre USE(VPre)
#define VMAbv USE(VMAbv)
#define VMBlw USE(VMBlw)
#define VMPst USE(VMPst)
#define VMPre USE(VMPre)
#pragma GCC diagnostic pop
#ifndef HB_OPTIMIZE_SIZE
static const uint8_t
hb_use_u8[3345 ] =
{
16 , 50 , 51 , 51 , 51 , 52 , 51 , 83 , 118 , 131 , 57 , 58 , 59 , 195 , 211 , 62 ,
51 , 51 , 51 , 51 , 51 , 51 , 51 , 51 , 51 , 51 , 51 , 51 , 51 , 51 , 51 , 51 ,
51 , 51 , 51 , 51 , 51 , 51 , 51 , 51 , 51 , 51 , 51 , 51 , 51 , 51 , 51 , 51 ,
51 , 51 , 51 , 51 , 51 , 51 , 51 , 51 , 51 , 51 , 51 , 51 , 51 , 51 , 51 , 51 ,
51 , 51 , 51 , 51 , 51 , 51 , 51 , 51 , 51 , 51 , 51 , 51 , 51 , 51 , 51 , 51 ,
51 , 51 , 51 , 51 , 51 , 51 , 51 , 51 , 51 , 51 , 51 , 51 , 51 , 51 , 51 , 51 ,
51 , 51 , 51 , 51 , 51 , 51 , 51 , 51 , 51 , 51 , 51 , 51 , 51 , 51 , 51 , 51 ,
15 , 0 , 1 , 2 , 2 , 2 , 2 , 3 , 2 , 2 , 2 , 2 , 2 , 4 , 2 , 2 ,
5 , 6 , 2 , 7 , 8 , 9 , 10 , 11 , 12 , 13 , 14 , 15 , 16 , 2 , 2 , 17 ,
18 , 19 , 20 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 21 ,
22 , 23 , 24 , 25 , 26 , 27 , 28 , 29 , 30 , 31 , 32 , 2 , 33 , 2 , 2 , 2 ,
2 , 34 , 35 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 36 , 2 , 2 , 2 ,
37 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 38 , 2 , 39 , 2 , 2 ,
2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 ,
2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 ,
2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 ,
2 , 40 , 41 , 42 , 43 , 44 , 45 , 2 , 46 , 2 , 2 , 2 , 2 , 2 , 2 , 2 ,
2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 ,
2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 47 , 48 , 2 ,
49 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 50 , 51 , 2 , 2 , 2 ,
2 , 2 , 2 , 2 , 2 , 52 , 53 , 2 , 54 , 2 , 2 , 55 , 56 , 2 , 57 , 58 ,
59 , 60 , 61 , 62 , 63 , 64 , 65 , 66 , 67 , 68 , 69 , 2 , 70 , 71 , 72 , 73 ,
2 , 74 , 2 , 75 , 76 , 77 , 78 , 2 , 2 , 79 , 80 , 81 , 82 , 2 , 83 , 84 ,
2 , 85 , 85 , 85 , 85 , 85 , 85 , 85 , 85 , 86 , 85 , 85 , 85 , 85 , 85 , 85 ,
85 , 85 , 85 , 85 , 85 , 85 , 85 , 85 , 85 , 85 , 85 , 85 , 85 , 85 , 85 , 85 ,
85 , 85 , 85 , 85 , 85 , 85 , 85 , 85 , 87 , 2 , 2 , 2 , 2 , 2 , 2 , 2 ,
2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 ,
2 , 2 , 2 , 88 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 ,
2 , 2 , 2 , 2 , 2 , 2 , 89 , 90 , 2 , 2 , 2 , 91 , 2 , 2 , 2 , 92 ,
93 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 ,
2 , 2 , 2 , 2 , 2 , 2 , 2 , 94 , 94 , 94 , 95 , 2 , 2 , 2 , 2 , 2 ,
2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 ,
2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 96 , 97 , 2 , 2 , 2 , 2 , 2 ,
2 , 2 , 2 , 98 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 ,
2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 ,
2 , 2 , 2 , 99 , 2 , 2 , 100 , 2 , 2 , 2 , 101 , 2 , 102 , 2 , 2 , 2 ,
2 , 2 , 2 , 103 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 ,
2 , 104 , 104 , 105 , 106 , 104 , 104 , 104 , 104 , 104 , 104 , 104 , 104 , 104 , 104 , 104 ,
104 , 104 , 104 , 104 , 104 , 104 , 104 , 104 , 104 , 104 , 104 , 104 , 104 , 104 , 104 , 104 ,
104 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 1 ,
0 , 2 , 2 , 2 , 2 , 2 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 3 , 4 ,
0 , 5 , 0 , 0 , 0 , 0 , 0 , 6 , 0 , 0 , 7 , 0 , 0 , 0 , 0 , 0 ,
0 , 0 , 0 , 0 , 1 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
8 , 9 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 2 , 2 ,
2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 10 , 11 ,
11 , 11 , 11 , 0 , 0 , 0 , 9 , 12 , 0 , 2 , 2 , 2 , 2 , 13 , 14 , 0 ,
0 , 11 , 15 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 16 , 17 ,
18 , 19 , 20 , 21 , 22 , 16 , 23 , 24 , 25 , 12 , 26 , 27 , 20 , 2 , 2 , 2 ,
2 , 2 , 20 , 0 , 2 , 2 , 2 , 2 , 2 , 0 , 2 , 2 , 2 , 2 , 2 , 2 ,
2 , 28 , 29 , 30 , 2 , 2 , 2 , 9 , 30 , 9 , 30 , 2 , 2 , 2 , 2 , 2 ,
2 , 2 , 2 , 2 , 2 , 9 , 2 , 2 , 2 , 9 , 9 , 0 , 2 , 2 , 0 , 17 ,
18 , 19 , 20 , 31 , 32 , 33 , 32 , 34 , 0 , 0 , 0 , 0 , 35 , 0 , 0 , 2 ,
30 , 2 , 0 , 0 , 0 , 0 , 0 , 9 , 36 , 12 , 15 , 30 , 2 , 2 , 9 , 0 ,
30 , 9 , 2 , 30 , 9 , 2 , 0 , 37 , 18 , 19 , 31 , 0 , 27 , 38 , 27 , 39 ,
0 , 40 , 0 , 0 , 0 , 30 , 2 , 9 , 9 , 0 , 0 , 0 , 2 , 2 , 2 , 2 ,
2 , 41 , 42 , 43 , 0 , 0 , 0 , 0 , 0 , 12 , 15 , 30 , 2 , 2 , 2 , 2 ,
30 , 2 , 30 , 2 , 2 , 2 , 2 , 2 , 2 , 9 , 2 , 30 , 2 , 2 , 0 , 17 ,
18 , 19 , 20 , 21 , 27 , 22 , 35 , 24 , 0 , 0 , 0 , 0 , 0 , 30 , 41 , 41 ,
44 , 12 , 29 , 30 , 2 , 2 , 2 , 9 , 30 , 9 , 2 , 30 , 2 , 2 , 0 , 17 ,
45 , 0 , 0 , 27 , 22 , 0 , 0 , 2 , 30 , 30 , 0 , 0 , 0 , 0 , 0 , 0 ,
0 , 0 , 46 , 30 , 2 , 2 , 9 , 0 , 2 , 9 , 2 , 2 , 0 , 30 , 9 , 9 ,
2 , 0 , 30 , 9 , 0 , 2 , 9 , 0 , 2 , 2 , 2 , 2 , 2 , 2 , 0 , 0 ,
23 , 16 , 47 , 0 , 48 , 33 , 48 , 34 , 0 , 0 , 0 , 0 , 35 , 0 , 0 , 0 ,
0 , 15 , 29 , 49 , 2 , 2 , 2 , 9 , 2 , 9 , 2 , 2 , 2 , 2 , 2 , 2 ,
2 , 2 , 2 , 2 , 2 , 2 , 0 , 17 , 22 , 16 , 23 , 47 , 22 , 38 , 22 , 39 ,
0 , 0 , 0 , 27 , 31 , 2 , 9 , 0 , 0 , 10 , 29 , 30 , 2 , 2 , 2 , 9 ,
2 , 2 , 2 , 30 , 2 , 2 , 0 , 17 , 45 , 0 , 0 , 35 , 47 , 0 , 0 , 0 ,
9 , 50 , 51 , 0 , 0 , 0 , 0 , 0 , 0 , 11 , 29 , 2 , 2 , 2 , 2 , 9 ,
2 , 2 , 2 , 2 , 2 , 2 , 52 , 53 , 23 , 19 , 20 , 31 , 48 , 33 , 48 , 34 ,
54 , 0 , 0 , 0 , 35 , 0 , 0 , 0 , 30 , 12 , 29 , 30 , 2 , 2 , 2 , 2 ,
2 , 2 , 2 , 2 , 9 , 0 , 2 , 2 , 2 , 2 , 30 , 2 , 2 , 2 , 2 , 30 ,
0 , 2 , 2 , 2 , 9 , 0 , 55 , 0 , 35 , 23 , 22 , 31 , 31 , 18 , 48 , 48 ,
25 , 0 , 23 , 0 , 0 , 0 , 0 , 0 , 0 , 2 , 0 , 2 , 9 , 0 , 0 , 0 ,
0 , 0 , 0 , 0 , 0 , 20 , 0 , 0 , 0 , 2 , 2 , 56 , 56 , 57 , 0 , 0 ,
18 , 2 , 2 , 2 , 2 , 30 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 9 ,
0 , 58 , 21 , 59 , 22 , 22 , 20 , 20 , 46 , 21 , 11 , 31 , 11 , 2 , 2 , 60 ,
61 , 61 , 61 , 61 , 61 , 62 , 61 , 61 , 61 , 61 , 61 , 61 , 61 , 61 , 61 , 61 ,
61 , 61 , 61 , 61 , 61 , 61 , 61 , 63 , 0 , 0 , 0 , 0 , 64 , 0 , 0 , 0 ,
0 , 2 , 2 , 2 , 2 , 2 , 65 , 45 , 59 , 66 , 22 , 22 , 67 , 68 , 69 , 70 ,
71 , 2 , 2 , 2 , 2 , 2 , 1 , 0 , 5 , 2 , 2 , 2 , 23 , 20 , 2 , 2 ,
72 , 71 , 73 , 74 , 65 , 73 , 29 , 29 , 2 , 52 , 22 , 53 , 2 , 2 , 2 , 2 ,
2 , 2 , 75 , 76 , 77 , 29 , 29 , 78 , 79 , 2 , 2 , 2 , 2 , 2 , 29 , 45 ,
0 , 2 , 59 , 80 , 0 , 0 , 0 , 0 , 30 , 2 , 59 , 47 , 0 , 0 , 0 , 0 ,
0 , 2 , 59 , 0 , 0 , 0 , 0 , 0 , 0 , 2 , 2 , 2 , 2 , 2 , 2 , 9 ,
2 , 9 , 59 , 0 , 0 , 0 , 0 , 0 , 0 , 2 , 2 , 81 , 45 , 22 , 59 , 20 ,
48 , 48 , 48 , 48 , 15 , 82 , 83 , 84 , 85 , 86 , 87 , 0 , 0 , 0 , 0 , 88 ,
0 , 9 , 0 , 0 , 30 , 0 , 89 , 81 , 90 , 2 , 2 , 2 , 2 , 9 , 0 , 0 ,
0 , 42 , 42 , 91 , 92 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 13 , 9 , 0 ,
0 , 93 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 ,
9 , 22 , 80 , 45 , 22 , 94 , 61 , 0 , 0 , 95 , 96 , 95 , 95 , 97 , 98 , 0 ,
0 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 0 , 2 , 2 , 9 , 0 , 0 , 0 , 0 ,
0 , 2 , 2 , 2 , 2 , 2 , 2 , 0 , 0 , 2 , 2 , 2 , 2 , 29 , 0 , 0 ,
0 , 2 , 2 , 2 , 2 , 2 , 9 , 0 , 0 , 2 , 2 , 2 , 52 , 99 , 45 , 0 ,
0 , 2 , 2 , 100 , 101 , 102 , 103 , 61 , 63 , 104 , 16 , 45 , 22 , 59 , 21 , 80 ,
48 , 48 , 76 , 11 , 11 , 11 , 105 , 46 , 40 , 11 , 106 , 74 , 2 , 2 , 2 , 2 ,
2 , 2 , 2 , 107 , 22 , 20 , 20 , 22 , 48 , 48 , 22 , 108 , 2 , 2 , 2 , 9 ,
0 , 0 , 0 , 0 , 0 , 0 , 109 , 110 , 110 , 110 , 110 , 0 , 0 , 0 , 0 , 0 ,
0 , 106 , 74 , 2 , 2 , 2 , 2 , 2 , 2 , 60 , 61 , 59 , 25 , 22 , 111 , 61 ,
2 , 2 , 2 , 2 , 107 , 22 , 23 , 45 , 45 , 102 , 112 , 0 , 0 , 0 , 0 , 0 ,
0 , 2 , 2 , 61 , 18 , 48 , 23 , 113 , 102 , 102 , 102 , 114 , 115 , 0 , 0 , 0 ,
0 , 2 , 2 , 2 , 2 , 2 , 0 , 30 , 2 , 11 , 46 , 116 , 116 , 116 , 11 , 116 ,
116 , 15 , 116 , 116 , 116 , 26 , 0 , 40 , 0 , 0 , 0 , 117 , 51 , 11 , 5 , 0 ,
0 , 0 , 0 , 0 , 0 , 0 , 118 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 6 , 119 ,
120 , 42 , 42 , 5 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 120 , 120 ,
121 , 120 , 120 , 120 , 120 , 120 , 120 , 120 , 120 , 0 , 0 , 122 , 0 , 0 , 0 , 0 ,
0 , 0 , 7 , 122 , 0 , 0 , 0 , 0 , 0 , 46 , 0 , 0 , 0 , 0 , 0 , 0 ,
0 , 0 , 0 , 0 , 0 , 0 , 0 , 9 , 0 , 0 , 0 , 0 , 123 , 123 , 0 , 0 ,
0 , 2 , 2 , 2 , 2 , 0 , 0 , 0 , 30 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
124 , 0 , 123 , 123 , 0 , 0 , 0 , 0 , 0 , 2 , 53 , 2 , 108 , 2 , 10 , 2 ,
2 , 2 , 65 , 19 , 16 , 0 , 0 , 31 , 0 , 2 , 2 , 0 , 0 , 0 , 0 , 0 ,
0 , 29 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 125 , 23 , 23 , 23 , 23 ,
23 , 23 , 23 , 126 , 0 , 0 , 0 , 0 , 0 , 11 , 11 , 11 , 11 , 11 , 11 , 11 ,
11 , 11 , 2 , 0 , 0 , 0 , 0 , 0 , 52 , 2 , 2 , 2 , 22 , 22 , 127 , 116 ,
0 , 2 , 2 , 2 , 128 , 20 , 59 , 20 , 113 , 102 , 129 , 0 , 0 , 0 , 0 , 0 ,
0 , 11 , 130 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 131 , 23 , 22 , 20 , 48 , 132 ,
133 , 134 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 2 , 2 , 52 , 30 , 2 , 2 , 2 ,
2 , 2 , 2 , 2 , 2 , 10 , 22 , 59 , 99 , 76 , 135 , 136 , 137 , 0 , 0 , 0 ,
0 , 2 , 138 , 2 , 2 , 2 , 2 , 139 , 0 , 30 , 2 , 42 , 5 , 0 , 79 , 15 ,
2 , 53 , 22 , 140 , 52 , 53 , 2 , 2 , 105 , 10 , 9 , 0 , 0 , 0 , 0 , 0 ,
0 , 2 , 2 , 2 , 2 , 2 , 141 , 21 , 25 , 0 , 0 , 142 , 143 , 0 , 0 , 0 ,
0 , 2 , 65 , 45 , 23 , 80 , 47 , 144 , 0 , 81 , 81 , 81 , 81 , 81 , 81 , 81 ,
81 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 6 , 120 , 120 , 120 , 120 , 121 , 0 , 0 ,
0 , 2 , 2 , 2 , 2 , 2 , 9 , 2 , 2 , 2 , 9 , 2 , 30 , 2 , 2 , 2 ,
2 , 2 , 30 , 2 , 2 , 2 , 30 , 9 , 0 , 128 , 20 , 27 , 31 , 0 , 0 , 145 ,
146 , 2 , 2 , 30 , 2 , 30 , 2 , 2 , 2 , 2 , 2 , 2 , 0 , 14 , 37 , 0 ,
147 , 2 , 2 , 13 , 37 , 0 , 30 , 2 , 2 , 2 , 0 , 0 , 0 , 0 , 0 , 0 ,
0 , 0 , 0 , 0 , 0 , 30 , 2 , 2 , 9 , 2 , 2 , 11 , 41 , 0 , 0 , 0 ,
0 , 2 , 2 , 2 , 0 , 27 , 22 , 22 , 30 , 2 , 2 , 2 , 0 , 0 , 0 , 0 ,
0 , 2 , 2 , 2 , 2 , 2 , 27 , 38 , 0 , 2 , 2 , 2 , 116 , 116 , 116 , 116 ,
116 , 148 , 2 , 9 , 0 , 0 , 0 , 0 , 0 , 2 , 14 , 14 , 0 , 0 , 0 , 0 ,
0 , 9 , 2 , 2 , 9 , 2 , 2 , 2 , 2 , 30 , 2 , 9 , 0 , 30 , 2 , 0 ,
0 , 149 , 150 , 151 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 22 , 22 , 20 ,
20 , 20 , 22 , 22 , 134 , 0 , 0 , 0 , 0 , 0 , 152 , 152 , 152 , 152 , 152 , 152 ,
152 , 152 , 152 , 152 , 2 , 2 , 2 , 2 , 2 , 53 , 52 , 53 , 0 , 0 , 0 , 0 ,
153 , 11 , 74 , 2 , 2 , 2 , 2 , 2 , 2 , 18 , 19 , 21 , 16 , 24 , 37 , 0 ,
0 , 0 , 31 , 0 , 0 , 0 , 0 , 0 , 0 , 11 , 49 , 2 , 2 , 2 , 2 , 2 ,
2 , 2 , 2 , 2 , 128 , 20 , 22 , 154 , 22 , 21 , 155 , 156 , 2 , 2 , 2 , 2 ,
2 , 0 , 0 , 65 , 157 , 0 , 0 , 0 , 0 , 2 , 13 , 0 , 0 , 0 , 0 , 0 ,
0 , 2 , 65 , 25 , 20 , 20 , 20 , 22 , 22 , 108 , 158 , 0 , 0 , 56 , 159 , 31 ,
160 , 30 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 23 ,
19 , 22 , 22 , 161 , 44 , 0 , 0 , 0 , 49 , 128 , 0 , 0 , 0 , 0 , 0 , 0 ,
0 , 2 , 2 , 2 , 9 , 9 , 2 , 2 , 30 , 2 , 2 , 2 , 2 , 2 , 2 , 2 ,
30 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 10 , 18 , 19 , 21 , 22 , 162 , 31 , 0 ,
0 , 11 , 11 , 30 , 2 , 2 , 2 , 9 , 30 , 9 , 2 , 30 , 2 , 2 , 58 , 17 ,
23 , 16 , 23 , 47 , 32 , 33 , 32 , 34 , 0 , 0 , 0 , 0 , 35 , 0 , 0 , 0 ,
2 , 2 , 23 , 0 , 11 , 11 , 11 , 46 , 0 , 11 , 11 , 46 , 0 , 0 , 0 , 0 ,
0 , 2 , 2 , 2 , 2 , 2 , 30 , 0 , 9 , 2 , 2 , 2 , 30 , 45 , 59 , 20 ,
20 , 31 , 33 , 32 , 32 , 25 , 163 , 29 , 164 , 165 , 37 , 0 , 0 , 0 , 0 , 0 ,
0 , 12 , 26 , 0 , 0 , 0 , 0 , 0 , 0 , 2 , 2 , 65 , 25 , 20 , 20 , 20 ,
22 , 23 , 126 , 15 , 17 , 0 , 0 , 0 , 0 , 2 , 2 , 2 , 2 , 2 , 0 , 0 ,
166 , 167 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 18 , 19 , 20 , 20 , 66 , 99 , 25 ,
160 , 11 , 168 , 9 , 0 , 0 , 0 , 0 , 0 , 2 , 2 , 2 , 2 , 2 , 2 , 2 ,
65 , 25 , 20 , 20 , 0 , 48 , 48 , 11 , 169 , 37 , 0 , 0 , 0 , 0 , 0 , 0 ,
0 , 0 , 0 , 0 , 0 , 2 , 2 , 20 , 0 , 23 , 19 , 20 , 20 , 21 , 16 , 82 ,
169 , 38 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 2 , 2 , 2 , 2 , 2 , 10 , 170 ,
25 , 20 , 22 , 22 , 168 , 9 , 0 , 0 , 0 , 2 , 2 , 2 , 2 , 2 , 9 , 43 ,
136 , 23 , 22 , 20 , 76 , 21 , 22 , 0 , 0 , 2 , 2 , 2 , 9 , 0 , 0 , 0 ,
0 , 2 , 2 , 2 , 2 , 2 , 2 , 18 , 19 , 20 , 21 , 22 , 105 , 169 , 37 , 0 ,
0 , 2 , 2 , 2 , 9 , 30 , 0 , 2 , 2 , 2 , 2 , 30 , 9 , 2 , 2 , 2 ,
2 , 23 , 23 , 18 , 32 , 33 , 12 , 171 , 165 , 172 , 173 , 0 , 0 , 0 , 0 , 0 ,
0 , 2 , 2 , 2 , 2 , 0 , 2 , 2 , 2 , 65 , 25 , 20 , 20 , 0 , 22 , 23 ,
29 , 108 , 0 , 33 , 0 , 0 , 0 , 0 , 0 , 52 , 20 , 22 , 22 , 22 , 140 , 2 ,
2 , 2 , 174 , 175 , 11 , 15 , 176 , 61 , 177 , 0 , 0 , 1 , 147 , 0 , 0 , 0 ,
0 , 52 , 20 , 22 , 16 , 19 , 20 , 2 , 2 , 2 , 2 , 158 , 158 , 158 , 178 , 178 ,
178 , 178 , 178 , 178 , 15 , 179 , 0 , 30 , 0 , 22 , 20 , 20 , 31 , 22 , 22 , 11 ,
169 , 0 , 61 , 61 , 61 , 61 , 61 , 61 , 61 , 66 , 21 , 82 , 46 , 0 , 0 , 0 ,
0 , 2 , 2 , 2 , 9 , 2 , 30 , 2 , 2 , 52 , 22 , 22 , 31 , 0 , 38 , 22 ,
27 , 11 , 159 , 180 , 181 , 0 , 0 , 0 , 0 , 2 , 2 , 2 , 30 , 9 , 2 , 2 ,
2 , 2 , 2 , 2 , 2 , 2 , 23 , 23 , 47 , 22 , 35 , 82 , 68 , 0 , 0 , 0 ,
0 , 2 , 182 , 66 , 47 , 0 , 0 , 0 , 0 , 11 , 183 , 2 , 2 , 2 , 2 , 2 ,
2 , 2 , 2 , 23 , 22 , 20 , 31 , 0 , 48 , 16 , 143 , 0 , 0 , 0 , 0 , 0 ,
0 , 2 , 2 , 2 , 2 , 2 , 156 , 0 , 0 , 184 , 184 , 184 , 184 , 184 , 184 , 184 ,
184 , 185 , 185 , 185 , 186 , 187 , 185 , 184 , 184 , 188 , 184 , 184 , 189 , 190 , 190 , 190 ,
190 , 190 , 190 , 190 , 0 , 0 , 0 , 0 , 0 , 184 , 184 , 184 , 184 , 184 , 191 , 0 ,
0 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 22 , 22 , 22 , 22 , 22 , 22 , 192 , 193 ,
194 , 11 , 11 , 11 , 46 , 0 , 0 , 0 , 0 , 29 , 74 , 2 , 2 , 2 , 2 , 2 ,
2 , 2 , 2 , 2 , 2 , 2 , 65 , 47 , 0 , 2 , 2 , 2 , 2 , 2 , 9 , 0 ,
58 , 195 , 20 , 20 , 20 , 20 , 20 , 20 , 20 , 20 , 20 , 20 , 20 , 20 , 20 , 20 ,
20 , 20 , 20 , 20 , 20 , 0 , 0 , 0 , 40 , 116 , 26 , 0 , 0 , 0 , 0 , 0 ,
0 , 0 , 0 , 9 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
30 , 2 , 2 , 2 , 2 , 2 , 0 , 58 , 37 , 0 , 6 , 120 , 120 , 120 , 121 , 0 ,
0 , 11 , 11 , 11 , 49 , 2 , 2 , 2 , 0 , 2 , 2 , 2 , 2 , 2 , 0 , 0 ,
2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 46 , 2 , 2 , 2 , 2 , 2 , 2 , 11 ,
11 , 2 , 2 , 2 , 2 , 2 , 2 , 22 , 22 , 2 , 2 , 2 , 2 , 2 , 2 , 2 ,
20 , 2 , 2 , 44 , 44 , 44 , 92 , 0 , 0 , O, O, O, GB, B, B, O,
SB, O, SE, GB, O, O, WJ,FMPst,FMPst, O, CGJ, B, O, B,VMAbv,VMAbv,
VMAbv, O,VMAbv, B,CMBlw,CMBlw,CMBlw,VMAbv,VMPst, VAbv, VPst,CMBlw, B, VPst, VPre, VPst,
VBlw, VBlw, VBlw, VBlw, VAbv, VAbv, VAbv, VPst, VPst, VPst, H, VPre, VPst,VMBlw, O, O,
VAbv, GB,VMAbv,VMPst,VMPst, O, B, VBlw, O, O, VPre, VPre, O, VPre, H, O,
VPst,FMAbv, O,CMBlw, O, VAbv, O, VAbv, H, O,VMBlw,VMAbv,CMAbv, GB, GB, O,
MBlw,CMAbv,CMAbv, VPst, VAbv,VMAbv, O, VPst, O, VPre, VPre,VMAbv, B, O, CS, CS,
VMPst, B, VAbv, VAbv, B, R, O, HVM, O, O,FMBlw, O,CMAbv, O,CMBlw, VAbv,
VBlw, B, SUB, SUB, SUB, O, SUB, SUB, O,FMBlw, O, B, VPst, VBlw, VPre,VMAbv,
VMBlw,VMPst, IS, VAbv, MPst, MPre, MBlw, MBlw, B, MBlw, MBlw, VPst,VMPst,VMPst, B, MBlw,
VPst, VPre, VAbv, VAbv,VMPst,VMPst,VMBlw, B,VMPst, VBlw, VPst, CGJ, CGJ, VPst,VMAbv,VMAbv,
FMAbv, FAbv,CMAbv,FMAbv,VMAbv,FMAbv, VAbv, IS,FMAbv, B,FMAbv, B, CGJ, WJ, CGJ, GB,
CMAbv,CMAbv, B, GB, B, VAbv, SUB, FPst, FPst,VMBlw, FPst, FPst, FBlw,VMAbv,FMBlw, VAbv,
VPre, B, MPre, MBlw, SUB, FAbv, FAbv, MAbv, SUB, Sk, VPst, VAbv,VMAbv,VMAbv, FAbv,CMAbv,
VPst, H, B, O,SMAbv,SMAbv,SMAbv, VPst, IS, RK, RK, VBlw, FAbv,VMPre,VMPre,FMAbv,
CMBlw,VMBlw,VMBlw,VMAbv, CS, O,FMAbv, ZWNJ, CGJ, WJ, WJ, WJ, O,FMPst, O, SB,
SE, O, H, MPst, VPst, H,VMAbv, VAbv,VMBlw, B, VBlw, FPst, VPst, FAbv,VMPst, B,
CMAbv, VAbv, MBlw, MPst, MBlw, H, O, VBlw, MPst, MPre, MAbv, MBlw, O, B, FAbv, FAbv,
FPst, VBlw, B, B, VPre, O,VMPst, IS, O,VMPst, VBlw, VPst,VMBlw,VMBlw,VMAbv, O,
IS,VMBlw, B,VMPst,VMAbv,VMPst, CS, CS, B, N, N, O, HN, VPre, VBlw, VAbv,
IS,CMAbv, O, VPst, B, R, R,CMBlw, VAbv, VPre,VMAbv,VMAbv, H, VAbv,CMBlw,VMPst,
O,VMAbv,CMBlw, IS, R,FMAbv, B, CS, CS, H,CMBlw,VMPst, H,VMPst, VAbv,VMAbv,
VPst, MPst, R, MPst,CMBlw, B,FMBlw, VBlw,VMAbv, CS, SUB, SUB, GB, FBlw, FBlw,CMAbv,
IS, VBlw, IS, R, MBlw, GB, VAbv, R,VMPst, G, G, J, J, J, SB, SE,
J, HR, G, G, HM, HM, HM, G, O, MPre, MPre, MPst,VMAbv, MBlw, VBlw, O,
VBlw,
};
static const uint16_t
hb_use_u16[856 ] =
{
0 , 0 , 1 , 2 , 0 , 3 , 0 , 3 , 0 , 0 , 4 , 5 , 0 , 6 , 0 , 0 ,
0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 7 , 0 , 0 , 0 ,
0 , 0 , 0 , 0 , 8 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 9 , 10 , 11 , 12 ,
0 , 0 , 0 , 0 , 10 , 13 , 0 , 0 , 14 , 10 , 10 , 15 , 16 , 17 , 18 , 19 ,
20 , 21 , 22 , 23 , 24 , 25 , 18 , 26 , 27 , 21 , 22 , 28 , 29 , 30 , 31 , 32 ,
33 , 34 , 22 , 35 , 36 , 0 , 18 , 37 , 38 , 21 , 22 , 39 , 24 , 40 , 18 , 41 ,
42 , 43 , 44 , 45 , 46 , 47 , 31 , 0 , 48 , 49 , 22 , 50 , 51 , 52 , 18 , 0 ,
53 , 49 , 22 , 54 , 51 , 55 , 18 , 56 , 57 , 49 , 10 , 58 , 59 , 60 , 18 , 0 ,
61 , 62 , 10 , 63 , 64 , 65 , 31 , 66 , 67 , 68 , 10 , 69 , 70 , 10 , 71 , 72 ,
73 , 74 , 75 , 76 , 77 , 0 , 0 , 0 , 10 , 10 , 78 , 79 , 80 , 81 , 82 , 83 ,
84 , 85 , 0 , 0 , 0 , 0 , 0 , 0 , 10 , 86 , 10 , 87 , 10 , 88 , 89 , 90 ,
10 , 10 , 10 , 91 , 92 , 93 , 2 , 0 , 94 , 0 , 10 , 10 , 10 , 10 , 10 , 95 ,
96 , 10 , 97 , 0 , 0 , 0 , 0 , 0 , 98 , 99 ,100 ,101 , 31 , 10 ,102 ,103 ,
10 , 10 ,104 , 10 ,105 ,106 , 0 , 0 , 10 ,107 , 10 , 10 , 10 ,108 ,109 ,110 ,
2 , 2 , 0 , 0 , 0 , 0 , 0 , 0 ,111 , 10 , 10 ,112 ,113 , 2 ,114 ,115 ,
116 , 10 ,117 , 10 , 10 , 10 ,118 ,119 , 10 , 10 ,120 ,121 ,122 , 0 , 0 , 0 ,
0 , 0 , 0 , 0 , 0 ,123 ,124 ,125 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,126 ,
127 ,128 ,129 , 0 , 0 , 0 ,130 ,131 ,132 , 0 , 0 , 0 , 0 , 0 , 0 ,133 ,
0 , 0 , 0 , 0 ,134 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,135 , 0 ,
0 , 0 , 0 , 10 , 10 , 10 ,136 ,137 , 0 , 0 ,138 , 0 , 0 , 0 , 0 , 0 ,
139 , 10 ,140 , 0 , 10 , 10 , 10 ,141 ,142 , 10 , 10 ,143 ,144 , 2 ,145 ,146 ,
10 , 10 ,147 , 10 ,148 ,149 , 0 , 0 ,150 , 10 , 10 ,151 ,152 , 2 ,153 , 99 ,
10 , 10 ,154 ,155 ,156 , 2 , 10 ,157 , 10 , 10 , 10 ,158 ,159 , 0 ,160 ,161 ,
0 , 0 , 0 , 0 , 10 , 10 ,162 , 2 ,163 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
0 , 0 , 0 , 0 , 0 , 0 , 0 ,164 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,165 ,
0 , 0 , 0 , 0 , 0 , 0 , 0 ,166 ,166 ,167 , 34 ,168 , 0 , 0 , 0 , 0 ,
169 ,170 , 10 ,171 , 95 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 70 , 10 ,172 , 0 ,
10 ,173 ,174 , 0 , 0 , 0 , 0 , 0 , 10 , 10 ,175 , 2 , 9 , 10 ,176 , 10 ,
177 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 10 , 10 ,178 ,173 , 0 , 0 , 0 , 0 ,
0 , 0 , 0 , 10 ,179 ,180 , 0 , 10 ,181 , 0 , 0 ,182 ,183 , 0 , 0 , 0 ,
184 , 10 , 10 ,185 ,186 ,187 ,188 ,189 ,190 , 10 , 10 ,191 ,192 , 0 , 0 , 0 ,
193 , 10 ,194 ,195 ,196 , 10 , 10 ,197 ,190 , 10 , 10 ,198 ,199 ,106 ,200 ,103 ,
10 , 34 ,201 ,202 ,203 , 0 , 0 , 0 ,204 ,205 , 95 , 10 , 10 ,206 ,207 , 2 ,
208 , 21 , 22 ,209 ,210 ,211 ,212 ,213 ,214 , 10 , 10 ,215 ,216 ,217 ,218 , 0 ,
10 , 10 , 10 ,219 ,220 ,221 ,222 , 0 ,200 , 10 , 10 ,223 ,224 , 2 , 0 , 0 ,
10 , 10 ,225 ,226 ,227 ,228 , 0 , 0 , 10 , 10 , 10 ,229 ,230 , 2 , 0 , 0 ,
10 , 10 ,231 ,232 , 2 , 10 ,141 , 0 , 10 ,233 ,234 ,104 ,235 , 0 , 0 , 0 ,
10 , 10 ,236 ,237 , 0 , 0 , 0 , 0 ,238 ,239 , 10 ,240 ,241 , 2 , 0 , 0 ,
0 , 0 ,242 , 10 , 10 ,243 ,244 , 0 ,245 , 10 , 10 ,246 ,247 ,248 , 10 , 10 ,
249 ,250 , 0 , 0 , 0 , 0 , 0 , 0 , 22 , 10 ,225 ,251 , 8 , 10 , 71 , 19 ,
10 ,252 , 74 ,253 , 0 , 0 , 0 , 0 ,254 , 10 , 10 ,255 ,256 , 2 ,257 , 10 ,
258 ,259 , 2 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 10 ,260 ,
261 , 49 , 10 ,262 ,263 ,264 , 0 , 0 ,265 ,265 ,265 ,265 ,265 ,265 ,265 ,265 ,
265 ,265 ,265 ,266 ,267 ,268 ,265 ,265 ,265 ,265 ,265 ,265 ,265 ,265 ,265 ,269 ,
10 ,270 ,271 , 2 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 2 , 0 , 0 , 0 ,
10 , 10 , 10 ,272 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,273 , 10 ,274 , 2 ,
10 , 10 , 10 , 10 ,275 ,276 ,277 ,277 ,278 ,279 , 0 , 0 , 0 , 0 ,280 , 0 ,
10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 10 ,177 , 0 ,281 ,
10 , 10 , 10 , 10 , 10 , 10 ,106 , 71 , 95 ,282 , 0 , 0 , 0 , 0 , 0 , 0 ,
0 , 0 , 0 , 0 , 0 , 0 , 0 ,283 , 10 , 10 , 71 ,284 ,285 , 0 , 0 , 0 ,
0 , 10 ,286 , 0 , 10 , 10 ,287 , 2 , 0 , 0 , 0 , 0 , 0 , 10 ,288 , 2 ,
0 , 0 , 0 , 0 , 0 , 10 ,289 ,106 , 10 , 10 , 10 , 10 ,290 , 2 , 0 , 0 ,
130 ,130 ,130 ,130 ,130 ,130 ,130 ,130 ,163 ,163 ,163 ,163 ,163 ,163 ,163 ,163 ,
163 ,163 ,163 ,163 ,163 ,163 ,163 ,130 ,
};
static inline unsigned
hb_use_b4 (const uint8_t* a, unsigned i)
{
return (a[i>>1 ]>>((i&1 u)<<2 ))&15 u;
}
static inline uint_fast8_t
hb_use_get_category (unsigned u)
{
return u<921600 u?hb_use_u8[2953 +(((hb_use_u8[625 +(((hb_use_u16[((hb_use_u8[113 +(((hb_use_b4(hb_use_u8,u>>1 >>3 >>3 >>5 ))<<5 )+((u>>1 >>3 >>3 )&31 u))])<<3 )+((u>>1 >>3 )&an style='color: green'>7u)])<<3 )+((u>>1 )&7 u))])<<1 )+((u)&style='color: green'>1 u))]:O;
}
#else
static const uint8_t
hb_use_u8[3657 ] =
{
16 , 50 , 51 , 51 , 51 , 52 , 51 , 83 , 118 , 131 , 57 , 58 , 59 , 195 , 211 , 62 ,
51 , 51 , 51 , 51 , 51 , 51 , 51 , 51 , 51 , 51 , 51 , 51 , 51 , 51 , 51 , 51 ,
51 , 51 , 51 , 51 , 51 , 51 , 51 , 51 , 51 , 51 , 51 , 51 , 51 , 51 , 51 , 51 ,
51 , 51 , 51 , 51 , 51 , 51 , 51 , 51 , 51 , 51 , 51 , 51 , 51 , 51 , 51 , 51 ,
51 , 51 , 51 , 51 , 51 , 51 , 51 , 51 , 51 , 51 , 51 , 51 , 51 , 51 , 51 , 51 ,
51 , 51 , 51 , 51 , 51 , 51 , 51 , 51 , 51 , 51 , 51 , 51 , 51 , 51 , 51 , 51 ,
51 , 51 , 51 , 51 , 51 , 51 , 51 , 51 , 51 , 51 , 51 , 51 , 51 , 51 , 51 , 51 ,
15 , 0 , 1 , 1 , 2 , 1 , 1 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 , 1 ,
11 , 12 , 1 , 1 , 1 , 1 , 1 , 1 , 13 , 14 , 15 , 16 , 17 , 18 , 19 , 1 ,
1 , 20 , 1 , 1 , 1 , 1 , 21 , 1 , 22 , 1 , 1 , 1 , 1 , 1 , 23 , 24 ,
1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 ,
1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 25 , 26 , 27 , 28 , 1 , 1 , 1 ,
1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 29 ,
30 , 1 , 1 , 1 , 1 , 1 , 31 , 1 , 1 , 1 , 1 , 32 , 33 , 1 , 34 , 35 ,
36 , 37 , 38 , 39 , 40 , 41 , 42 , 43 , 44 , 45 , 46 , 47 , 1 , 48 , 49 , 50 ,
51 , 52 , 52 , 52 , 52 , 53 , 52 , 52 , 52 , 52 , 52 , 52 , 52 , 52 , 52 , 52 ,
52 , 52 , 52 , 52 , 54 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 ,
1 , 1 , 55 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 56 , 57 , 1 , 58 , 1 ,
59 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 60 , 61 , 1 , 1 ,
1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 62 , 1 , 1 ,
1 , 1 , 63 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 ,
1 , 1 , 64 , 65 , 1 , 66 , 67 , 1 , 1 , 1 , 68 , 1 , 1 , 1 , 1 , 1 ,
1 , 69 , 70 , 69 , 69 , 69 , 69 , 69 , 69 , 69 , 69 , 69 , 69 , 69 , 69 , 69 ,
69 , 0 , 1 , 2 , 2 , 0 , 3 , 4 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
0 , 0 , 0 , 5 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 6 , 0 , 0 , 0 , 0 ,
0 , 0 , 0 , 0 , 0 , 0 , 0 , 7 , 8 , 0 , 0 , 9 , 0 , 0 , 0 , 0 ,
0 , 10 , 11 , 12 , 13 , 14 , 15 , 16 , 17 , 18 , 19 , 20 , 21 , 22 , 23 , 24 ,
25 , 26 , 27 , 28 , 29 , 30 , 31 , 32 , 33 , 34 , 35 , 36 , 37 , 38 , 39 , 40 ,
41 , 42 , 43 , 44 , 37 , 45 , 46 , 47 , 48 , 49 , 50 , 51 , 52 , 53 , 54 , 55 ,
0 , 56 , 57 , 58 , 59 , 60 , 0 , 0 , 0 , 61 , 62 , 63 , 64 , 56 , 65 , 66 ,
67 , 68 , 56 , 56 , 69 , 70 , 71 , 0 , 0 , 72 , 73 , 74 , 75 , 56 , 76 , 77 ,
0 , 78 , 56 , 79 , 80 , 81 , 0 , 0 , 0 , 82 , 83 , 84 , 85 , 86 , 87 , 56 ,
88 , 56 , 89 , 90 , 0 , 0 , 0 , 91 , 92 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
93 , 94 , 95 , 0 , 96 , 97 , 0 , 0 , 98 , 0 , 0 , 0 , 0 , 0 , 0 , 99 ,
0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 100 , 0 , 101 , 56 , 102 , 0 , 0 , 0 ,
0 , 0 , 103 , 0 , 0 , 0 , 0 , 0 , 0 , 104 , 105 , 56 , 106 , 107 , 108 , 109 ,
110 , 56 , 111 , 112 , 0 , 113 , 114 , 115 , 116 , 56 , 117 , 118 , 119 , 56 , 120 , 121 ,
122 , 0 , 0 , 0 , 0 , 0 , 0 , 56 , 123 , 124 , 0 , 0 , 0 , 0 , 0 , 0 ,
125 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 126 , 0 , 0 , 0 , 127 , 128 , 129 , 0 ,
0 , 130 , 131 , 132 , 0 , 0 , 0 , 51 , 133 , 0 , 0 , 0 , 0 , 134 , 135 , 0 ,
0 , 56 , 136 , 7 , 137 , 138 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 56 , 139 , 0 ,
0 , 0 , 101 , 140 , 101 , 141 , 142 , 143 , 0 , 144 , 145 , 146 , 147 , 148 , 149 , 150 ,
0 , 151 , 152 , 153 , 154 , 148 , 155 , 156 , 157 , 158 , 159 , 160 , 0 , 161 , 162 , 163 ,
164 , 165 , 166 , 167 , 168 , 169 , 170 , 171 , 172 , 56 , 173 , 174 , 175 , 176 , 177 , 178 ,
0 , 0 , 0 , 0 , 0 , 56 , 179 , 180 , 0 , 56 , 181 , 182 , 0 , 56 , 183 , 184 ,
185 , 186 , 187 , 188 , 0 , 0 , 0 , 0 , 0 , 56 , 189 , 0 , 0 , 0 , 0 , 0 ,
0 , 190 , 191 , 192 , 0 , 0 , 193 , 194 , 195 , 196 , 197 , 198 , 56 , 199 , 0 , 0 ,
0 , 200 , 201 , 202 , 203 , 204 , 205 , 0 , 0 , 206 , 207 , 208 , 209 , 210 , 67 , 0 ,
0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 211 , 212 , 213 , 214 , 0 , 0 , 0 , 0 ,
0 , 215 , 215 , 215 , 215 , 215 , 215 , 215 , 215 , 215 , 216 , 217 , 215 , 215 , 215 , 215 ,
215 , 215 , 215 , 215 , 215 , 215 , 215 , 215 , 218 , 219 , 220 , 0 , 0 , 0 , 0 , 0 ,
0 , 0 , 0 , 0 , 0 , 0 , 0 , 67 , 0 , 56 , 221 , 0 , 0 , 0 , 0 , 0 ,
0 , 0 , 0 , 222 , 223 , 0 , 0 , 0 , 0 , 56 , 56 , 224 , 225 , 226 , 0 , 0 ,
227 , 56 , 56 , 56 , 56 , 56 , 56 , 56 , 56 , 56 , 56 , 56 , 56 , 56 , 56 , 228 ,
229 , 56 , 56 , 56 , 230 , 231 , 0 , 0 , 0 , 0 , 0 , 0 , 232 , 0 , 0 , 0 ,
0 , 56 , 233 , 234 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 101 , 235 , 56 ,
236 , 0 , 0 , 0 , 0 , 0 , 0 , 101 , 237 , 0 , 0 , 0 , 0 , 0 , 0 , 101 ,
238 , 56 , 56 , 239 , 0 , 0 , 0 , 0 , 0 , 240 , 240 , 240 , 240 , 240 , 240 , 240 ,
240 , 241 , 241 , 241 , 241 , 241 , 241 , 241 , 242 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
0 , 0 , 0 , 0 , 0 , 0 , 0 , 1 , 0 , 2 , 2 , 2 , 2 , 2 , 0 , 0 ,
0 , 0 , 0 , 0 , 0 , 0 , 3 , 4 , 0 , 5 , 0 , 0 , 0 , 0 , 0 , 6 ,
0 , 0 , 7 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 1 , 0 , 0 , 0 ,
0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 8 , 9 , 0 , 0 , 0 , 0 , 0 , 0 ,
0 , 0 , 0 , 0 , 0 , 0 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 ,
2 , 2 , 2 , 2 , 2 , 2 , 10 , 11 , 11 , 11 , 11 , 0 , 0 , 0 , 9 , 12 ,
0 , 2 , 2 , 2 , 2 , 13 , 14 , 0 , 0 , 11 , 15 , 2 , 2 , 2 , 2 , 2 ,
2 , 2 , 2 , 2 , 2 , 2 , 16 , 17 , 18 , 19 , 20 , 21 , 22 , 16 , 23 , 24 ,
25 , 12 , 26 , 27 , 20 , 2 , 2 , 2 , 2 , 2 , 20 , 0 , 2 , 2 , 2 , 2 ,
2 , 0 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 28 , 29 , 30 , 2 , 2 , 2 , 9 ,
30 , 9 , 30 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 9 , 2 , 2 ,
2 , 9 , 9 , 0 , 2 , 2 , 0 , 17 , 18 , 19 , 20 , 31 , 32 , 33 , 32 , 34 ,
0 , 0 , 0 , 0 , 35 , 0 , 0 , 2 , 30 , 2 , 0 , 0 , 0 , 0 , 0 , 9 ,
36 , 12 , 15 , 30 , 2 , 2 , 9 , 0 , 30 , 9 , 2 , 30 , 9 , 2 , 0 , 37 ,
18 , 19 , 31 , 0 , 27 , 38 , 27 , 39 , 0 , 40 , 0 , 0 , 0 , 30 , 2 , 9 ,
9 , 0 , 0 , 0 , 2 , 2 , 2 , 2 , 2 , 41 , 42 , 43 , 0 , 0 , 0 , 0 ,
0 , 12 , 15 , 30 , 2 , 2 , 2 , 2 , 30 , 2 , 30 , 2 , 2 , 2 , 2 , 2 ,
2 , 9 , 2 , 30 , 2 , 2 , 0 , 17 , 18 , 19 , 20 , 21 , 27 , 22 , 35 , 24 ,
0 , 0 , 0 , 0 , 0 , 30 , 41 , 41 , 44 , 12 , 29 , 30 , 2 , 2 , 2 , 9 ,
30 , 9 , 2 , 30 , 2 , 2 , 0 , 17 , 45 , 0 , 0 , 27 , 22 , 0 , 0 , 2 ,
30 , 30 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 46 , 30 , 2 , 2 , 9 , 0 ,
2 , 9 , 2 , 2 , 0 , 30 , 9 , 9 , 2 , 0 , 30 , 9 , 0 , 2 , 9 , 0 ,
2 , 2 , 2 , 2 , 2 , 2 , 0 , 0 , 23 , 16 , 47 , 0 , 48 , 33 , 48 , 34 ,
0 , 0 , 0 , 0 , 35 , 0 , 0 , 0 , 0 , 15 , 29 , 49 , 2 , 2 , 2 , 9 ,
2 , 9 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 0 , 17 ,
22 , 16 , 23 , 47 , 22 , 38 , 22 , 39 , 0 , 0 , 0 , 27 , 31 , 2 , 9 , 0 ,
0 , 10 , 29 , 30 , 2 , 2 , 2 , 9 , 2 , 2 , 2 , 30 , 2 , 2 , 0 , 17 ,
45 , 0 , 0 , 35 , 47 , 0 , 0 , 0 , 9 , 50 , 51 , 0 , 0 , 0 , 0 , 0 ,
0 , 11 , 29 , 2 , 2 , 2 , 2 , 9 , 2 , 2 , 2 , 2 , 2 , 2 , 52 , 53 ,
23 , 19 , 20 , 31 , 48 , 33 , 48 , 34 , 54 , 0 , 0 , 0 , 35 , 0 , 0 , 0 ,
30 , 12 , 29 , 30 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 9 , 0 , 2 , 2 ,
2 , 2 , 30 , 2 , 2 , 2 , 2 , 30 , 0 , 2 , 2 , 2 , 9 , 0 , 55 , 0 ,
35 , 23 , 22 , 31 , 31 , 18 , 48 , 48 , 25 , 0 , 23 , 0 , 0 , 0 , 0 , 0 ,
0 , 2 , 0 , 2 , 9 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 20 , 0 , 0 ,
0 , 2 , 2 , 56 , 56 , 57 , 0 , 0 , 18 , 2 , 2 , 2 , 2 , 30 , 2 , 2 ,
2 , 2 , 2 , 2 , 2 , 2 , 2 , 9 , 0 , 58 , 21 , 59 , 22 , 22 , 20 , 20 ,
46 , 21 , 11 , 31 , 11 , 2 , 2 , 60 , 61 , 61 , 61 , 61 , 61 , 62 , 61 , 61 ,
61 , 61 , 61 , 61 , 61 , 61 , 61 , 61 , 61 , 61 , 61 , 61 , 61 , 61 , 61 , 63 ,
0 , 0 , 0 , 0 , 64 , 0 , 0 , 0 , 0 , 2 , 2 , 2 , 2 , 2 , 65 , 45 ,
59 , 66 , 22 , 22 , 67 , 68 , 69 , 70 , 71 , 2 , 2 , 2 , 2 , 2 , 1 , 0 ,
5 , 2 , 2 , 2 , 23 , 20 , 2 , 2 , 72 , 71 , 73 , 74 , 65 , 73 , 29 , 29 ,
2 , 52 , 22 , 53 , 2 , 2 , 2 , 2 , 2 , 2 , 75 , 76 , 77 , 29 , 29 , 78 ,
79 , 2 , 2 , 2 , 2 , 2 , 29 , 45 , 0 , 2 , 59 , 80 , 0 , 0 , 0 , 0 ,
30 , 2 , 59 , 47 , 0 , 0 , 0 , 0 , 0 , 2 , 59 , 0 , 0 , 0 , 0 , 0 ,
0 , 2 , 2 , 2 , 2 , 2 , 2 , 9 , 2 , 9 , 59 , 0 , 0 , 0 , 0 , 0 ,
0 , 2 , 2 , 81 , 45 , 22 , 59 , 20 , 48 , 48 , 48 , 48 , 15 , 82 , 83 , 84 ,
85 , 86 , 87 , 0 , 0 , 0 , 0 , 88 , 0 , 9 , 0 , 0 , 30 , 0 , 89 , 81 ,
90 , 2 , 2 , 2 , 2 , 9 , 0 , 0 , 0 , 42 , 42 , 91 , 92 , 2 , 2 , 2 ,
2 , 2 , 2 , 2 , 2 , 13 , 9 , 0 , 0 , 93 , 2 , 2 , 2 , 2 , 2 , 2 ,
2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 9 , 22 , 80 , 45 , 22 , 94 , 61 , 0 ,
0 , 95 , 96 , 95 , 95 , 97 , 98 , 0 , 0 , 2 , 2 , 2 , 2 , 2 , 2 , 2 ,
0 , 2 , 2 , 9 , 0 , 0 , 0 , 0 , 0 , 2 , 2 , 2 , 2 , 2 , 2 , 0 ,
0 , 2 , 2 , 2 , 2 , 29 , 0 , 0 , 0 , 2 , 2 , 2 , 2 , 2 , 9 , 0 ,
0 , 2 , 2 , 2 , 52 , 99 , 45 , 0 , 0 , 2 , 2 , 100 , 101 , 102 , 103 , 61 ,
63 , 104 , 16 , 45 , 22 , 59 , 21 , 80 , 48 , 48 , 76 , 11 , 11 , 11 , 105 , 46 ,
40 , 11 , 106 , 74 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 107 , 22 , 20 , 20 , 22 ,
48 , 48 , 22 , 108 , 2 , 2 , 2 , 9 , 0 , 0 , 0 , 0 , 0 , 0 , 109 , 110 ,
110 , 110 , 110 , 0 , 0 , 0 , 0 , 0 , 0 , 106 , 74 , 2 , 2 , 2 , 2 , 2 ,
2 , 60 , 61 , 59 , 25 , 22 , 111 , 61 , 2 , 2 , 2 , 2 , 107 , 22 , 23 , 45 ,
45 , 102 , 112 , 0 , 0 , 0 , 0 , 0 , 0 , 2 , 2 , 61 , 18 , 48 , 23 , 113 ,
102 , 102 , 102 , 114 , 115 , 0 , 0 , 0 , 0 , 2 , 2 , 2 , 2 , 2 , 0 , 30 ,
2 , 11 , 46 , 116 , 116 , 116 , 11 , 116 , 116 , 15 , 116 , 116 , 116 , 26 , 0 , 40 ,
0 , 0 , 0 , 117 , 51 , 11 , 5 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 118 , 0 ,
0 , 0 , 0 , 0 , 0 , 0 , 6 , 119 , 120 , 42 , 42 , 5 , 0 , 0 , 0 , 0 ,
0 , 0 , 0 , 0 , 0 , 0 , 120 , 120 , 121 , 120 , 120 , 120 , 120 , 120 , 120 , 120 ,
120 , 0 , 0 , 122 , 0 , 0 , 0 , 0 , 0 , 0 , 7 , 122 , 0 , 0 , 0 , 0 ,
0 , 46 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 9 ,
0 , 0 , 0 , 0 , 123 , 123 , 0 , 0 , 0 , 2 , 2 , 2 , 2 , 0 , 0 , 0 ,
30 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 124 , 0 , 123 , 123 , 0 , 0 , 0 , 0 ,
0 , 2 , 53 , 2 , 108 , 2 , 10 , 2 , 2 , 2 , 65 , 19 , 16 , 0 , 0 , 31 ,
0 , 2 , 2 , 0 , 0 , 0 , 0 , 0 , 0 , 29 , 2 , 2 , 2 , 2 , 2 , 2 ,
2 , 2 , 2 , 125 , 23 , 23 , 23 , 23 , 23 , 23 , 23 , 126 , 0 , 0 , 0 , 0 ,
0 , 11 , 11 , 11 , 11 , 11 , 11 , 11 , 11 , 11 , 2 , 0 , 0 , 0 , 0 , 0 ,
52 , 2 , 2 , 2 , 22 , 22 , 127 , 116 , 0 , 2 , 2 , 2 , 128 , 20 , 59 , 20 ,
113 , 102 , 129 , 0 , 0 , 0 , 0 , 0 , 0 , 11 , 130 , 2 , 2 , 2 , 2 , 2 ,
2 , 2 , 131 , 23 , 22 , 20 , 48 , 132 , 133 , 134 , 0 , 0 , 0 , 0 , 0 , 0 ,
0 , 2 , 2 , 52 , 30 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 10 , 22 , 59 ,
99 , 76 , 135 , 136 , 137 , 0 , 0 , 0 , 0 , 2 , 138 , 2 , 2 , 2 , 2 , 139 ,
0 , 30 , 2 , 42 , 5 , 0 , 79 , 15 , 2 , 53 , 22 , 140 , 52 , 53 , 2 , 2 ,
105 , 10 , 9 , 0 , 0 , 0 , 0 , 0 , 0 , 2 , 2 , 2 , 2 , 2 , 141 , 21 ,
25 , 0 , 0 , 142 , 143 , 0 , 0 , 0 , 0 , 2 , 65 , 45 , 23 , 80 , 47 , 144 ,
0 , 81 , 81 , 81 , 81 , 81 , 81 , 81 , 81 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
6 , 120 , 120 , 120 , 120 , 121 , 0 , 0 , 0 , 2 , 2 , 2 , 2 , 2 , 9 , 2 ,
2 , 2 , 9 , 2 , 30 , 2 , 2 , 2 , 2 , 2 , 30 , 2 , 2 , 2 , 30 , 9 ,
0 , 128 , 20 , 27 , 31 , 0 , 0 , 145 , 146 , 2 , 2 , 30 , 2 , 30 , 2 , 2 ,
2 , 2 , 2 , 2 , 0 , 14 , 37 , 0 , 147 , 2 , 2 , 13 , 37 , 0 , 30 , 2 ,
2 , 2 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 30 , 2 , 2 ,
9 , 2 , 2 , 11 , 41 , 0 , 0 , 0 , 0 , 2 , 2 , 2 , 0 , 27 , 22 , 22 ,
30 , 2 , 2 , 2 , 0 , 0 , 0 , 0 , 0 , 2 , 2 , 2 , 2 , 2 , 27 , 38 ,
0 , 2 , 2 , 2 , 116 , 116 , 116 , 116 , 116 , 148 , 2 , 9 , 0 , 0 , 0 , 0 ,
0 , 2 , 14 , 14 , 0 , 0 , 0 , 0 , 0 , 9 , 2 , 2 , 9 , 2 , 2 , 2 ,
2 , 30 , 2 , 9 , 0 , 30 , 2 , 0 , 0 , 149 , 150 , 151 , 2 , 2 , 2 , 2 ,
2 , 2 , 2 , 2 , 2 , 22 , 22 , 20 , 20 , 20 , 22 , 22 , 134 , 0 , 0 , 0 ,
0 , 0 , 152 , 152 , 152 , 152 , 152 , 152 , 152 , 152 , 152 , 152 , 2 , 2 , 2 , 2 ,
2 , 53 , 52 , 53 , 0 , 0 , 0 , 0 , 153 , 11 , 74 , 2 , 2 , 2 , 2 , 2 ,
2 , 18 , 19 , 21 , 16 , 24 , 37 , 0 , 0 , 0 , 31 , 0 , 0 , 0 , 0 , 0 ,
0 , 11 , 49 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 128 , 20 , 22 , 154 ,
22 , 21 , 155 , 156 , 2 , 2 , 2 , 2 , 2 , 0 , 0 , 65 , 157 , 0 , 0 , 0 ,
0 , 2 , 13 , 0 , 0 , 0 , 0 , 0 , 0 , 2 , 65 , 25 , 20 , 20 , 20 , 22 ,
22 , 108 , 158 , 0 , 0 , 56 , 159 , 31 , 160 , 30 , 2 , 2 , 2 , 2 , 2 , 2 ,
2 , 2 , 2 , 2 , 2 , 2 , 2 , 23 , 19 , 22 , 22 , 161 , 44 , 0 , 0 , 0 ,
49 , 128 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 2 , 2 , 2 , 9 , 9 , 2 , 2 ,
30 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 30 , 2 , 2 , 2 , 2 , 2 , 2 , 2 ,
10 , 18 , 19 , 21 , 22 , 162 , 31 , 0 , 0 , 11 , 11 , 30 , 2 , 2 , 2 , 9 ,
30 , 9 , 2 , 30 , 2 , 2 , 58 , 17 , 23 , 16 , 23 , 47 , 32 , 33 , 32 , 34 ,
0 , 0 , 0 , 0 , 35 , 0 , 0 , 0 , 2 , 2 , 23 , 0 , 11 , 11 , 11 , 46 ,
0 , 11 , 11 , 46 , 0 , 0 , 0 , 0 , 0 , 2 , 2 , 2 , 2 , 2 , 30 , 0 ,
9 , 2 , 2 , 2 , 30 , 45 , 59 , 20 , 20 , 31 , 33 , 32 , 32 , 25 , 163 , 29 ,
164 , 165 , 37 , 0 , 0 , 0 , 0 , 0 , 0 , 12 , 26 , 0 , 0 , 0 , 0 , 0 ,
0 , 2 , 2 , 65 , 25 , 20 , 20 , 20 , 22 , 23 , 126 , 15 , 17 , 0 , 0 , 0 ,
0 , 2 , 2 , 2 , 2 , 2 , 0 , 0 , 166 , 167 , 0 , 0 , 0 , 0 , 0 , 0 ,
0 , 18 , 19 , 20 , 20 , 66 , 99 , 25 , 160 , 11 , 168 , 9 , 0 , 0 , 0 , 0 ,
0 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 65 , 25 , 20 , 20 , 0 , 48 , 48 , 11 ,
169 , 37 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 2 , 2 , 20 ,
0 , 23 , 19 , 20 , 20 , 21 , 16 , 82 , 169 , 38 , 0 , 0 , 0 , 0 , 0 , 0 ,
0 , 2 , 2 , 2 , 2 , 2 , 10 , 170 , 25 , 20 , 22 , 22 , 168 , 9 , 0 , 0 ,
0 , 2 , 2 , 2 , 2 , 2 , 9 , 43 , 136 , 23 , 22 , 20 , 76 , 21 , 22 , 0 ,
0 , 2 , 2 , 2 , 9 , 0 , 0 , 0 , 0 , 2 , 2 , 2 , 2 , 2 , 2 , 18 ,
19 , 20 , 21 , 22 , 105 , 169 , 37 , 0 , 0 , 2 , 2 , 2 , 9 , 30 , 0 , 2 ,
2 , 2 , 2 , 30 , 9 , 2 , 2 , 2 , 2 , 23 , 23 , 18 , 32 , 33 , 12 , 171 ,
165 , 172 , 173 , 0 , 0 , 0 , 0 , 0 , 0 , 2 , 2 , 2 , 2 , 0 , 2 , 2 ,
2 , 65 , 25 , 20 , 20 , 0 , 22 , 23 , 29 , 108 , 0 , 33 , 0 , 0 , 0 , 0 ,
0 , 52 , 20 , 22 , 22 , 22 , 140 , 2 , 2 , 2 , 174 , 175 , 11 , 15 , 176 , 61 ,
177 , 0 , 0 , 1 , 147 , 0 , 0 , 0 , 0 , 52 , 20 , 22 , 16 , 19 , 20 , 2 ,
2 , 2 , 2 , 158 , 158 , 158 , 178 , 178 , 178 , 178 , 178 , 178 , 15 , 179 , 0 , 30 ,
0 , 22 , 20 , 20 , 31 , 22 , 22 , 11 , 169 , 0 , 61 , 61 , 61 , 61 , 61 , 61 ,
61 , 66 , 21 , 82 , 46 , 0 , 0 , 0 , 0 , 2 , 2 , 2 , 9 , 2 , 30 , 2 ,
2 , 52 , 22 , 22 , 31 , 0 , 38 , 22 , 27 , 11 , 159 , 180 , 181 , 0 , 0 , 0 ,
0 , 2 , 2 , 2 , 30 , 9 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 23 , 23 ,
47 , 22 , 35 , 82 , 68 , 0 , 0 , 0 , 0 , 2 , 182 , 66 , 47 , 0 , 0 , 0 ,
0 , 11 , 183 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 23 , 22 , 20 , 31 , 0 ,
48 , 16 , 143 , 0 , 0 , 0 , 0 , 0 , 0 , 2 , 2 , 2 , 2 , 2 , 156 , 0 ,
0 , 184 , 184 , 184 , 184 , 184 , 184 , 184 , 184 , 185 , 185 , 185 , 186 , 187 , 185 , 184 ,
184 , 188 , 184 , 184 , 189 , 190 , 190 , 190 , 190 , 190 , 190 , 190 , 0 , 0 , 0 , 0 ,
0 , 184 , 184 , 184 , 184 , 184 , 191 , 0 , 0 , 2 , 2 , 2 , 2 , 2 , 2 , 2 ,
22 , 22 , 22 , 22 , 22 , 22 , 192 , 193 , 194 , 11 , 11 , 11 , 46 , 0 , 0 , 0 ,
0 , 29 , 74 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 65 , 47 ,
0 , 2 , 2 , 2 , 2 , 2 , 9 , 0 , 58 , 195 , 20 , 20 , 20 , 20 , 20 , 20 ,
20 , 20 , 20 , 20 , 20 , 20 , 20 , 20 , 20 , 20 , 20 , 20 , 20 , 0 , 0 , 0 ,
40 , 116 , 26 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 9 , 0 , 0 , 0 , 0 ,
0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 30 , 2 , 2 , 2 , 2 , 2 , 0 , 58 ,
37 , 0 , 6 , 120 , 120 , 120 , 121 , 0 , 0 , 11 , 11 , 11 , 49 , 2 , 2 , 2 ,
0 , 2 , 2 , 2 , 2 , 2 , 0 , 0 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 ,
46 , 2 , 2 , 2 , 2 , 2 , 2 , 11 , 11 , 2 , 2 , 2 , 2 , 2 , 2 , 22 ,
22 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 20 , 2 , 2 , 44 , 44 , 44 , 92 , 0 ,
0 , O, O, O, GB, B, B, O, SB, O, SE, GB, O, O, WJ,FMPst,
FMPst, O, CGJ, B, O, B,VMAbv,VMAbv,VMAbv, O,VMAbv, B,CMBlw,CMBlw,CMBlw,VMAbv,
VMPst, VAbv, VPst,CMBlw, B, VPst, VPre, VPst, VBlw, VBlw, VBlw, VBlw, VAbv, VAbv, VAbv, VPst,
VPst, VPst, H, VPre, VPst,VMBlw, O, O, VAbv, GB,VMAbv,VMPst,VMPst, O, B, VBlw,
O, O, VPre, VPre, O, VPre, H, O, VPst,FMAbv, O,CMBlw, O, VAbv, O, VAbv,
H, O,VMBlw,VMAbv,CMAbv, GB, GB, O, MBlw,CMAbv,CMAbv, VPst, VAbv,VMAbv, O, VPst,
O, VPre, VPre,VMAbv, B, O, CS, CS,VMPst, B, VAbv, VAbv, B, R, O, HVM,
O, O,FMBlw, O,CMAbv, O,CMBlw, VAbv, VBlw, B, SUB, SUB, SUB, O, SUB, SUB,
O,FMBlw, O, B, VPst, VBlw, VPre,VMAbv,VMBlw,VMPst, IS, VAbv, MPst, MPre, MBlw, MBlw,
B, MBlw, MBlw, VPst,VMPst,VMPst, B, MBlw, VPst, VPre, VAbv, VAbv,VMPst,VMPst,VMBlw, B,
VMPst, VBlw, VPst, CGJ, CGJ, VPst,VMAbv,VMAbv,FMAbv, FAbv,CMAbv,FMAbv,VMAbv,FMAbv, VAbv, IS,
FMAbv, B,FMAbv, B, CGJ, WJ, CGJ, GB,CMAbv,CMAbv, B, GB, B, VAbv, SUB, FPst,
FPst,VMBlw, FPst, FPst, FBlw,VMAbv,FMBlw, VAbv, VPre, B, MPre, MBlw, SUB, FAbv, FAbv, MAbv,
SUB, Sk, VPst, VAbv,VMAbv,VMAbv, FAbv,CMAbv, VPst, H, B, O,SMAbv,SMAbv,SMAbv, VPst,
IS, RK, RK, VBlw, FAbv,VMPre,VMPre,FMAbv,CMBlw,VMBlw,VMBlw,VMAbv, CS, O,FMAbv, ZWNJ,
CGJ, WJ, WJ, WJ, O,FMPst, O, SB, SE, O, H, MPst, VPst, H,VMAbv, VAbv,
VMBlw, B, VBlw, FPst, VPst, FAbv,VMPst, B,CMAbv, VAbv, MBlw, MPst, MBlw, H, O, VBlw,
MPst, MPre, MAbv, MBlw, O, B, FAbv, FAbv, FPst, VBlw, B, B, VPre, O,VMPst, IS,
O,VMPst, VBlw, VPst,VMBlw,VMBlw,VMAbv, O, IS,VMBlw, B,VMPst,VMAbv,VMPst, CS, CS,
B, N, N, O, HN, VPre, VBlw, VAbv, IS,CMAbv, O, VPst, B, R, R,CMBlw,
VAbv, VPre,VMAbv,VMAbv, H, VAbv,CMBlw,VMPst, O,VMAbv,CMBlw, IS, R,FMAbv, B, CS,
CS, H,CMBlw,VMPst, H,VMPst, VAbv,VMAbv, VPst, MPst, R, MPst,CMBlw, B,FMBlw, VBlw,
VMAbv, CS, SUB, SUB, GB, FBlw, FBlw,CMAbv, IS, VBlw, IS, R, MBlw, GB, VAbv, R,
VMPst, G, G, J, J, J, SB, SE, J, HR, G, G, HM, HM, HM, G,
O, MPre, MPre, MPst,VMAbv, MBlw, VBlw, O, VBlw,
};
static const uint16_t
hb_use_u16[486 ] =
{
0 , 0 , 1 , 2 , 0 , 3 , 4 , 5 , 0 , 6 , 7 , 0 , 8 , 0 , 9 , 10 ,
11 , 12 , 10 , 13 , 14 , 10 , 10 , 15 , 16 , 17 , 18 , 19 , 20 , 21 , 22 , 23 ,
24 , 25 , 18 , 26 , 27 , 21 , 22 , 28 , 29 , 30 , 31 , 32 , 33 , 34 , 22 , 35 ,
36 , 0 , 18 , 37 , 38 , 21 , 22 , 39 , 24 , 40 , 18 , 41 , 42 , 43 , 44 , 45 ,
46 , 47 , 31 , 0 , 48 , 49 , 22 , 50 , 51 , 52 , 18 , 0 , 53 , 49 , 22 , 54 ,
51 , 55 , 18 , 56 , 57 , 49 , 10 , 58 , 59 , 60 , 61 , 62 , 10 , 63 , 64 , 65 ,
31 , 66 , 67 , 68 , 10 , 69 , 70 , 10 , 71 , 72 , 73 , 74 , 75 , 76 , 77 , 0 ,
10 , 10 , 78 , 79 , 80 , 81 , 82 , 83 , 84 , 85 , 10 , 86 , 10 , 87 , 10 , 88 ,
89 , 90 , 10 , 91 , 92 , 93 , 2 , 0 , 94 , 0 , 10 , 95 , 96 , 10 , 97 , 0 ,
98 , 99 ,100 ,101 , 31 , 10 ,102 ,103 ,104 , 10 ,105 ,106 , 10 ,107 , 10 ,108 ,
109 ,110 , 2 , 2 ,111 , 10 , 10 ,112 ,113 , 2 ,114 ,115 ,116 , 10 ,117 , 10 ,
118 ,119 ,120 ,121 ,122 , 0 , 0 ,123 ,124 ,125 , 0 ,126 ,127 ,128 ,129 , 0 ,
130 ,131 ,132 , 0 , 0 ,133 ,134 , 0 ,135 , 0 , 0 , 10 ,136 ,137 ,138 , 0 ,
139 , 10 ,140 , 0 , 10 ,141 ,142 , 10 , 10 ,143 ,144 , 2 ,145 ,146 ,147 , 10 ,
148 ,149 ,150 , 10 , 10 ,151 ,152 , 2 ,153 , 99 ,154 ,155 ,156 , 2 , 10 ,157 ,
10 ,158 ,159 , 0 ,160 ,161 ,162 , 2 ,163 , 0 , 0 ,164 , 0 ,165 , 0 ,166 ,
166 ,167 , 34 ,168 ,169 ,170 , 10 ,171 , 95 , 0 ,172 , 0 , 10 ,173 ,174 , 0 ,
175 , 2 ,176 , 10 ,177 , 0 ,178 ,173 ,179 ,180 ,181 , 0 , 0 ,182 ,183 , 0 ,
184 , 10 , 10 ,185 ,186 ,187 ,188 ,189 ,190 , 10 , 10 ,191 ,192 , 0 ,193 , 10 ,
194 ,195 ,196 , 10 , 10 ,197 , 10 ,198 ,199 ,106 ,200 ,103 , 10 , 34 ,201 ,202 ,
203 , 0 ,204 ,205 , 95 , 10 , 10 ,206 ,207 , 2 ,208 , 21 , 22 ,209 ,210 ,211 ,
212 ,213 ,214 , 10 , 10 ,215 ,216 ,217 ,218 , 0 , 10 ,219 ,220 ,221 ,222 , 0 ,
200 , 10 , 10 ,223 ,224 , 2 ,225 ,226 ,227 ,228 , 10 ,229 ,230 , 2 ,231 ,232 ,
2 , 10 ,141 , 0 , 10 ,233 ,234 ,104 ,235 , 0 ,236 ,237 ,238 ,239 , 10 ,240 ,
241 , 2 ,242 , 10 , 10 ,243 ,244 , 0 ,245 , 10 , 10 ,246 ,247 ,248 ,249 ,250 ,
22 , 10 ,225 ,251 , 8 , 10 , 71 , 19 , 10 ,252 , 74 ,253 ,254 , 10 , 10 ,255 ,
256 , 2 ,257 , 10 ,258 ,259 , 10 ,260 ,261 , 49 , 10 ,262 ,263 ,264 ,265 ,265 ,
265 ,266 ,267 ,268 ,265 ,269 , 10 ,270 ,271 , 2 , 10 ,272 ,273 , 10 ,274 , 2 ,
275 ,276 ,277 ,277 ,278 ,279 ,280 , 0 , 10 ,177 , 0 ,281 ,106 , 71 , 95 ,282 ,
0 ,283 , 71 ,284 ,285 , 0 ,286 , 0 ,287 , 2 ,288 , 2 ,289 ,106 ,290 , 2 ,
130 ,130 ,163 ,163 ,163 ,130 ,
};
static inline unsigned
hb_use_b4 (const uint8_t* a, unsigned i)
{
return (a[i>>1 ]>>((i&1 u)<<2 ))&15 u;
}
static inline uint_fast8_t
hb_use_get_category (unsigned u)
{
return u<921600 u?hb_use_u8[3265 +(((hb_use_u8[937 +(((hb_use_u16[((hb_use_u8[369 +(((hb_use_u8[113 +(((hb_use_b4(hb_use_u8,u>>1 >>3 >>1 >>3 >>4 ))<<4 )+((u>>1 >>3 >>1 >>3 )&>15 u))])<<3 )+((u>>1 >>3 >>1 )&7 u))])<<1 )+((u>>1 >>3 )&1 u)])<<3 )+((u>>1 )&7 u))])<<1 )+((u)&>1 u))]:O;
}
#endif
#undef B
#undef CGJ
#undef CS
#undef G
#undef GB
#undef H
#undef HM
#undef HN
#undef HR
#undef HVM
#undef IS
#undef J
#undef N
#undef O
#undef R
#undef RK
#undef SB
#undef SE
#undef SUB
#undef Sk
#undef WJ
#undef ZWNJ
#undef CMAbv
#undef CMBlw
#undef FAbv
#undef FBlw
#undef FPst
#undef FMAbv
#undef FMBlw
#undef FMPst
#undef MAbv
#undef MBlw
#undef MPst
#undef MPre
#undef SMAbv
#undef SMBlw
#undef VAbv
#undef VBlw
#undef VPst
#undef VPre
#undef VMAbv
#undef VMBlw
#undef VMPst
#undef VMPre
#endif /* HB_OT_SHAPER_USE_TABLE_HH */
/* == End of generated table == */
Messung V0.5 in Prozent C=97 H=100 G=98