text: /*-------------------------------------------------------------------------
  This is an automatically generated file: do not edit
  Generated by ubconfc at Fri Jun  4 04:17:56 PM IST 2021
  @generated
  -------------------------------------------------------------------------*/
  
  #include "WCsubst.h"
  
  /* Unicode general categories, listed in the same order as in the Unicode
   * standard -- this must be the same order as in GHC.Unicode.
   */
  
  enum {
      NUMCAT_LU,  /* Letter, Uppercase */
      NUMCAT_LL,  /* Letter, Lowercase */
      NUMCAT_LT,  /* Letter, Titlecase */
      NUMCAT_LM,  /* Letter, Modifier */
      NUMCAT_LO,  /* Letter, Other */
      NUMCAT_MN,  /* Mark, Non-Spacing */
      NUMCAT_MC,  /* Mark, Spacing Combining */
      NUMCAT_ME,  /* Mark, Enclosing */
      NUMCAT_ND,  /* Number, Decimal */
      NUMCAT_NL,  /* Number, Letter */
      NUMCAT_NO,  /* Number, Other */
      NUMCAT_PC,  /* Punctuation, Connector */
      NUMCAT_PD,  /* Punctuation, Dash */
      NUMCAT_PS,  /* Punctuation, Open */
      NUMCAT_PE,  /* Punctuation, Close */
      NUMCAT_PI,  /* Punctuation, Initial quote */
      NUMCAT_PF,  /* Punctuation, Final quote */
      NUMCAT_PO,  /* Punctuation, Other */
      NUMCAT_SM,  /* Symbol, Math */
      NUMCAT_SC,  /* Symbol, Currency */
      NUMCAT_SK,  /* Symbol, Modifier */
      NUMCAT_SO,  /* Symbol, Other */
      NUMCAT_ZS,  /* Separator, Space */
      NUMCAT_ZL,  /* Separator, Line */
      NUMCAT_ZP,  /* Separator, Paragraph */
      NUMCAT_CC,  /* Other, Control */
      NUMCAT_CF,  /* Other, Format */
      NUMCAT_CS,  /* Other, Surrogate */
      NUMCAT_CO,  /* Other, Private Use */
      NUMCAT_CN   /* Other, Not Assigned */
  };
  
  struct _convrule_ 
  { 
  	unsigned int category;
  	unsigned int catnumber;
  	int possible;
  	int updist;
  	int lowdist; 
  	int titledist;
  };
  
  struct _charblock_ 
  { 
  	int start;
  	int length;
  	const struct _convrule_ *rule;
  };
  
  #define GENCAT_ZP 67108864
  #define GENCAT_MC 8388608
  #define GENCAT_NO 131072
  #define GENCAT_SK 1024
  #define GENCAT_CO 268435456
  #define GENCAT_ME 4194304
  #define GENCAT_ND 256
  #define GENCAT_PO 4
  #define GENCAT_LT 524288
  #define GENCAT_PC 2048
  #define GENCAT_SM 64
  #define GENCAT_ZS 2
  #define GENCAT_CC 1
  #define GENCAT_LU 512
  #define GENCAT_PD 128
  #define GENCAT_SO 8192
  #define GENCAT_PE 32
  #define GENCAT_CS 134217728
  #define GENCAT_PF 262144
  #define GENCAT_CF 65536
  #define GENCAT_PS 16
  #define GENCAT_SC 8
  #define GENCAT_LL 4096
  #define GENCAT_ZL 33554432
  #define GENCAT_LM 1048576
  #define GENCAT_PI 32768
  #define GENCAT_NL 16777216
  #define GENCAT_MN 2097152
  #define GENCAT_LO 16384
  #define MAX_UNI_CHAR 1114109
  #define NUM_BLOCKS 3396
  #define NUM_CONVBLOCKS 1332
  #define NUM_SPACEBLOCKS 7
  #define NUM_LAT1BLOCKS 63
  #define NUM_RULES 205
  static const struct _convrule_ rule183={GENCAT_LU, NUMCAT_LU, 1, 0, -35332, 0};
  static const struct _convrule_ rule171={GENCAT_SO, NUMCAT_SO, 1, -26, 0, -26};
  static const struct _convrule_ rule182={GENCAT_LL, NUMCAT_LL, 1, -7264, 0, -7264};
  static const struct _convrule_ rule188={GENCAT_LU, NUMCAT_LU, 1, 0, -42315, 0};
  static const struct _convrule_ rule143={GENCAT_LL, NUMCAT_LL, 1, 8, 0, 8};
  static const struct _convrule_ rule127={GENCAT_LU, NUMCAT_LU, 1, 0, 38864, 0};
  static const struct _convrule_ rule90={GENCAT_LL, NUMCAT_LL, 1, 42258, 0, 42258};
  static const struct _convrule_ rule20={GENCAT_LL, NUMCAT_LL, 0, 0, 0, 0};
  static const struct _convrule_ rule76={GENCAT_LL, NUMCAT_LL, 1, 10743, 0, 10743};
  static const struct _convrule_ rule61={GENCAT_LL, NUMCAT_LL, 1, 10783, 0, 10783};
  static const struct _convrule_ rule132={GENCAT_LL, NUMCAT_LL, 1, -6242, 0, -6242};
  static const struct _convrule_ rule37={GENCAT_LU, NUMCAT_LU, 1, 0, 211, 0};
  static const struct _convrule_ rule197={GENCAT_LL, NUMCAT_LL, 1, -928, 0, -928};
  static const struct _convrule_ rule80={GENCAT_LL, NUMCAT_LL, 1, -214, 0, -214};
  static const struct _convrule_ rule75={GENCAT_LL, NUMCAT_LL, 1, -211, 0, -211};
  static const struct _convrule_ rule123={GENCAT_LL, NUMCAT_LL, 1, -48, 0, -48};
  static const struct _convrule_ rule52={GENCAT_LU, NUMCAT_LU, 1, 0, -56, 0};
  static const struct _convrule_ rule149={GENCAT_LL, NUMCAT_LL, 1, 112, 0, 112};
  static const struct _convrule_ rule71={GENCAT_LL, NUMCAT_LL, 1, -207, 0, -207};
  static const struct _convrule_ rule125={GENCAT_LU, NUMCAT_LU, 1, 0, 7264, 0};
  static const struct _convrule_ rule166={GENCAT_LU, NUMCAT_LU, 1, 0, 28, 0};
  static const struct _convrule_ rule173={GENCAT_LU, NUMCAT_LU, 1, 0, -3814, 0};
  static const struct _convrule_ rule45={GENCAT_LU, NUMCAT_LU, 1, 0, 219, 0};
  static const struct _convrule_ rule7={GENCAT_PD, NUMCAT_PD, 0, 0, 0, 0};
  static const struct _convrule_ rule202={GENCAT_LL, NUMCAT_LL, 1, -40, 0, -40};
  static const struct _convrule_ rule99={GENCAT_LL, NUMCAT_LL, 1, -38, 0, -38};
  static const struct _convrule_ rule97={GENCAT_LU, NUMCAT_LU, 1, 0, 64, 0};
  static const struct _convrule_ rule1={GENCAT_ZS, NUMCAT_ZS, 0, 0, 0, 0};
  static const struct _convrule_ rule89={GENCAT_LL, NUMCAT_LL, 1, 42261, 0, 42261};
  static const struct _convrule_ rule29={GENCAT_LU, NUMCAT_LU, 1, 0, 210, 0};
  static const struct _convrule_ rule35={GENCAT_LU, NUMCAT_LU, 1, 0, 207, 0};
  static const struct _convrule_ rule168={GENCAT_NL, NUMCAT_NL, 1, 0, 16, 0};
  static const struct _convrule_ rule13={GENCAT_SO, NUMCAT_SO, 0, 0, 0, 0};
  static const struct _convrule_ rule163={GENCAT_LU, NUMCAT_LU, 1, 0, -7517, 0};
  static const struct _convrule_ rule142={GENCAT_LU, NUMCAT_LU, 1, 0, -7615, 0};
  static const struct _convrule_ rule137={GENCAT_LU, NUMCAT_LU, 1, 0, -3008, 0};
  static const struct _convrule_ rule100={GENCAT_LL, NUMCAT_LL, 1, -37, 0, -37};
  static const struct _convrule_ rule2={GENCAT_PO, NUMCAT_PO, 0, 0, 0, 0};
  static const struct _convrule_ rule69={GENCAT_LL, NUMCAT_LL, 1, 42319, 0, 42319};
  static const struct _convrule_ rule56={GENCAT_LU, NUMCAT_LU, 1, 0, 10792, 0};
  static const struct _convrule_ rule25={GENCAT_LL, NUMCAT_LL, 1, -232, 0, -232};
  static const struct _convrule_ rule43={GENCAT_LU, NUMCAT_LU, 1, 0, 218, 0};
  static const struct _convrule_ rule179={GENCAT_LU, NUMCAT_LU, 1, 0, -10783, 0};
  static const struct _convrule_ rule147={GENCAT_LL, NUMCAT_LL, 1, 100, 0, 100};
  static const struct _convrule_ rule98={GENCAT_LU, NUMCAT_LU, 1, 0, 63, 0};
  static const struct _convrule_ rule92={GENCAT_MN, NUMCAT_MN, 0, 0, 0, 0};
  static const struct _convrule_ rule12={GENCAT_LL, NUMCAT_LL, 1, -32, 0, -32};
  static const struct _convrule_ rule95={GENCAT_LU, NUMCAT_LU, 1, 0, 38, 0};
  static const struct _convrule_ rule140={GENCAT_LL, NUMCAT_LL, 1, 35384, 0, 35384};
  static const struct _convrule_ rule101={GENCAT_LL, NUMCAT_LL, 1, -31, 0, -31};
  static const struct _convrule_ rule204={GENCAT_LL, NUMCAT_LL, 1, -34, 0, -34};
  static const struct _convrule_ rule107={GENCAT_LU, NUMCAT_LU, 0, 0, 0, 0};
  static const struct _convrule_ rule11={GENCAT_PC, NUMCAT_PC, 0, 0, 0, 0};
  static const struct _convrule_ rule192={GENCAT_LU, NUMCAT_LU, 1, 0, -42261, 0};
  static const struct _convrule_ rule190={GENCAT_LU, NUMCAT_LU, 1, 0, -42258, 0};
  static const struct _convrule_ rule158={GENCAT_LU, NUMCAT_LU, 1, 0, -112, 0};
  static const struct _convrule_ rule15={GENCAT_PI, NUMCAT_PI, 0, 0, 0, 0};
  static const struct _convrule_ rule146={GENCAT_LL, NUMCAT_LL, 1, 86, 0, 86};
  static const struct _convrule_ rule124={GENCAT_MC, NUMCAT_MC, 0, 0, 0, 0};
  static const struct _convrule_ rule139={GENCAT_LL, NUMCAT_LL, 1, 3814, 0, 3814};
  static const struct _convrule_ rule44={GENCAT_LU, NUMCAT_LU, 1, 0, 217, 0};
  static const struct _convrule_ rule167={GENCAT_LL, NUMCAT_LL, 1, -28, 0, -28};
  static const struct _convrule_ rule200={GENCAT_CO, NUMCAT_CO, 0, 0, 0, 0};
  static const struct _convrule_ rule196={GENCAT_LU, NUMCAT_LU, 1, 0, -35384, 0};
  static const struct _convrule_ rule116={GENCAT_LL, NUMCAT_LL, 1, -96, 0, -96};
  static const struct _convrule_ rule185={GENCAT_LL, NUMCAT_LL, 1, 48, 0, 48};
  static const struct _convrule_ rule51={GENCAT_LU, NUMCAT_LU, 1, 0, -97, 0};
  static const struct _convrule_ rule39={GENCAT_LL, NUMCAT_LL, 1, 163, 0, 163};
  static const struct _convrule_ rule201={GENCAT_LU, NUMCAT_LU, 1, 0, 40, 0};
  static const struct _convrule_ rule128={GENCAT_NL, NUMCAT_NL, 0, 0, 0, 0};
  static const struct _convrule_ rule126={GENCAT_LL, NUMCAT_LL, 1, 3008, 0, 0};
  static const struct _convrule_ rule96={GENCAT_LU, NUMCAT_LU, 1, 0, 37, 0};
  static const struct _convrule_ rule82={GENCAT_LL, NUMCAT_LL, 1, -218, 0, -218};
  static const struct _convrule_ rule120={GENCAT_LU, NUMCAT_LU, 1, 0, 15, 0};
  static const struct _convrule_ rule67={GENCAT_LL, NUMCAT_LL, 1, -202, 0, -202};
  static const struct _convrule_ rule66={GENCAT_LL, NUMCAT_LL, 1, -205, 0, -205};
  static const struct _convrule_ rule47={GENCAT_LU, NUMCAT_LU, 1, 0, 2, 1};
  static const struct _convrule_ rule136={GENCAT_LL, NUMCAT_LL, 1, 35266, 0, 35266};
  static const struct _convrule_ rule83={GENCAT_LL, NUMCAT_LL, 1, 42307, 0, 42307};
  static const struct _convrule_ rule30={GENCAT_LU, NUMCAT_LU, 1, 0, 206, 0};
  static const struct _convrule_ rule111={GENCAT_LL, NUMCAT_LL, 1, -86, 0, -86};
  static const struct _convrule_ rule4={GENCAT_PS, NUMCAT_PS, 0, 0, 0, 0};
  static const struct _convrule_ rule3={GENCAT_SC, NUMCAT_SC, 0, 0, 0, 0};
  static const struct _convrule_ rule164={GENCAT_LU, NUMCAT_LU, 1, 0, -8383, 0};
  static const struct _convrule_ rule122={GENCAT_LU, NUMCAT_LU, 1, 0, 48, 0};
  static const struct _convrule_ rule14={GENCAT_LO, NUMCAT_LO, 0, 0, 0, 0};
  static const struct _convrule_ rule18={GENCAT_LL, NUMCAT_LL, 1, 743, 0, 743};
  static const struct _convrule_ rule161={GENCAT_ZL, NUMCAT_ZL, 0, 0, 0, 0};
  static const struct _convrule_ rule156={GENCAT_LU, NUMCAT_LU, 1, 0, -86, 0};
  static const struct _convrule_ rule186={GENCAT_LU, NUMCAT_LU, 1, 0, -42308, 0};
  static const struct _convrule_ rule176={GENCAT_LL, NUMCAT_LL, 1, -10792, 0, -10792};
  static const struct _convrule_ rule180={GENCAT_LU, NUMCAT_LU, 1, 0, -10782, 0};
  static const struct _convrule_ rule198={GENCAT_LL, NUMCAT_LL, 1, -38864, 0, -38864};
  static const struct _convrule_ rule153={GENCAT_LU, NUMCAT_LU, 1, 0, -74, 0};
  static const struct _convrule_ rule24={GENCAT_LU, NUMCAT_LU, 1, 0, -199, 0};
  static const struct _convrule_ rule157={GENCAT_LU, NUMCAT_LU, 1, 0, -100, 0};
  static const struct _convrule_ rule138={GENCAT_LL, NUMCAT_LL, 1, 35332, 0, 35332};
  static const struct _convrule_ rule155={GENCAT_LL, NUMCAT_LL, 1, -7205, 0, -7205};
  static const struct _convrule_ rule152={GENCAT_LL, NUMCAT_LL, 1, 9, 0, 9};
  static const struct _convrule_ rule27={GENCAT_LL, NUMCAT_LL, 1, -300, 0, -300};
  static const struct _convrule_ rule187={GENCAT_LU, NUMCAT_LU, 1, 0, -42319, 0};
  static const struct _convrule_ rule31={GENCAT_LU, NUMCAT_LU, 1, 0, 205, 0};
  static const struct _convrule_ rule59={GENCAT_LU, NUMCAT_LU, 1, 0, 69, 0};
  static const struct _convrule_ rule6={GENCAT_SM, NUMCAT_SM, 0, 0, 0, 0};
  static const struct _convrule_ rule121={GENCAT_LL, NUMCAT_LL, 1, -15, 0, -15};
  static const struct _convrule_ rule112={GENCAT_LL, NUMCAT_LL, 1, -80, 0, -80};
  static const struct _convrule_ rule191={GENCAT_LU, NUMCAT_LU, 1, 0, -42282, 0};
  static const struct _convrule_ rule133={GENCAT_LL, NUMCAT_LL, 1, -6243, 0, -6243};
  static const struct _convrule_ rule130={GENCAT_LL, NUMCAT_LL, 1, -6253, 0, -6253};
  static const struct _convrule_ rule165={GENCAT_LU, NUMCAT_LU, 1, 0, -8262, 0};
  static const struct _convrule_ rule144={GENCAT_LU, NUMCAT_LU, 1, 0, -8, 0};
  static const struct _convrule_ rule26={GENCAT_LU, NUMCAT_LU, 1, 0, -121, 0};
  static const struct _convrule_ rule0={GENCAT_CC, NUMCAT_CC, 0, 0, 0, 0};
  static const struct _convrule_ rule113={GENCAT_LL, NUMCAT_LL, 1, 7, 0, 7};
  static const struct _convrule_ rule93={GENCAT_MN, NUMCAT_MN, 1, 84, 0, 84};
  static const struct _convrule_ rule78={GENCAT_LL, NUMCAT_LL, 1, 10749, 0, 10749};
  static const struct _convrule_ rule77={GENCAT_LL, NUMCAT_LL, 1, 42305, 0, 42305};
  static const struct _convrule_ rule70={GENCAT_LL, NUMCAT_LL, 1, 42315, 0, 42315};
  static const struct _convrule_ rule50={GENCAT_LL, NUMCAT_LL, 1, -79, 0, -79};
  static const struct _convrule_ rule60={GENCAT_LU, NUMCAT_LU, 1, 0, 71, 0};
  static const struct _convrule_ rule22={GENCAT_LU, NUMCAT_LU, 1, 0, 1, 0};
  static const struct _convrule_ rule49={GENCAT_LL, NUMCAT_LL, 1, -2, 0, -1};
  static const struct _convrule_ rule94={GENCAT_LU, NUMCAT_LU, 1, 0, 116, 0};
  static const struct _convrule_ rule84={GENCAT_LL, NUMCAT_LL, 1, 42282, 0, 42282};
  static const struct _convrule_ rule169={GENCAT_NL, NUMCAT_NL, 1, -16, 0, -16};
  static const struct _convrule_ rule104={GENCAT_LU, NUMCAT_LU, 1, 0, 8, 0};
  static const struct _convrule_ rule23={GENCAT_LL, NUMCAT_LL, 1, -1, 0, -1};
  static const struct _convrule_ rule88={GENCAT_LL, NUMCAT_LL, 1, -219, 0, -219};
  static const struct _convrule_ rule79={GENCAT_LL, NUMCAT_LL, 1, -213, 0, -213};
  static const struct _convrule_ rule64={GENCAT_LL, NUMCAT_LL, 1, -210, 0, -210};
  static const struct _convrule_ rule177={GENCAT_LU, NUMCAT_LU, 1, 0, -10780, 0};
  static const struct _convrule_ rule87={GENCAT_LL, NUMCAT_LL, 1, -71, 0, -71};
  static const struct _convrule_ rule85={GENCAT_LL, NUMCAT_LL, 1, -69, 0, -69};
  static const struct _convrule_ rule32={GENCAT_LU, NUMCAT_LU, 1, 0, 79, 0};
  static const struct _convrule_ rule195={GENCAT_LU, NUMCAT_LU, 1, 0, -42307, 0};
  static const struct _convrule_ rule117={GENCAT_LU, NUMCAT_LU, 1, 0, -7, 0};
  static const struct _convrule_ rule74={GENCAT_LL, NUMCAT_LL, 1, -209, 0, -209};
  static const struct _convrule_ rule199={GENCAT_CS, NUMCAT_CS, 0, 0, 0, 0};
  static const struct _convrule_ rule154={GENCAT_LT, NUMCAT_LT, 1, 0, -9, 0};
  static const struct _convrule_ rule57={GENCAT_LL, NUMCAT_LL, 1, 10815, 0, 10815};
  static const struct _convrule_ rule72={GENCAT_LL, NUMCAT_LL, 1, 42280, 0, 42280};
  static const struct _convrule_ rule34={GENCAT_LU, NUMCAT_LU, 1, 0, 203, 0};
  static const struct _convrule_ rule194={GENCAT_LU, NUMCAT_LU, 1, 0, -48, 0};
  static const struct _convrule_ rule63={GENCAT_LL, NUMCAT_LL, 1, 10782, 0, 10782};
  static const struct _convrule_ rule184={GENCAT_LU, NUMCAT_LU, 1, 0, -42280, 0};
  static const struct _convrule_ rule159={GENCAT_LU, NUMCAT_LU, 1, 0, -128, 0};
  static const struct _convrule_ rule102={GENCAT_LL, NUMCAT_LL, 1, -64, 0, -64};
  static const struct _convrule_ rule17={GENCAT_NO, NUMCAT_NO, 0, 0, 0, 0};
  static const struct _convrule_ rule91={GENCAT_LM, NUMCAT_LM, 0, 0, 0, 0};
  static const struct _convrule_ rule46={GENCAT_LL, NUMCAT_LL, 1, 56, 0, 56};
  static const struct _convrule_ rule145={GENCAT_LL, NUMCAT_LL, 1, 74, 0, 74};
  static const struct _convrule_ rule42={GENCAT_LU, NUMCAT_LU, 1, 0, 214, 0};
  static const struct _convrule_ rule162={GENCAT_ZP, NUMCAT_ZP, 0, 0, 0, 0};
  static const struct _convrule_ rule103={GENCAT_LL, NUMCAT_LL, 1, -63, 0, -63};
  static const struct _convrule_ rule36={GENCAT_LL, NUMCAT_LL, 1, 97, 0, 97};
  static const struct _convrule_ rule151={GENCAT_LT, NUMCAT_LT, 1, 0, -8, 0};
  static const struct _convrule_ rule148={GENCAT_LL, NUMCAT_LL, 1, 128, 0, 128};
  static const struct _convrule_ rule81={GENCAT_LL, NUMCAT_LL, 1, 10727, 0, 10727};
  static const struct _convrule_ rule62={GENCAT_LL, NUMCAT_LL, 1, 10780, 0, 10780};
  static const struct _convrule_ rule41={GENCAT_LL, NUMCAT_LL, 1, 130, 0, 130};
  static const struct _convrule_ rule203={GENCAT_LU, NUMCAT_LU, 1, 0, 34, 0};
  static const struct _convrule_ rule134={GENCAT_LL, NUMCAT_LL, 1, -6236, 0, -6236};
  static const struct _convrule_ rule68={GENCAT_LL, NUMCAT_LL, 1, -203, 0, -203};
  static const struct _convrule_ rule65={GENCAT_LL, NUMCAT_LL, 1, -206, 0, -206};
  static const struct _convrule_ rule48={GENCAT_LT, NUMCAT_LT, 1, -1, 1, 0};
  static const struct _convrule_ rule19={GENCAT_PF, NUMCAT_PF, 0, 0, 0, 0};
  static const struct _convrule_ rule33={GENCAT_LU, NUMCAT_LU, 1, 0, 202, 0};
  static const struct _convrule_ rule105={GENCAT_LL, NUMCAT_LL, 1, -62, 0, -62};
  static const struct _convrule_ rule8={GENCAT_ND, NUMCAT_ND, 0, 0, 0, 0};
  static const struct _convrule_ rule193={GENCAT_LU, NUMCAT_LU, 1, 0, 928, 0};
  static const struct _convrule_ rule53={GENCAT_LU, NUMCAT_LU, 1, 0, -130, 0};
  static const struct _convrule_ rule28={GENCAT_LL, NUMCAT_LL, 1, 195, 0, 195};
  static const struct _convrule_ rule172={GENCAT_LU, NUMCAT_LU, 1, 0, -10743, 0};
  static const struct _convrule_ rule141={GENCAT_LL, NUMCAT_LL, 1, -59, 0, -59};
  static const struct _convrule_ rule115={GENCAT_LU, NUMCAT_LU, 1, 0, -60, 0};
  static const struct _convrule_ rule110={GENCAT_LL, NUMCAT_LL, 1, -8, 0, -8};
  static const struct _convrule_ rule73={GENCAT_LL, NUMCAT_LL, 1, 42308, 0, 42308};
  static const struct _convrule_ rule40={GENCAT_LU, NUMCAT_LU, 1, 0, 213, 0};
  static const struct _convrule_ rule150={GENCAT_LL, NUMCAT_LL, 1, 126, 0, 126};
  static const struct _convrule_ rule131={GENCAT_LL, NUMCAT_LL, 1, -6244, 0, -6244};
  static const struct _convrule_ rule129={GENCAT_LL, NUMCAT_LL, 1, -6254, 0, -6254};
  static const struct _convrule_ rule118={GENCAT_LU, NUMCAT_LU, 1, 0, 80, 0};
  static const struct _convrule_ rule55={GENCAT_LU, NUMCAT_LU, 1, 0, -163, 0};
  static const struct _convrule_ rule189={GENCAT_LU, NUMCAT_LU, 1, 0, -42305, 0};
  static const struct _convrule_ rule175={GENCAT_LL, NUMCAT_LL, 1, -10795, 0, -10795};
  static const struct _convrule_ rule58={GENCAT_LU, NUMCAT_LU, 1, 0, -195, 0};
  static const struct _convrule_ rule54={GENCAT_LU, NUMCAT_LU, 1, 0, 10795, 0};
  static const struct _convrule_ rule135={GENCAT_LL, NUMCAT_LL, 1, -6181, 0, -6181};
  static const struct _convrule_ rule109={GENCAT_LL, NUMCAT_LL, 1, -54, 0, -54};
  static const struct _convrule_ rule160={GENCAT_LU, NUMCAT_LU, 1, 0, -126, 0};
  static const struct _convrule_ rule106={GENCAT_LL, NUMCAT_LL, 1, -57, 0, -57};
  static const struct _convrule_ rule21={GENCAT_LL, NUMCAT_LL, 1, 121, 0, 121};
  static const struct _convrule_ rule170={GENCAT_SO, NUMCAT_SO, 1, 0, 26, 0};
  static const struct _convrule_ rule86={GENCAT_LL, NUMCAT_LL, 1, -217, 0, -217};
  static const struct _convrule_ rule16={GENCAT_CF, NUMCAT_CF, 0, 0, 0, 0};
  static const struct _convrule_ rule114={GENCAT_LL, NUMCAT_LL, 1, -116, 0, -116};
  static const struct _convrule_ rule38={GENCAT_LU, NUMCAT_LU, 1, 0, 209, 0};
  static const struct _convrule_ rule10={GENCAT_SK, NUMCAT_SK, 0, 0, 0, 0};
  static const struct _convrule_ rule181={GENCAT_LU, NUMCAT_LU, 1, 0, -10815, 0};
  static const struct _convrule_ rule5={GENCAT_PE, NUMCAT_PE, 0, 0, 0, 0};
  static const struct _convrule_ rule178={GENCAT_LU, NUMCAT_LU, 1, 0, -10749, 0};
  static const struct _convrule_ rule119={GENCAT_ME, NUMCAT_ME, 0, 0, 0, 0};
  static const struct _convrule_ rule108={GENCAT_LL, NUMCAT_LL, 1, -47, 0, -47};
  static const struct _convrule_ rule174={GENCAT_LU, NUMCAT_LU, 1, 0, -10727, 0};
  static const struct _convrule_ rule9={GENCAT_LU, NUMCAT_LU, 1, 0, 32, 0};
  static const struct _charblock_ allchars[]={
  	{0, 32, &rule0},
  	{32, 1, &rule1},
  	{33, 3, &rule2},
  	{36, 1, &rule3},
  	{37, 3, &rule2},
  	{40, 1, &rule4},
  	{41, 1, &rule5},
  	{42, 1, &rule2},
  	{43, 1, &rule6},
  	{44, 1, &rule2},
  	{45, 1, &rule7},
  	{46, 2, &rule2},
  	{48, 10, &rule8},
  	{58, 2, &rule2},
  	{60, 3, &rule6},
  	{63, 2, &rule2},
  	{65, 26, &rule9},
  	{91, 1, &rule4},
  	{92, 1, &rule2},
  	{93, 1, &rule5},
  	{94, 1, &rule10},
  	{95, 1, &rule11},
  	{96, 1, &rule10},
  	{97, 26, &rule12},
  	{123, 1, &rule4},
  	{124, 1, &rule6},
  	{125, 1, &rule5},
  	{126, 1, &rule6},
  	{127, 33, &rule0},
  	{160, 1, &rule1},
  	{161, 1, &rule2},
  	{162, 4, &rule3},
  	{166, 1, &rule13},
  	{167, 1, &rule2},
  	{168, 1, &rule10},
  	{169, 1, &rule13},
  	{170, 1, &rule14},
  	{171, 1, &rule15},
  	{172, 1, &rule6},
  	{173, 1, &rule16},
  	{174, 1, &rule13},
  	{175, 1, &rule10},
  	{176, 1, &rule13},
  	{177, 1, &rule6},
  	{178, 2, &rule17},
  	{180, 1, &rule10},
  	{181, 1, &rule18},
  	{182, 2, &rule2},
  	{184, 1, &rule10},
  	{185, 1, &rule17},
  	{186, 1, &rule14},
  	{187, 1, &rule19},
  	{188, 3, &rule17},
  	{191, 1, &rule2},
  	{192, 23, &rule9},
  	{215, 1, &rule6},
  	{216, 7, &rule9},
  	{223, 1, &rule20},
  	{224, 23, &rule12},
  	{247, 1, &rule6},
  	{248, 7, &rule12},
  	{255, 1, &rule21},
  	{256, 1, &rule22},
  	{257, 1, &rule23},
  	{258, 1, &rule22},
  	{259, 1, &rule23},
  	{260, 1, &rule22},
  	{261, 1, &rule23},
  	{262, 1, &rule22},
  	{263, 1, &rule23},
  	{264, 1, &rule22},
  	{265, 1, &rule23},
  	{266, 1, &rule22},
  	{267, 1, &rule23},
  	{268, 1, &rule22},
  	{269, 1, &rule23},
  	{270, 1, &rule22},
  	{271, 1, &rule23},
  	{272, 1, &rule22},
  	{273, 1, &rule23},
  	{274, 1, &rule22},
  	{275, 1, &rule23},
  	{276, 1, &rule22},
  	{277, 1, &rule23},
  	{278, 1, &rule22},
  	{279, 1, &rule23},
  	{280, 1, &rule22},
  	{281, 1, &rule23},
  	{282, 1, &rule22},
  	{283, 1, &rule23},
  	{284, 1, &rule22},
  	{285, 1, &rule23},
  	{286, 1, &rule22},
  	{287, 1, &rule23},
  	{288, 1, &rule22},
  	{289, 1, &rule23},
  	{290, 1, &rule22},
  	{291, 1, &rule23},
  	{292, 1, &rule22},
  	{293, 1, &rule23},
  	{294, 1, &rule22},
  	{295, 1, &rule23},
  	{296, 1, &rule22},
  	{297, 1, &rule23},
  	{298, 1, &rule22},
  	{299, 1, &rule23},
  	{300, 1, &rule22},
  	{301, 1, &rule23},
  	{302, 1, &rule22},
  	{303, 1, &rule23},
  	{304, 1, &rule24},
  	{305, 1, &rule25},
  	{306, 1, &rule22},
  	{307, 1, &rule23},
  	{308, 1, &rule22},
  	{309, 1, &rule23},
  	{310, 1, &rule22},
  	{311, 1, &rule23},
  	{312, 1, &rule20},
  	{313, 1, &rule22},
  	{314, 1, &rule23},
  	{315, 1, &rule22},
  	{316, 1, &rule23},
  	{317, 1, &rule22},
  	{318, 1, &rule23},
  	{319, 1, &rule22},
  	{320, 1, &rule23},
  	{321, 1, &rule22},
  	{322, 1, &rule23},
  	{323, 1, &rule22},
  	{324, 1, &rule23},
  	{325, 1, &rule22},
  	{326, 1, &rule23},
  	{327, 1, &rule22},
  	{328, 1, &rule23},
  	{329, 1, &rule20},
  	{330, 1, &rule22},
  	{331, 1, &rule23},
  	{332, 1, &rule22},
  	{333, 1, &rule23},
  	{334, 1, &rule22},
  	{335, 1, &rule23},
  	{336, 1, &rule22},
  	{337, 1, &rule23},
  	{338, 1, &rule22},
  	{339, 1, &rule23},
  	{340, 1, &rule22},
  	{341, 1, &rule23},
  	{342, 1, &rule22},
  	{343, 1, &rule23},
  	{344, 1, &rule22},
  	{345, 1, &rule23},
  	{346, 1, &rule22},
  	{347, 1, &rule23},
  	{348, 1, &rule22},
  	{349, 1, &rule23},
  	{350, 1, &rule22},
  	{351, 1, &rule23},
  	{352, 1, &rule22},
  	{353, 1, &rule23},
  	{354, 1, &rule22},
  	{355, 1, &rule23},
  	{356, 1, &rule22},
  	{357, 1, &rule23},
  	{358, 1, &rule22},
  	{359, 1, &rule23},
  	{360, 1, &rule22},
  	{361, 1, &rule23},
  	{362, 1, &rule22},
  	{363, 1, &rule23},
  	{364, 1, &rule22},
  	{365, 1, &rule23},
  	{366, 1, &rule22},
  	{367, 1, &rule23},
  	{368, 1, &rule22},
  	{369, 1, &rule23},
  	{370, 1, &rule22},
  	{371, 1, &rule23},
  	{372, 1, &rule22},
  	{373, 1, &rule23},
  	{374, 1, &rule22},
  	{375, 1, &rule23},
  	{376, 1, &rule26},
  	{377, 1, &rule22},
  	{378, 1, &rule23},
  	{379, 1, &rule22},
  	{380, 1, &rule23},
  	{381, 1, &rule22},
  	{382, 1, &rule23},
  	{383, 1, &rule27},
  	{384, 1, &rule28},
  	{385, 1, &rule29},
  	{386, 1, &rule22},
  	{387, 1, &rule23},
  	{388, 1, &rule22},
  	{389, 1, &rule23},
  	{390, 1, &rule30},
  	{391, 1, &rule22},
  	{392, 1, &rule23},
  	{393, 2, &rule31},
  	{395, 1, &rule22},
  	{396, 1, &rule23},
  	{397, 1, &rule20},
  	{398, 1, &rule32},
  	{399, 1, &rule33},
  	{400, 1, &rule34},
  	{401, 1, &rule22},
  	{402, 1, &rule23},
  	{403, 1, &rule31},
  	{404, 1, &rule35},
  	{405, 1, &rule36},
  	{406, 1, &rule37},
  	{407, 1, &rule38},
  	{408, 1, &rule22},
  	{409, 1, &rule23},
  	{410, 1, &rule39},
  	{411, 1, &rule20},
  	{412, 1, &rule37},
  	{413, 1, &rule40},
  	{414, 1, &rule41},
  	{415, 1, &rule42},
  	{416, 1, &rule22},
  	{417, 1, &rule23},
  	{418, 1, &rule22},
  	{419, 1, &rule23},
  	{420, 1, &rule22},
  	{421, 1, &rule23},
  	{422, 1, &rule43},
  	{423, 1, &rule22},
  	{424, 1, &rule23},
  	{425, 1, &rule43},
  	{426, 2, &rule20},
  	{428, 1, &rule22},
  	{429, 1, &rule23},
  	{430, 1, &rule43},
  	{431, 1, &rule22},
  	{432, 1, &rule23},
  	{433, 2, &rule44},
  	{435, 1, &rule22},
  	{436, 1, &rule23},
  	{437, 1, &rule22},
  	{438, 1, &rule23},
  	{439, 1, &rule45},
  	{440, 1, &rule22},
  	{441, 1, &rule23},
  	{442, 1, &rule20},
  	{443, 1, &rule14},
  	{444, 1, &rule22},
  	{445, 1, &rule23},
  	{446, 1, &rule20},
  	{447, 1, &rule46},
  	{448, 4, &rule14},
  	{452, 1, &rule47},
  	{453, 1, &rule48},
  	{454, 1, &rule49},
  	{455, 1, &rule47},
  	{456, 1, &rule48},
  	{457, 1, &rule49},
  	{458, 1, &rule47},
  	{459, 1, &rule48},
  	{460, 1, &rule49},
  	{461, 1, &rule22},
  	{462, 1, &rule23},
  	{463, 1, &rule22},
  	{464, 1, &rule23},
  	{465, 1, &rule22},
  	{466, 1, &rule23},
  	{467, 1, &rule22},
  	{468, 1, &rule23},
  	{469, 1, &rule22},
  	{470, 1, &rule23},
  	{471, 1, &rule22},
  	{472, 1, &rule23},
  	{473, 1, &rule22},
  	{474, 1, &rule23},
  	{475, 1, &rule22},
  	{476, 1, &rule23},
  	{477, 1, &rule50},
  	{478, 1, &rule22},
  	{479, 1, &rule23},
  	{480, 1, &rule22},
  	{481, 1, &rule23},
  	{482, 1, &rule22},
  	{483, 1, &rule23},
  	{484, 1, &rule22},
  	{485, 1, &rule23},
  	{486, 1, &rule22},
  	{487, 1, &rule23},
  	{488, 1, &rule22},
  	{489, 1, &rule23},
  	{490, 1, &rule22},
  	{491, 1, &rule23},
  	{492, 1, &rule22},
  	{493, 1, &rule23},
  	{494, 1, &rule22},
  	{495, 1, &rule23},
  	{496, 1, &rule20},
  	{497, 1, &rule47},
  	{498, 1, &rule48},
  	{499, 1, &rule49},
  	{500, 1, &rule22},
  	{501, 1, &rule23},
  	{502, 1, &rule51},
  	{503, 1, &rule52},
  	{504, 1, &rule22},
  	{505, 1, &rule23},
  	{506, 1, &rule22},
  	{507, 1, &rule23},
  	{508, 1, &rule22},
  	{509, 1, &rule23},
  	{510, 1, &rule22},
  	{511, 1, &rule23},
  	{512, 1, &rule22},
  	{513, 1, &rule23},
  	{514, 1, &rule22},
  	{515, 1, &rule23},
  	{516, 1, &rule22},
  	{517, 1, &rule23},
  	{518, 1, &rule22},
  	{519, 1, &rule23},
  	{520, 1, &rule22},
  	{521, 1, &rule23},
  	{522, 1, &rule22},
  	{523, 1, &rule23},
  	{524, 1, &rule22},
  	{525, 1, &rule23},
  	{526, 1, &rule22},
  	{527, 1, &rule23},
  	{528, 1, &rule22},
  	{529, 1, &rule23},
  	{530, 1, &rule22},
  	{531, 1, &rule23},
  	{532, 1, &rule22},
  	{533, 1, &rule23},
  	{534, 1, &rule22},
  	{535, 1, &rule23},
  	{536, 1, &rule22},
  	{537, 1, &rule23},
  	{538, 1, &rule22},
  	{539, 1, &rule23},
  	{540, 1, &rule22},
  	{541, 1, &rule23},
  	{542, 1, &rule22},
  	{543, 1, &rule23},
  	{544, 1, &rule53},
  	{545, 1, &rule20},
  	{546, 1, &rule22},
  	{547, 1, &rule23},
  	{548, 1, &rule22},
  	{549, 1, &rule23},
  	{550, 1, &rule22},
  	{551, 1, &rule23},
  	{552, 1, &rule22},
  	{553, 1, &rule23},
  	{554, 1, &rule22},
  	{555, 1, &rule23},
  	{556, 1, &rule22},
  	{557, 1, &rule23},
  	{558, 1, &rule22},
  	{559, 1, &rule23},
  	{560, 1, &rule22},
  	{561, 1, &rule23},
  	{562, 1, &rule22},
  	{563, 1, &rule23},
  	{564, 6, &rule20},
  	{570, 1, &rule54},
  	{571, 1, &rule22},
  	{572, 1, &rule23},
  	{573, 1, &rule55},
  	{574, 1, &rule56},
  	{575, 2, &rule57},
  	{577, 1, &rule22},
  	{578, 1, &rule23},
  	{579, 1, &rule58},
  	{580, 1, &rule59},
  	{581, 1, &rule60},
  	{582, 1, &rule22},
  	{583, 1, &rule23},
  	{584, 1, &rule22},
  	{585, 1, &rule23},
  	{586, 1, &rule22},
  	{587, 1, &rule23},
  	{588, 1, &rule22},
  	{589, 1, &rule23},
  	{590, 1, &rule22},
  	{591, 1, &rule23},
  	{592, 1, &rule61},
  	{593, 1, &rule62},
  	{594, 1, &rule63},
  	{595, 1, &rule64},
  	{596, 1, &rule65},
  	{597, 1, &rule20},
  	{598, 2, &rule66},
  	{600, 1, &rule20},
  	{601, 1, &rule67},
  	{602, 1, &rule20},
  	{603, 1, &rule68},
  	{604, 1, &rule69},
  	{605, 3, &rule20},
  	{608, 1, &rule66},
  	{609, 1, &rule70},
  	{610, 1, &rule20},
  	{611, 1, &rule71},
  	{612, 1, &rule20},
  	{613, 1, &rule72},
  	{614, 1, &rule73},
  	{615, 1, &rule20},
  	{616, 1, &rule74},
  	{617, 1, &rule75},
  	{618, 1, &rule73},
  	{619, 1, &rule76},
  	{620, 1, &rule77},
  	{621, 2, &rule20},
  	{623, 1, &rule75},
  	{624, 1, &rule20},
  	{625, 1, &rule78},
  	{626, 1, &rule79},
  	{627, 2, &rule20},
  	{629, 1, &rule80},
  	{630, 7, &rule20},
  	{637, 1, &rule81},
  	{638, 2, &rule20},
  	{640, 1, &rule82},
  	{641, 1, &rule20},
  	{642, 1, &rule83},
  	{643, 1, &rule82},
  	{644, 3, &rule20},
  	{647, 1, &rule84},
  	{648, 1, &rule82},
  	{649, 1, &rule85},
  	{650, 2, &rule86},
  	{652, 1, &rule87},
  	{653, 5, &rule20},
  	{658, 1, &rule88},
  	{659, 1, &rule20},
  	{660, 1, &rule14},
  	{661, 8, &rule20},
  	{669, 1, &rule89},
  	{670, 1, &rule90},
  	{671, 17, &rule20},
  	{688, 18, &rule91},
  	{706, 4, &rule10},
  	{710, 12, &rule91},
  	{722, 14, &rule10},
  	{736, 5, &rule91},
  	{741, 7, &rule10},
  	{748, 1, &rule91},
  	{749, 1, &rule10},
  	{750, 1, &rule91},
  	{751, 17, &rule10},
  	{768, 69, &rule92},
  	{837, 1, &rule93},
  	{838, 42, &rule92},
  	{880, 1, &rule22},
  	{881, 1, &rule23},
  	{882, 1, &rule22},
  	{883, 1, &rule23},
  	{884, 1, &rule91},
  	{885, 1, &rule10},
  	{886, 1, &rule22},
  	{887, 1, &rule23},
  	{890, 1, &rule91},
  	{891, 3, &rule41},
  	{894, 1, &rule2},
  	{895, 1, &rule94},
  	{900, 2, &rule10},
  	{902, 1, &rule95},
  	{903, 1, &rule2},
  	{904, 3, &rule96},
  	{908, 1, &rule97},
  	{910, 2, &rule98},
  	{912, 1, &rule20},
  	{913, 17, &rule9},
  	{931, 9, &rule9},
  	{940, 1, &rule99},
  	{941, 3, &rule100},
  	{944, 1, &rule20},
  	{945, 17, &rule12},
  	{962, 1, &rule101},
  	{963, 9, &rule12},
  	{972, 1, &rule102},
  	{973, 2, &rule103},
  	{975, 1, &rule104},
  	{976, 1, &rule105},
  	{977, 1, &rule106},
  	{978, 3, &rule107},
  	{981, 1, &rule108},
  	{982, 1, &rule109},
  	{983, 1, &rule110},
  	{984, 1, &rule22},
  	{985, 1, &rule23},
  	{986, 1, &rule22},
  	{987, 1, &rule23},
  	{988, 1, &rule22},
  	{989, 1, &rule23},
  	{990, 1, &rule22},
  	{991, 1, &rule23},
  	{992, 1, &rule22},
  	{993, 1, &rule23},
  	{994, 1, &rule22},
  	{995, 1, &rule23},
  	{996, 1, &rule22},
  	{997, 1, &rule23},
  	{998, 1, &rule22},
  	{999, 1, &rule23},
  	{1000, 1, &rule22},
  	{1001, 1, &rule23},
  	{1002, 1, &rule22},
  	{1003, 1, &rule23},
  	{1004, 1, &rule22},
  	{1005, 1, &rule23},
  	{1006, 1, &rule22},
  	{1007, 1, &rule23},
  	{1008, 1, &rule111},
  	{1009, 1, &rule112},
  	{1010, 1, &rule113},
  	{1011, 1, &rule114},
  	{1012, 1, &rule115},
  	{1013, 1, &rule116},
  	{1014, 1, &rule6},
  	{1015, 1, &rule22},
  	{1016, 1, &rule23},
  	{1017, 1, &rule117},
  	{1018, 1, &rule22},
  	{1019, 1, &rule23},
  	{1020, 1, &rule20},
  	{1021, 3, &rule53},
  	{1024, 16, &rule118},
  	{1040, 32, &rule9},
  	{1072, 32, &rule12},
  	{1104, 16, &rule112},
  	{1120, 1, &rule22},
  	{1121, 1, &rule23},
  	{1122, 1, &rule22},
  	{1123, 1, &rule23},
  	{1124, 1, &rule22},
  	{1125, 1, &rule23},
  	{1126, 1, &rule22},
  	{1127, 1, &rule23},
  	{1128, 1, &rule22},
  	{1129, 1, &rule23},
  	{1130, 1, &rule22},
  	{1131, 1, &rule23},
  	{1132, 1, &rule22},
  	{1133, 1, &rule23},
  	{1134, 1, &rule22},
  	{1135, 1, &rule23},
  	{1136, 1, &rule22},
  	{1137, 1, &rule23},
  	{1138, 1, &rule22},
  	{1139, 1, &rule23},
  	{1140, 1, &rule22},
  	{1141, 1, &rule23},
  	{1142, 1, &rule22},
  	{1143, 1, &rule23},
  	{1144, 1, &rule22},
  	{1145, 1, &rule23},
  	{1146, 1, &rule22},
  	{1147, 1, &rule23},
  	{1148, 1, &rule22},
  	{1149, 1, &rule23},
  	{1150, 1, &rule22},
  	{1151, 1, &rule23},
  	{1152, 1, &rule22},
  	{1153, 1, &rule23},
  	{1154, 1, &rule13},
  	{1155, 5, &rule92},
  	{1160, 2, &rule119},
  	{1162, 1, &rule22},
  	{1163, 1, &rule23},
  	{1164, 1, &rule22},
  	{1165, 1, &rule23},
  	{1166, 1, &rule22},
  	{1167, 1, &rule23},
  	{1168, 1, &rule22},
  	{1169, 1, &rule23},
  	{1170, 1, &rule22},
  	{1171, 1, &rule23},
  	{1172, 1, &rule22},
  	{1173, 1, &rule23},
  	{1174, 1, &rule22},
  	{1175, 1, &rule23},
  	{1176, 1, &rule22},
  	{1177, 1, &rule23},
  	{1178, 1, &rule22},
  	{1179, 1, &rule23},
  	{1180, 1, &rule22},
  	{1181, 1, &rule23},
  	{1182, 1, &rule22},
  	{1183, 1, &rule23},
  	{1184, 1, &rule22},
  	{1185, 1, &rule23},
  	{1186, 1, &rule22},
  	{1187, 1, &rule23},
  	{1188, 1, &rule22},
  	{1189, 1, &rule23},
  	{1190, 1, &rule22},
  	{1191, 1, &rule23},
  	{1192, 1, &rule22},
  	{1193, 1, &rule23},
  	{1194, 1, &rule22},
  	{1195, 1, &rule23},
  	{1196, 1, &rule22},
  	{1197, 1, &rule23},
  	{1198, 1, &rule22},
  	{1199, 1, &rule23},
  	{1200, 1, &rule22},
  	{1201, 1, &rule23},
  	{1202, 1, &rule22},
  	{1203, 1, &rule23},
  	{1204, 1, &rule22},
  	{1205, 1, &rule23},
  	{1206, 1, &rule22},
  	{1207, 1, &rule23},
  	{1208, 1, &rule22},
  	{1209, 1, &rule23},
  	{1210, 1, &rule22},
  	{1211, 1, &rule23},
  	{1212, 1, &rule22},
  	{1213, 1, &rule23},
  	{1214, 1, &rule22},
  	{1215, 1, &rule23},
  	{1216, 1, &rule120},
  	{1217, 1, &rule22},
  	{1218, 1, &rule23},
  	{1219, 1, &rule22},
  	{1220, 1, &rule23},
  	{1221, 1, &rule22},
  	{1222, 1, &rule23},
  	{1223, 1, &rule22},
  	{1224, 1, &rule23},
  	{1225, 1, &rule22},
  	{1226, 1, &rule23},
  	{1227, 1, &rule22},
  	{1228, 1, &rule23},
  	{1229, 1, &rule22},
  	{1230, 1, &rule23},
  	{1231, 1, &rule121},
  	{1232, 1, &rule22},
  	{1233, 1, &rule23},
  	{1234, 1, &rule22},
  	{1235, 1, &rule23},
  	{1236, 1, &rule22},
  	{1237, 1, &rule23},
  	{1238, 1, &rule22},
  	{1239, 1, &rule23},
  	{1240, 1, &rule22},
  	{1241, 1, &rule23},
  	{1242, 1, &rule22},
  	{1243, 1, &rule23},
  	{1244, 1, &rule22},
  	{1245, 1, &rule23},
  	{1246, 1, &rule22},
  	{1247, 1, &rule23},
  	{1248, 1, &rule22},
  	{1249, 1, &rule23},
  	{1250, 1, &rule22},
  	{1251, 1, &rule23},
  	{1252, 1, &rule22},
  	{1253, 1, &rule23},
  	{1254, 1, &rule22},
  	{1255, 1, &rule23},
  	{1256, 1, &rule22},
  	{1257, 1, &rule23},
  	{1258, 1, &rule22},
  	{1259, 1, &rule23},
  	{1260, 1, &rule22},
  	{1261, 1, &rule23},
  	{1262, 1, &rule22},
  	{1263, 1, &rule23},
  	{1264, 1, &rule22},
  	{1265, 1, &rule23},
  	{1266, 1, &rule22},
  	{1267, 1, &rule23},
  	{1268, 1, &rule22},
  	{1269, 1, &rule23},
  	{1270, 1, &rule22},
  	{1271, 1, &rule23},
  	{1272, 1, &rule22},
  	{1273, 1, &rule23},
  	{1274, 1, &rule22},
  	{1275, 1, &rule23},
  	{1276, 1, &rule22},
  	{1277, 1, &rule23},
  	{1278, 1, &rule22},
  	{1279, 1, &rule23},
  	{1280, 1, &rule22},
  	{1281, 1, &rule23},
  	{1282, 1, &rule22},
  	{1283, 1, &rule23},
  	{1284, 1, &rule22},
  	{1285, 1, &rule23},
  	{1286, 1, &rule22},
  	{1287, 1, &rule23},
  	{1288, 1, &rule22},
  	{1289, 1, &rule23},
  	{1290, 1, &rule22},
  	{1291, 1, &rule23},
  	{1292, 1, &rule22},
  	{1293, 1, &rule23},
  	{1294, 1, &rule22},
  	{1295, 1, &rule23},
  	{1296, 1, &rule22},
  	{1297, 1, &rule23},
  	{1298, 1, &rule22},
  	{1299, 1, &rule23},
  	{1300, 1, &rule22},
  	{1301, 1, &rule23},
  	{1302, 1, &rule22},
  	{1303, 1, &rule23},
  	{1304, 1, &rule22},
  	{1305, 1, &rule23},
  	{1306, 1, &rule22},
  	{1307, 1, &rule23},
  	{1308, 1, &rule22},
  	{1309, 1, &rule23},
  	{1310, 1, &rule22},
  	{1311, 1, &rule23},
  	{1312, 1, &rule22},
  	{1313, 1, &rule23},
  	{1314, 1, &rule22},
  	{1315, 1, &rule23},
  	{1316, 1, &rule22},
  	{1317, 1, &rule23},
  	{1318, 1, &rule22},
  	{1319, 1, &rule23},
  	{1320, 1, &rule22},
  	{1321, 1, &rule23},
  	{1322, 1, &rule22},
  	{1323, 1, &rule23},
  	{1324, 1, &rule22},
  	{1325, 1, &rule23},
  	{1326, 1, &rule22},
  	{1327, 1, &rule23},
  	{1329, 38, &rule122},
  	{1369, 1, &rule91},
  	{1370, 6, &rule2},
  	{1376, 1, &rule20},
  	{1377, 38, &rule123},
  	{1415, 2, &rule20},
  	{1417, 1, &rule2},
  	{1418, 1, &rule7},
  	{1421, 2, &rule13},
  	{1423, 1, &rule3},
  	{1425, 45, &rule92},
  	{1470, 1, &rule7},
  	{1471, 1, &rule92},
  	{1472, 1, &rule2},
  	{1473, 2, &rule92},
  	{1475, 1, &rule2},
  	{1476, 2, &rule92},
  	{1478, 1, &rule2},
  	{1479, 1, &rule92},
  	{1488, 27, &rule14},
  	{1519, 4, &rule14},
  	{1523, 2, &rule2},
  	{1536, 6, &rule16},
  	{1542, 3, &rule6},
  	{1545, 2, &rule2},
  	{1547, 1, &rule3},
  	{1548, 2, &rule2},
  	{1550, 2, &rule13},
  	{1552, 11, &rule92},
  	{1563, 1, &rule2},
  	{1564, 1, &rule16},
  	{1566, 2, &rule2},
  	{1568, 32, &rule14},
  	{1600, 1, &rule91},
  	{1601, 10, &rule14},
  	{1611, 21, &rule92},
  	{1632, 10, &rule8},
  	{1642, 4, &rule2},
  	{1646, 2, &rule14},
  	{1648, 1, &rule92},
  	{1649, 99, &rule14},
  	{1748, 1, &rule2},
  	{1749, 1, &rule14},
  	{1750, 7, &rule92},
  	{1757, 1, &rule16},
  	{1758, 1, &rule13},
  	{1759, 6, &rule92},
  	{1765, 2, &rule91},
  	{1767, 2, &rule92},
  	{1769, 1, &rule13},
  	{1770, 4, &rule92},
  	{1774, 2, &rule14},
  	{1776, 10, &rule8},
  	{1786, 3, &rule14},
  	{1789, 2, &rule13},
  	{1791, 1, &rule14},
  	{1792, 14, &rule2},
  	{1807, 1, &rule16},
  	{1808, 1, &rule14},
  	{1809, 1, &rule92},
  	{1810, 30, &rule14},
  	{1840, 27, &rule92},
  	{1869, 89, &rule14},
  	{1958, 11, &rule92},
  	{1969, 1, &rule14},
  	{1984, 10, &rule8},
  	{1994, 33, &rule14},
  	{2027, 9, &rule92},
  	{2036, 2, &rule91},
  	{2038, 1, &rule13},
  	{2039, 3, &rule2},
  	{2042, 1, &rule91},
  	{2045, 1, &rule92},
  	{2046, 2, &rule3},
  	{2048, 22, &rule14},
  	{2070, 4, &rule92},
  	{2074, 1, &rule91},
  	{2075, 9, &rule92},
  	{2084, 1, &rule91},
  	{2085, 3, &rule92},
  	{2088, 1, &rule91},
  	{2089, 5, &rule92},
  	{2096, 15, &rule2},
  	{2112, 25, &rule14},
  	{2137, 3, &rule92},
  	{2142, 1, &rule2},
  	{2144, 11, &rule14},
  	{2208, 21, &rule14},
  	{2230, 18, &rule14},
  	{2259, 15, &rule92},
  	{2274, 1, &rule16},
  	{2275, 32, &rule92},
  	{2307, 1, &rule124},
  	{2308, 54, &rule14},
  	{2362, 1, &rule92},
  	{2363, 1, &rule124},
  	{2364, 1, &rule92},
  	{2365, 1, &rule14},
  	{2366, 3, &rule124},
  	{2369, 8, &rule92},
  	{2377, 4, &rule124},
  	{2381, 1, &rule92},
  	{2382, 2, &rule124},
  	{2384, 1, &rule14},
  	{2385, 7, &rule92},
  	{2392, 10, &rule14},
  	{2402, 2, &rule92},
  	{2404, 2, &rule2},
  	{2406, 10, &rule8},
  	{2416, 1, &rule2},
  	{2417, 1, &rule91},
  	{2418, 15, &rule14},
  	{2433, 1, &rule92},
  	{2434, 2, &rule124},
  	{2437, 8, &rule14},
  	{2447, 2, &rule14},
  	{2451, 22, &rule14},
  	{2474, 7, &rule14},
  	{2482, 1, &rule14},
  	{2486, 4, &rule14},
  	{2492, 1, &rule92},
  	{2493, 1, &rule14},
  	{2494, 3, &rule124},
  	{2497, 4, &rule92},
  	{2503, 2, &rule124},
  	{2507, 2, &rule124},
  	{2509, 1, &rule92},
  	{2510, 1, &rule14},
  	{2519, 1, &rule124},
  	{2524, 2, &rule14},
  	{2527, 3, &rule14},
  	{2530, 2, &rule92},
  	{2534, 10, &rule8},
  	{2544, 2, &rule14},
  	{2546, 2, &rule3},
  	{2548, 6, &rule17},
  	{2554, 1, &rule13},
  	{2555, 1, &rule3},
  	{2556, 1, &rule14},
  	{2557, 1, &rule2},
  	{2558, 1, &rule92},
  	{2561, 2, &rule92},
  	{2563, 1, &rule124},
  	{2565, 6, &rule14},
  	{2575, 2, &rule14},
  	{2579, 22, &rule14},
  	{2602, 7, &rule14},
  	{2610, 2, &rule14},
  	{2613, 2, &rule14},
  	{2616, 2, &rule14},
  	{2620, 1, &rule92},
  	{2622, 3, &rule124},
  	{2625, 2, &rule92},
  	{2631, 2, &rule92},
  	{2635, 3, &rule92},
  	{2641, 1, &rule92},
  	{2649, 4, &rule14},
  	{2654, 1, &rule14},
  	{2662, 10, &rule8},
  	{2672, 2, &rule92},
  	{2674, 3, &rule14},
  	{2677, 1, &rule92},
  	{2678, 1, &rule2},
  	{2689, 2, &rule92},
  	{2691, 1, &rule124},
  	{2693, 9, &rule14},
  	{2703, 3, &rule14},
  	{2707, 22, &rule14},
  	{2730, 7, &rule14},
  	{2738, 2, &rule14},
  	{2741, 5, &rule14},
  	{2748, 1, &rule92},
  	{2749, 1, &rule14},
  	{2750, 3, &rule124},
  	{2753, 5, &rule92},
  	{2759, 2, &rule92},
  	{2761, 1, &rule124},
  	{2763, 2, &rule124},
  	{2765, 1, &rule92},
  	{2768, 1, &rule14},
  	{2784, 2, &rule14},
  	{2786, 2, &rule92},
  	{2790, 10, &rule8},
  	{2800, 1, &rule2},
  	{2801, 1, &rule3},
  	{2809, 1, &rule14},
  	{2810, 6, &rule92},
  	{2817, 1, &rule92},
  	{2818, 2, &rule124},
  	{2821, 8, &rule14},
  	{2831, 2, &rule14},
  	{2835, 22, &rule14},
  	{2858, 7, &rule14},
  	{2866, 2, &rule14},
  	{2869, 5, &rule14},
  	{2876, 1, &rule92},
  	{2877, 1, &rule14},
  	{2878, 1, &rule124},
  	{2879, 1, &rule92},
  	{2880, 1, &rule124},
  	{2881, 4, &rule92},
  	{2887, 2, &rule124},
  	{2891, 2, &rule124},
  	{2893, 1, &rule92},
  	{2901, 2, &rule92},
  	{2903, 1, &rule124},
  	{2908, 2, &rule14},
  	{2911, 3, &rule14},
  	{2914, 2, &rule92},
  	{2918, 10, &rule8},
  	{2928, 1, &rule13},
  	{2929, 1, &rule14},
  	{2930, 6, &rule17},
  	{2946, 1, &rule92},
  	{2947, 1, &rule14},
  	{2949, 6, &rule14},
  	{2958, 3, &rule14},
  	{2962, 4, &rule14},
  	{2969, 2, &rule14},
  	{2972, 1, &rule14},
  	{2974, 2, &rule14},
  	{2979, 2, &rule14},
  	{2984, 3, &rule14},
  	{2990, 12, &rule14},
  	{3006, 2, &rule124},
  	{3008, 1, &rule92},
  	{3009, 2, &rule124},
  	{3014, 3, &rule124},
  	{3018, 3, &rule124},
  	{3021, 1, &rule92},
  	{3024, 1, &rule14},
  	{3031, 1, &rule124},
  	{3046, 10, &rule8},
  	{3056, 3, &rule17},
  	{3059, 6, &rule13},
  	{3065, 1, &rule3},
  	{3066, 1, &rule13},
  	{3072, 1, &rule92},
  	{3073, 3, &rule124},
  	{3076, 1, &rule92},
  	{3077, 8, &rule14},
  	{3086, 3, &rule14},
  	{3090, 23, &rule14},
  	{3114, 16, &rule14},
  	{3133, 1, &rule14},
  	{3134, 3, &rule92},
  	{3137, 4, &rule124},
  	{3142, 3, &rule92},
  	{3146, 4, &rule92},
  	{3157, 2, &rule92},
  	{3160, 3, &rule14},
  	{3168, 2, &rule14},
  	{3170, 2, &rule92},
  	{3174, 10, &rule8},
  	{3191, 1, &rule2},
  	{3192, 7, &rule17},
  	{3199, 1, &rule13},
  	{3200, 1, &rule14},
  	{3201, 1, &rule92},
  	{3202, 2, &rule124},
  	{3204, 1, &rule2},
  	{3205, 8, &rule14},
  	{3214, 3, &rule14},
  	{3218, 23, &rule14},
  	{3242, 10, &rule14},
  	{3253, 5, &rule14},
  	{3260, 1, &rule92},
  	{3261, 1, &rule14},
  	{3262, 1, &rule124},
  	{3263, 1, &rule92},
  	{3264, 5, &rule124},
  	{3270, 1, &rule92},
  	{3271, 2, &rule124},
  	{3274, 2, &rule124},
  	{3276, 2, &rule92},
  	{3285, 2, &rule124},
  	{3294, 1, &rule14},
  	{3296, 2, &rule14},
  	{3298, 2, &rule92},
  	{3302, 10, &rule8},
  	{3313, 2, &rule14},
  	{3328, 2, &rule92},
  	{3330, 2, &rule124},
  	{3332, 9, &rule14},
  	{3342, 3, &rule14},
  	{3346, 41, &rule14},
  	{3387, 2, &rule92},
  	{3389, 1, &rule14},
  	{3390, 3, &rule124},
  	{3393, 4, &rule92},
  	{3398, 3, &rule124},
  	{3402, 3, &rule124},
  	{3405, 1, &rule92},
  	{3406, 1, &rule14},
  	{3407, 1, &rule13},
  	{3412, 3, &rule14},
  	{3415, 1, &rule124},
  	{3416, 7, &rule17},
  	{3423, 3, &rule14},
  	{3426, 2, &rule92},
  	{3430, 10, &rule8},
  	{3440, 9, &rule17},
  	{3449, 1, &rule13},
  	{3450, 6, &rule14},
  	{3457, 1, &rule92},
  	{3458, 2, &rule124},
  	{3461, 18, &rule14},
  	{3482, 24, &rule14},
  	{3507, 9, &rule14},
  	{3517, 1, &rule14},
  	{3520, 7, &rule14},
  	{3530, 1, &rule92},
  	{3535, 3, &rule124},
  	{3538, 3, &rule92},
  	{3542, 1, &rule92},
  	{3544, 8, &rule124},
  	{3558, 10, &rule8},
  	{3570, 2, &rule124},
  	{3572, 1, &rule2},
  	{3585, 48, &rule14},
  	{3633, 1, &rule92},
  	{3634, 2, &rule14},
  	{3636, 7, &rule92},
  	{3647, 1, &rule3},
  	{3648, 6, &rule14},
  	{3654, 1, &rule91},
  	{3655, 8, &rule92},
  	{3663, 1, &rule2},
  	{3664, 10, &rule8},
  	{3674, 2, &rule2},
  	{3713, 2, &rule14},
  	{3716, 1, &rule14},
  	{3718, 5, &rule14},
  	{3724, 24, &rule14},
  	{3749, 1, &rule14},
  	{3751, 10, &rule14},
  	{3761, 1, &rule92},
  	{3762, 2, &rule14},
  	{3764, 9, &rule92},
  	{3773, 1, &rule14},
  	{3776, 5, &rule14},
  	{3782, 1, &rule91},
  	{3784, 6, &rule92},
  	{3792, 10, &rule8},
  	{3804, 4, &rule14},
  	{3840, 1, &rule14},
  	{3841, 3, &rule13},
  	{3844, 15, &rule2},
  	{3859, 1, &rule13},
  	{3860, 1, &rule2},
  	{3861, 3, &rule13},
  	{3864, 2, &rule92},
  	{3866, 6, &rule13},
  	{3872, 10, &rule8},
  	{3882, 10, &rule17},
  	{3892, 1, &rule13},
  	{3893, 1, &rule92},
  	{3894, 1, &rule13},
  	{3895, 1, &rule92},
  	{3896, 1, &rule13},
  	{3897, 1, &rule92},
  	{3898, 1, &rule4},
  	{3899, 1, &rule5},
  	{3900, 1, &rule4},
  	{3901, 1, &rule5},
  	{3902, 2, &rule124},
  	{3904, 8, &rule14},
  	{3913, 36, &rule14},
  	{3953, 14, &rule92},
  	{3967, 1, &rule124},
  	{3968, 5, &rule92},
  	{3973, 1, &rule2},
  	{3974, 2, &rule92},
  	{3976, 5, &rule14},
  	{3981, 11, &rule92},
  	{3993, 36, &rule92},
  	{4030, 8, &rule13},
  	{4038, 1, &rule92},
  	{4039, 6, &rule13},
  	{4046, 2, &rule13},
  	{4048, 5, &rule2},
  	{4053, 4, &rule13},
  	{4057, 2, &rule2},
  	{4096, 43, &rule14},
  	{4139, 2, &rule124},
  	{4141, 4, &rule92},
  	{4145, 1, &rule124},
  	{4146, 6, &rule92},
  	{4152, 1, &rule124},
  	{4153, 2, &rule92},
  	{4155, 2, &rule124},
  	{4157, 2, &rule92},
  	{4159, 1, &rule14},
  	{4160, 10, &rule8},
  	{4170, 6, &rule2},
  	{4176, 6, &rule14},
  	{4182, 2, &rule124},
  	{4184, 2, &rule92},
  	{4186, 4, &rule14},
  	{4190, 3, &rule92},
  	{4193, 1, &rule14},
  	{4194, 3, &rule124},
  	{4197, 2, &rule14},
  	{4199, 7, &rule124},
  	{4206, 3, &rule14},
  	{4209, 4, &rule92},
  	{4213, 13, &rule14},
  	{4226, 1, &rule92},
  	{4227, 2, &rule124},
  	{4229, 2, &rule92},
  	{4231, 6, &rule124},
  	{4237, 1, &rule92},
  	{4238, 1, &rule14},
  	{4239, 1, &rule124},
  	{4240, 10, &rule8},
  	{4250, 3, &rule124},
  	{4253, 1, &rule92},
  	{4254, 2, &rule13},
  	{4256, 38, &rule125},
  	{4295, 1, &rule125},
  	{4301, 1, &rule125},
  	{4304, 43, &rule126},
  	{4347, 1, &rule2},
  	{4348, 1, &rule91},
  	{4349, 3, &rule126},
  	{4352, 329, &rule14},
  	{4682, 4, &rule14},
  	{4688, 7, &rule14},
  	{4696, 1, &rule14},
  	{4698, 4, &rule14},
  	{4704, 41, &rule14},
  	{4746, 4, &rule14},
  	{4752, 33, &rule14},
  	{4786, 4, &rule14},
  	{4792, 7, &rule14},
  	{4800, 1, &rule14},
  	{4802, 4, &rule14},
  	{4808, 15, &rule14},
  	{4824, 57, &rule14},
  	{4882, 4, &rule14},
  	{4888, 67, &rule14},
  	{4957, 3, &rule92},
  	{4960, 9, &rule2},
  	{4969, 20, &rule17},
  	{4992, 16, &rule14},
  	{5008, 10, &rule13},
  	{5024, 80, &rule127},
  	{5104, 6, &rule104},
  	{5112, 6, &rule110},
  	{5120, 1, &rule7},
  	{5121, 620, &rule14},
  	{5741, 1, &rule13},
  	{5742, 1, &rule2},
  	{5743, 17, &rule14},
  	{5760, 1, &rule1},
  	{5761, 26, &rule14},
  	{5787, 1, &rule4},
  	{5788, 1, &rule5},
  	{5792, 75, &rule14},
  	{5867, 3, &rule2},
  	{5870, 3, &rule128},
  	{5873, 8, &rule14},
  	{5888, 13, &rule14},
  	{5902, 4, &rule14},
  	{5906, 3, &rule92},
  	{5920, 18, &rule14},
  	{5938, 3, &rule92},
  	{5941, 2, &rule2},
  	{5952, 18, &rule14},
  	{5970, 2, &rule92},
  	{5984, 13, &rule14},
  	{5998, 3, &rule14},
  	{6002, 2, &rule92},
  	{6016, 52, &rule14},
  	{6068, 2, &rule92},
  	{6070, 1, &rule124},
  	{6071, 7, &rule92},
  	{6078, 8, &rule124},
  	{6086, 1, &rule92},
  	{6087, 2, &rule124},
  	{6089, 11, &rule92},
  	{6100, 3, &rule2},
  	{6103, 1, &rule91},
  	{6104, 3, &rule2},
  	{6107, 1, &rule3},
  	{6108, 1, &rule14},
  	{6109, 1, &rule92},
  	{6112, 10, &rule8},
  	{6128, 10, &rule17},
  	{6144, 6, &rule2},
  	{6150, 1, &rule7},
  	{6151, 4, &rule2},
  	{6155, 3, &rule92},
  	{6158, 1, &rule16},
  	{6160, 10, &rule8},
  	{6176, 35, &rule14},
  	{6211, 1, &rule91},
  	{6212, 53, &rule14},
  	{6272, 5, &rule14},
  	{6277, 2, &rule92},
  	{6279, 34, &rule14},
  	{6313, 1, &rule92},
  	{6314, 1, &rule14},
  	{6320, 70, &rule14},
  	{6400, 31, &rule14},
  	{6432, 3, &rule92},
  	{6435, 4, &rule124},
  	{6439, 2, &rule92},
  	{6441, 3, &rule124},
  	{6448, 2, &rule124},
  	{6450, 1, &rule92},
  	{6451, 6, &rule124},
  	{6457, 3, &rule92},
  	{6464, 1, &rule13},
  	{6468, 2, &rule2},
  	{6470, 10, &rule8},
  	{6480, 30, &rule14},
  	{6512, 5, &rule14},
  	{6528, 44, &rule14},
  	{6576, 26, &rule14},
  	{6608, 10, &rule8},
  	{6618, 1, &rule17},
  	{6622, 34, &rule13},
  	{6656, 23, &rule14},
  	{6679, 2, &rule92},
  	{6681, 2, &rule124},
  	{6683, 1, &rule92},
  	{6686, 2, &rule2},
  	{6688, 53, &rule14},
  	{6741, 1, &rule124},
  	{6742, 1, &rule92},
  	{6743, 1, &rule124},
  	{6744, 7, &rule92},
  	{6752, 1, &rule92},
  	{6753, 1, &rule124},
  	{6754, 1, &rule92},
  	{6755, 2, &rule124},
  	{6757, 8, &rule92},
  	{6765, 6, &rule124},
  	{6771, 10, &rule92},
  	{6783, 1, &rule92},
  	{6784, 10, &rule8},
  	{6800, 10, &rule8},
  	{6816, 7, &rule2},
  	{6823, 1, &rule91},
  	{6824, 6, &rule2},
  	{6832, 14, &rule92},
  	{6846, 1, &rule119},
  	{6847, 2, &rule92},
  	{6912, 4, &rule92},
  	{6916, 1, &rule124},
  	{6917, 47, &rule14},
  	{6964, 1, &rule92},
  	{6965, 1, &rule124},
  	{6966, 5, &rule92},
  	{6971, 1, &rule124},
  	{6972, 1, &rule92},
  	{6973, 5, &rule124},
  	{6978, 1, &rule92},
  	{6979, 2, &rule124},
  	{6981, 7, &rule14},
  	{6992, 10, &rule8},
  	{7002, 7, &rule2},
  	{7009, 10, &rule13},
  	{7019, 9, &rule92},
  	{7028, 9, &rule13},
  	{7040, 2, &rule92},
  	{7042, 1, &rule124},
  	{7043, 30, &rule14},
  	{7073, 1, &rule124},
  	{7074, 4, &rule92},
  	{7078, 2, &rule124},
  	{7080, 2, &rule92},
  	{7082, 1, &rule124},
  	{7083, 3, &rule92},
  	{7086, 2, &rule14},
  	{7088, 10, &rule8},
  	{7098, 44, &rule14},
  	{7142, 1, &rule92},
  	{7143, 1, &rule124},
  	{7144, 2, &rule92},
  	{7146, 3, &rule124},
  	{7149, 1, &rule92},
  	{7150, 1, &rule124},
  	{7151, 3, &rule92},
  	{7154, 2, &rule124},
  	{7164, 4, &rule2},
  	{7168, 36, &rule14},
  	{7204, 8, &rule124},
  	{7212, 8, &rule92},
  	{7220, 2, &rule124},
  	{7222, 2, &rule92},
  	{7227, 5, &rule2},
  	{7232, 10, &rule8},
  	{7245, 3, &rule14},
  	{7248, 10, &rule8},
  	{7258, 30, &rule14},
  	{7288, 6, &rule91},
  	{7294, 2, &rule2},
  	{7296, 1, &rule129},
  	{7297, 1, &rule130},
  	{7298, 1, &rule131},
  	{7299, 2, &rule132},
  	{7301, 1, &rule133},
  	{7302, 1, &rule134},
  	{7303, 1, &rule135},
  	{7304, 1, &rule136},
  	{7312, 43, &rule137},
  	{7357, 3, &rule137},
  	{7360, 8, &rule2},
  	{7376, 3, &rule92},
  	{7379, 1, &rule2},
  	{7380, 13, &rule92},
  	{7393, 1, &rule124},
  	{7394, 7, &rule92},
  	{7401, 4, &rule14},
  	{7405, 1, &rule92},
  	{7406, 6, &rule14},
  	{7412, 1, &rule92},
  	{7413, 2, &rule14},
  	{7415, 1, &rule124},
  	{7416, 2, &rule92},
  	{7418, 1, &rule14},
  	{7424, 44, &rule20},
  	{7468, 63, &rule91},
  	{7531, 13, &rule20},
  	{7544, 1, &rule91},
  	{7545, 1, &rule138},
  	{7546, 3, &rule20},
  	{7549, 1, &rule139},
  	{7550, 16, &rule20},
  	{7566, 1, &rule140},
  	{7567, 12, &rule20},
  	{7579, 37, &rule91},
  	{7616, 58, &rule92},
  	{7675, 5, &rule92},
  	{7680, 1, &rule22},
  	{7681, 1, &rule23},
  	{7682, 1, &rule22},
  	{7683, 1, &rule23},
  	{7684, 1, &rule22},
  	{7685, 1, &rule23},
  	{7686, 1, &rule22},
  	{7687, 1, &rule23},
  	{7688, 1, &rule22},
  	{7689, 1, &rule23},
  	{7690, 1, &rule22},
  	{7691, 1, &rule23},
  	{7692, 1, &rule22},
  	{7693, 1, &rule23},
  	{7694, 1, &rule22},
  	{7695, 1, &rule23},
  	{7696, 1, &rule22},
  	{7697, 1, &rule23},
  	{7698, 1, &rule22},
  	{7699, 1, &rule23},
  	{7700, 1, &rule22},
  	{7701, 1, &rule23},
  	{7702, 1, &rule22},
  	{7703, 1, &rule23},
  	{7704, 1, &rule22},
  	{7705, 1, &rule23},
  	{7706, 1, &rule22},
  	{7707, 1, &rule23},
  	{7708, 1, &rule22},
  	{7709, 1, &rule23},
  	{7710, 1, &rule22},
  	{7711, 1, &rule23},
  	{7712, 1, &rule22},
  	{7713, 1, &rule23},
  	{7714, 1, &rule22},
  	{7715, 1, &rule23},
  	{7716, 1, &rule22},
  	{7717, 1, &rule23},
  	{7718, 1, &rule22},
  	{7719, 1, &rule23},
  	{7720, 1, &rule22},
  	{7721, 1, &rule23},
  	{7722, 1, &rule22},
  	{7723, 1, &rule23},
  	{7724, 1, &rule22},
  	{7725, 1, &rule23},
  	{7726, 1, &rule22},
  	{7727, 1, &rule23},
  	{7728, 1, &rule22},
  	{7729, 1, &rule23},
  	{7730, 1, &rule22},
  	{7731, 1, &rule23},
  	{7732, 1, &rule22},
  	{7733, 1, &rule23},
  	{7734, 1, &rule22},
  	{7735, 1, &rule23},
  	{7736, 1, &rule22},
  	{7737, 1, &rule23},
  	{7738, 1, &rule22},
  	{7739, 1, &rule23},
  	{7740, 1, &rule22},
  	{7741, 1, &rule23},
  	{7742, 1, &rule22},
  	{7743, 1, &rule23},
  	{7744, 1, &rule22},
  	{7745, 1, &rule23},
  	{7746, 1, &rule22},
  	{7747, 1, &rule23},
  	{7748, 1, &rule22},
  	{7749, 1, &rule23},
  	{7750, 1, &rule22},
  	{7751, 1, &rule23},
  	{7752, 1, &rule22},
  	{7753, 1, &rule23},
  	{7754, 1, &rule22},
  	{7755, 1, &rule23},
  	{7756, 1, &rule22},
  	{7757, 1, &rule23},
  	{7758, 1, &rule22},
  	{7759, 1, &rule23},
  	{7760, 1, &rule22},
  	{7761, 1, &rule23},
  	{7762, 1, &rule22},
  	{7763, 1, &rule23},
  	{7764, 1, &rule22},
  	{7765, 1, &rule23},
  	{7766, 1, &rule22},
  	{7767, 1, &rule23},
  	{7768, 1, &rule22},
  	{7769, 1, &rule23},
  	{7770, 1, &rule22},
  	{7771, 1, &rule23},
  	{7772, 1, &rule22},
  	{7773, 1, &rule23},
  	{7774, 1, &rule22},
  	{7775, 1, &rule23},
  	{7776, 1, &rule22},
  	{7777, 1, &rule23},
  	{7778, 1, &rule22},
  	{7779, 1, &rule23},
  	{7780, 1, &rule22},
  	{7781, 1, &rule23},
  	{7782, 1, &rule22},
  	{7783, 1, &rule23},
  	{7784, 1, &rule22},
  	{7785, 1, &rule23},
  	{7786, 1, &rule22},
  	{7787, 1, &rule23},
  	{7788, 1, &rule22},
  	{7789, 1, &rule23},
  	{7790, 1, &rule22},
  	{7791, 1, &rule23},
  	{7792, 1, &rule22},
  	{7793, 1, &rule23},
  	{7794, 1, &rule22},
  	{7795, 1, &rule23},
  	{7796, 1, &rule22},
  	{7797, 1, &rule23},
  	{7798, 1, &rule22},
  	{7799, 1, &rule23},
  	{7800, 1, &rule22},
  	{7801, 1, &rule23},
  	{7802, 1, &rule22},
  	{7803, 1, &rule23},
  	{7804, 1, &rule22},
  	{7805, 1, &rule23},
  	{7806, 1, &rule22},
  	{7807, 1, &rule23},
  	{7808, 1, &rule22},
  	{7809, 1, &rule23},
  	{7810, 1, &rule22},
  	{7811, 1, &rule23},
  	{7812, 1, &rule22},
  	{7813, 1, &rule23},
  	{7814, 1, &rule22},
  	{7815, 1, &rule23},
  	{7816, 1, &rule22},
  	{7817, 1, &rule23},
  	{7818, 1, &rule22},
  	{7819, 1, &rule23},
  	{7820, 1, &rule22},
  	{7821, 1, &rule23},
  	{7822, 1, &rule22},
  	{7823, 1, &rule23},
  	{7824, 1, &rule22},
  	{7825, 1, &rule23},
  	{7826, 1, &rule22},
  	{7827, 1, &rule23},
  	{7828, 1, &rule22},
  	{7829, 1, &rule23},
  	{7830, 5, &rule20},
  	{7835, 1, &rule141},
  	{7836, 2, &rule20},
  	{7838, 1, &rule142},
  	{7839, 1, &rule20},
  	{7840, 1, &rule22},
  	{7841, 1, &rule23},
  	{7842, 1, &rule22},
  	{7843, 1, &rule23},
  	{7844, 1, &rule22},
  	{7845, 1, &rule23},
  	{7846, 1, &rule22},
  	{7847, 1, &rule23},
  	{7848, 1, &rule22},
  	{7849, 1, &rule23},
  	{7850, 1, &rule22},
  	{7851, 1, &rule23},
  	{7852, 1, &rule22},
  	{7853, 1, &rule23},
  	{7854, 1, &rule22},
  	{7855, 1, &rule23},
  	{7856, 1, &rule22},
  	{7857, 1, &rule23},
  	{7858, 1, &rule22},
  	{7859, 1, &rule23},
  	{7860, 1, &rule22},
  	{7861, 1, &rule23},
  	{7862, 1, &rule22},
  	{7863, 1, &rule23},
  	{7864, 1, &rule22},
  	{7865, 1, &rule23},
  	{7866, 1, &rule22},
  	{7867, 1, &rule23},
  	{7868, 1, &rule22},
  	{7869, 1, &rule23},
  	{7870, 1, &rule22},
  	{7871, 1, &rule23},
  	{7872, 1, &rule22},
  	{7873, 1, &rule23},
  	{7874, 1, &rule22},
  	{7875, 1, &rule23},
  	{7876, 1, &rule22},
  	{7877, 1, &rule23},
  	{7878, 1, &rule22},
  	{7879, 1, &rule23},
  	{7880, 1, &rule22},
  	{7881, 1, &rule23},
  	{7882, 1, &rule22},
  	{7883, 1, &rule23},
  	{7884, 1, &rule22},
  	{7885, 1, &rule23},
  	{7886, 1, &rule22},
  	{7887, 1, &rule23},
  	{7888, 1, &rule22},
  	{7889, 1, &rule23},
  	{7890, 1, &rule22},
  	{7891, 1, &rule23},
  	{7892, 1, &rule22},
  	{7893, 1, &rule23},
  	{7894, 1, &rule22},
  	{7895, 1, &rule23},
  	{7896, 1, &rule22},
  	{7897, 1, &rule23},
  	{7898, 1, &rule22},
  	{7899, 1, &rule23},
  	{7900, 1, &rule22},
  	{7901, 1, &rule23},
  	{7902, 1, &rule22},
  	{7903, 1, &rule23},
  	{7904, 1, &rule22},
  	{7905, 1, &rule23},
  	{7906, 1, &rule22},
  	{7907, 1, &rule23},
  	{7908, 1, &rule22},
  	{7909, 1, &rule23},
  	{7910, 1, &rule22},
  	{7911, 1, &rule23},
  	{7912, 1, &rule22},
  	{7913, 1, &rule23},
  	{7914, 1, &rule22},
  	{7915, 1, &rule23},
  	{7916, 1, &rule22},
  	{7917, 1, &rule23},
  	{7918, 1, &rule22},
  	{7919, 1, &rule23},
  	{7920, 1, &rule22},
  	{7921, 1, &rule23},
  	{7922, 1, &rule22},
  	{7923, 1, &rule23},
  	{7924, 1, &rule22},
  	{7925, 1, &rule23},
  	{7926, 1, &rule22},
  	{7927, 1, &rule23},
  	{7928, 1, &rule22},
  	{7929, 1, &rule23},
  	{7930, 1, &rule22},
  	{7931, 1, &rule23},
  	{7932, 1, &rule22},
  	{7933, 1, &rule23},
  	{7934, 1, &rule22},
  	{7935, 1, &rule23},
  	{7936, 8, &rule143},
  	{7944, 8, &rule144},
  	{7952, 6, &rule143},
  	{7960, 6, &rule144},
  	{7968, 8, &rule143},
  	{7976, 8, &rule144},
  	{7984, 8, &rule143},
  	{7992, 8, &rule144},
  	{8000, 6, &rule143},
  	{8008, 6, &rule144},
  	{8016, 1, &rule20},
  	{8017, 1, &rule143},
  	{8018, 1, &rule20},
  	{8019, 1, &rule143},
  	{8020, 1, &rule20},
  	{8021, 1, &rule143},
  	{8022, 1, &rule20},
  	{8023, 1, &rule143},
  	{8025, 1, &rule144},
  	{8027, 1, &rule144},
  	{8029, 1, &rule144},
  	{8031, 1, &rule144},
  	{8032, 8, &rule143},
  	{8040, 8, &rule144},
  	{8048, 2, &rule145},
  	{8050, 4, &rule146},
  	{8054, 2, &rule147},
  	{8056, 2, &rule148},
  	{8058, 2, &rule149},
  	{8060, 2, &rule150},
  	{8064, 8, &rule143},
  	{8072, 8, &rule151},
  	{8080, 8, &rule143},
  	{8088, 8, &rule151},
  	{8096, 8, &rule143},
  	{8104, 8, &rule151},
  	{8112, 2, &rule143},
  	{8114, 1, &rule20},
  	{8115, 1, &rule152},
  	{8116, 1, &rule20},
  	{8118, 2, &rule20},
  	{8120, 2, &rule144},
  	{8122, 2, &rule153},
  	{8124, 1, &rule154},
  	{8125, 1, &rule10},
  	{8126, 1, &rule155},
  	{8127, 3, &rule10},
  	{8130, 1, &rule20},
  	{8131, 1, &rule152},
  	{8132, 1, &rule20},
  	{8134, 2, &rule20},
  	{8136, 4, &rule156},
  	{8140, 1, &rule154},
  	{8141, 3, &rule10},
  	{8144, 2, &rule143},
  	{8146, 2, &rule20},
  	{8150, 2, &rule20},
  	{8152, 2, &rule144},
  	{8154, 2, &rule157},
  	{8157, 3, &rule10},
  	{8160, 2, &rule143},
  	{8162, 3, &rule20},
  	{8165, 1, &rule113},
  	{8166, 2, &rule20},
  	{8168, 2, &rule144},
  	{8170, 2, &rule158},
  	{8172, 1, &rule117},
  	{8173, 3, &rule10},
  	{8178, 1, &rule20},
  	{8179, 1, &rule152},
  	{8180, 1, &rule20},
  	{8182, 2, &rule20},
  	{8184, 2, &rule159},
  	{8186, 2, &rule160},
  	{8188, 1, &rule154},
  	{8189, 2, &rule10},
  	{8192, 11, &rule1},
  	{8203, 5, &rule16},
  	{8208, 6, &rule7},
  	{8214, 2, &rule2},
  	{8216, 1, &rule15},
  	{8217, 1, &rule19},
  	{8218, 1, &rule4},
  	{8219, 2, &rule15},
  	{8221, 1, &rule19},
  	{8222, 1, &rule4},
  	{8223, 1, &rule15},
  	{8224, 8, &rule2},
  	{8232, 1, &rule161},
  	{8233, 1, &rule162},
  	{8234, 5, &rule16},
  	{8239, 1, &rule1},
  	{8240, 9, &rule2},
  	{8249, 1, &rule15},
  	{8250, 1, &rule19},
  	{8251, 4, &rule2},
  	{8255, 2, &rule11},
  	{8257, 3, &rule2},
  	{8260, 1, &rule6},
  	{8261, 1, &rule4},
  	{8262, 1, &rule5},
  	{8263, 11, &rule2},
  	{8274, 1, &rule6},
  	{8275, 1, &rule2},
  	{8276, 1, &rule11},
  	{8277, 10, &rule2},
  	{8287, 1, &rule1},
  	{8288, 5, &rule16},
  	{8294, 10, &rule16},
  	{8304, 1, &rule17},
  	{8305, 1, &rule91},
  	{8308, 6, &rule17},
  	{8314, 3, &rule6},
  	{8317, 1, &rule4},
  	{8318, 1, &rule5},
  	{8319, 1, &rule91},
  	{8320, 10, &rule17},
  	{8330, 3, &rule6},
  	{8333, 1, &rule4},
  	{8334, 1, &rule5},
  	{8336, 13, &rule91},
  	{8352, 32, &rule3},
  	{8400, 13, &rule92},
  	{8413, 4, &rule119},
  	{8417, 1, &rule92},
  	{8418, 3, &rule119},
  	{8421, 12, &rule92},
  	{8448, 2, &rule13},
  	{8450, 1, &rule107},
  	{8451, 4, &rule13},
  	{8455, 1, &rule107},
  	{8456, 2, &rule13},
  	{8458, 1, &rule20},
  	{8459, 3, &rule107},
  	{8462, 2, &rule20},
  	{8464, 3, &rule107},
  	{8467, 1, &rule20},
  	{8468, 1, &rule13},
  	{8469, 1, &rule107},
  	{8470, 2, &rule13},
  	{8472, 1, &rule6},
  	{8473, 5, &rule107},
  	{8478, 6, &rule13},
  	{8484, 1, &rule107},
  	{8485, 1, &rule13},
  	{8486, 1, &rule163},
  	{8487, 1, &rule13},
  	{8488, 1, &rule107},
  	{8489, 1, &rule13},
  	{8490, 1, &rule164},
  	{8491, 1, &rule165},
  	{8492, 2, &rule107},
  	{8494, 1, &rule13},
  	{8495, 1, &rule20},
  	{8496, 2, &rule107},
  	{8498, 1, &rule166},
  	{8499, 1, &rule107},
  	{8500, 1, &rule20},
  	{8501, 4, &rule14},
  	{8505, 1, &rule20},
  	{8506, 2, &rule13},
  	{8508, 2, &rule20},
  	{8510, 2, &rule107},
  	{8512, 5, &rule6},
  	{8517, 1, &rule107},
  	{8518, 4, &rule20},
  	{8522, 1, &rule13},
  	{8523, 1, &rule6},
  	{8524, 2, &rule13},
  	{8526, 1, &rule167},
  	{8527, 1, &rule13},
  	{8528, 16, &rule17},
  	{8544, 16, &rule168},
  	{8560, 16, &rule169},
  	{8576, 3, &rule128},
  	{8579, 1, &rule22},
  	{8580, 1, &rule23},
  	{8581, 4, &rule128},
  	{8585, 1, &rule17},
  	{8586, 2, &rule13},
  	{8592, 5, &rule6},
  	{8597, 5, &rule13},
  	{8602, 2, &rule6},
  	{8604, 4, &rule13},
  	{8608, 1, &rule6},
  	{8609, 2, &rule13},
  	{8611, 1, &rule6},
  	{8612, 2, &rule13},
  	{8614, 1, &rule6},
  	{8615, 7, &rule13},
  	{8622, 1, &rule6},
  	{8623, 31, &rule13},
  	{8654, 2, &rule6},
  	{8656, 2, &rule13},
  	{8658, 1, &rule6},
  	{8659, 1, &rule13},
  	{8660, 1, &rule6},
  	{8661, 31, &rule13},
  	{8692, 268, &rule6},
  	{8960, 8, &rule13},
  	{8968, 1, &rule4},
  	{8969, 1, &rule5},
  	{8970, 1, &rule4},
  	{8971, 1, &rule5},
  	{8972, 20, &rule13},
  	{8992, 2, &rule6},
  	{8994, 7, &rule13},
  	{9001, 1, &rule4},
  	{9002, 1, &rule5},
  	{9003, 81, &rule13},
  	{9084, 1, &rule6},
  	{9085, 30, &rule13},
  	{9115, 25, &rule6},
  	{9140, 40, &rule13},
  	{9180, 6, &rule6},
  	{9186, 69, &rule13},
  	{9280, 11, &rule13},
  	{9312, 60, &rule17},
  	{9372, 26, &rule13},
  	{9398, 26, &rule170},
  	{9424, 26, &rule171},
  	{9450, 22, &rule17},
  	{9472, 183, &rule13},
  	{9655, 1, &rule6},
  	{9656, 9, &rule13},
  	{9665, 1, &rule6},
  	{9666, 54, &rule13},
  	{9720, 8, &rule6},
  	{9728, 111, &rule13},
  	{9839, 1, &rule6},
  	{9840, 248, &rule13},
  	{10088, 1, &rule4},
  	{10089, 1, &rule5},
  	{10090, 1, &rule4},
  	{10091, 1, &rule5},
  	{10092, 1, &rule4},
  	{10093, 1, &rule5},
  	{10094, 1, &rule4},
  	{10095, 1, &rule5},
  	{10096, 1, &rule4},
  	{10097, 1, &rule5},
  	{10098, 1, &rule4},
  	{10099, 1, &rule5},
  	{10100, 1, &rule4},
  	{10101, 1, &rule5},
  	{10102, 30, &rule17},
  	{10132, 44, &rule13},
  	{10176, 5, &rule6},
  	{10181, 1, &rule4},
  	{10182, 1, &rule5},
  	{10183, 31, &rule6},
  	{10214, 1, &rule4},
  	{10215, 1, &rule5},
  	{10216, 1, &rule4},
  	{10217, 1, &rule5},
  	{10218, 1, &rule4},
  	{10219, 1, &rule5},
  	{10220, 1, &rule4},
  	{10221, 1, &rule5},
  	{10222, 1, &rule4},
  	{10223, 1, &rule5},
  	{10224, 16, &rule6},
  	{10240, 256, &rule13},
  	{10496, 131, &rule6},
  	{10627, 1, &rule4},
  	{10628, 1, &rule5},
  	{10629, 1, &rule4},
  	{10630, 1, &rule5},
  	{10631, 1, &rule4},
  	{10632, 1, &rule5},
  	{10633, 1, &rule4},
  	{10634, 1, &rule5},
  	{10635, 1, &rule4},
  	{10636, 1, &rule5},
  	{10637, 1, &rule4},
  	{10638, 1, &rule5},
  	{10639, 1, &rule4},
  	{10640, 1, &rule5},
  	{10641, 1, &rule4},
  	{10642, 1, &rule5},
  	{10643, 1, &rule4},
  	{10644, 1, &rule5},
  	{10645, 1, &rule4},
  	{10646, 1, &rule5},
  	{10647, 1, &rule4},
  	{10648, 1, &rule5},
  	{10649, 63, &rule6},
  	{10712, 1, &rule4},
  	{10713, 1, &rule5},
  	{10714, 1, &rule4},
  	{10715, 1, &rule5},
  	{10716, 32, &rule6},
  	{10748, 1, &rule4},
  	{10749, 1, &rule5},
  	{10750, 258, &rule6},
  	{11008, 48, &rule13},
  	{11056, 21, &rule6},
  	{11077, 2, &rule13},
  	{11079, 6, &rule6},
  	{11085, 39, &rule13},
  	{11126, 32, &rule13},
  	{11159, 105, &rule13},
  	{11264, 47, &rule122},
  	{11312, 47, &rule123},
  	{11360, 1, &rule22},
  	{11361, 1, &rule23},
  	{11362, 1, &rule172},
  	{11363, 1, &rule173},
  	{11364, 1, &rule174},
  	{11365, 1, &rule175},
  	{11366, 1, &rule176},
  	{11367, 1, &rule22},
  	{11368, 1, &rule23},
  	{11369, 1, &rule22},
  	{11370, 1, &rule23},
  	{11371, 1, &rule22},
  	{11372, 1, &rule23},
  	{11373, 1, &rule177},
  	{11374, 1, &rule178},
  	{11375, 1, &rule179},
  	{11376, 1, &rule180},
  	{11377, 1, &rule20},
  	{11378, 1, &rule22},
  	{11379, 1, &rule23},
  	{11380, 1, &rule20},
  	{11381, 1, &rule22},
  	{11382, 1, &rule23},
  	{11383, 5, &rule20},
  	{11388, 2, &rule91},
  	{11390, 2, &rule181},
  	{11392, 1, &rule22},
  	{11393, 1, &rule23},
  	{11394, 1, &rule22},
  	{11395, 1, &rule23},
  	{11396, 1, &rule22},
  	{11397, 1, &rule23},
  	{11398, 1, &rule22},
  	{11399, 1, &rule23},
  	{11400, 1, &rule22},
  	{11401, 1, &rule23},
  	{11402, 1, &rule22},
  	{11403, 1, &rule23},
  	{11404, 1, &rule22},
  	{11405, 1, &rule23},
  	{11406, 1, &rule22},
  	{11407, 1, &rule23},
  	{11408, 1, &rule22},
  	{11409, 1, &rule23},
  	{11410, 1, &rule22},
  	{11411, 1, &rule23},
  	{11412, 1, &rule22},
  	{11413, 1, &rule23},
  	{11414, 1, &rule22},
  	{11415, 1, &rule23},
  	{11416, 1, &rule22},
  	{11417, 1, &rule23},
  	{11418, 1, &rule22},
  	{11419, 1, &rule23},
  	{11420, 1, &rule22},
  	{11421, 1, &rule23},
  	{11422, 1, &rule22},
  	{11423, 1, &rule23},
  	{11424, 1, &rule22},
  	{11425, 1, &rule23},
  	{11426, 1, &rule22},
  	{11427, 1, &rule23},
  	{11428, 1, &rule22},
  	{11429, 1, &rule23},
  	{11430, 1, &rule22},
  	{11431, 1, &rule23},
  	{11432, 1, &rule22},
  	{11433, 1, &rule23},
  	{11434, 1, &rule22},
  	{11435, 1, &rule23},
  	{11436, 1, &rule22},
  	{11437, 1, &rule23},
  	{11438, 1, &rule22},
  	{11439, 1, &rule23},
  	{11440, 1, &rule22},
  	{11441, 1, &rule23},
  	{11442, 1, &rule22},
  	{11443, 1, &rule23},
  	{11444, 1, &rule22},
  	{11445, 1, &rule23},
  	{11446, 1, &rule22},
  	{11447, 1, &rule23},
  	{11448, 1, &rule22},
  	{11449, 1, &rule23},
  	{11450, 1, &rule22},
  	{11451, 1, &rule23},
  	{11452, 1, &rule22},
  	{11453, 1, &rule23},
  	{11454, 1, &rule22},
  	{11455, 1, &rule23},
  	{11456, 1, &rule22},
  	{11457, 1, &rule23},
  	{11458, 1, &rule22},
  	{11459, 1, &rule23},
  	{11460, 1, &rule22},
  	{11461, 1, &rule23},
  	{11462, 1, &rule22},
  	{11463, 1, &rule23},
  	{11464, 1, &rule22},
  	{11465, 1, &rule23},
  	{11466, 1, &rule22},
  	{11467, 1, &rule23},
  	{11468, 1, &rule22},
  	{11469, 1, &rule23},
  	{11470, 1, &rule22},
  	{11471, 1, &rule23},
  	{11472, 1, &rule22},
  	{11473, 1, &rule23},
  	{11474, 1, &rule22},
  	{11475, 1, &rule23},
  	{11476, 1, &rule22},
  	{11477, 1, &rule23},
  	{11478, 1, &rule22},
  	{11479, 1, &rule23},
  	{11480, 1, &rule22},
  	{11481, 1, &rule23},
  	{11482, 1, &rule22},
  	{11483, 1, &rule23},
  	{11484, 1, &rule22},
  	{11485, 1, &rule23},
  	{11486, 1, &rule22},
  	{11487, 1, &rule23},
  	{11488, 1, &rule22},
  	{11489, 1, &rule23},
  	{11490, 1, &rule22},
  	{11491, 1, &rule23},
  	{11492, 1, &rule20},
  	{11493, 6, &rule13},
  	{11499, 1, &rule22},
  	{11500, 1, &rule23},
  	{11501, 1, &rule22},
  	{11502, 1, &rule23},
  	{11503, 3, &rule92},
  	{11506, 1, &rule22},
  	{11507, 1, &rule23},
  	{11513, 4, &rule2},
  	{11517, 1, &rule17},
  	{11518, 2, &rule2},
  	{11520, 38, &rule182},
  	{11559, 1, &rule182},
  	{11565, 1, &rule182},
  	{11568, 56, &rule14},
  	{11631, 1, &rule91},
  	{11632, 1, &rule2},
  	{11647, 1, &rule92},
  	{11648, 23, &rule14},
  	{11680, 7, &rule14},
  	{11688, 7, &rule14},
  	{11696, 7, &rule14},
  	{11704, 7, &rule14},
  	{11712, 7, &rule14},
  	{11720, 7, &rule14},
  	{11728, 7, &rule14},
  	{11736, 7, &rule14},
  	{11744, 32, &rule92},
  	{11776, 2, &rule2},
  	{11778, 1, &rule15},
  	{11779, 1, &rule19},
  	{11780, 1, &rule15},
  	{11781, 1, &rule19},
  	{11782, 3, &rule2},
  	{11785, 1, &rule15},
  	{11786, 1, &rule19},
  	{11787, 1, &rule2},
  	{11788, 1, &rule15},
  	{11789, 1, &rule19},
  	{11790, 9, &rule2},
  	{11799, 1, &rule7},
  	{11800, 2, &rule2},
  	{11802, 1, &rule7},
  	{11803, 1, &rule2},
  	{11804, 1, &rule15},
  	{11805, 1, &rule19},
  	{11806, 2, &rule2},
  	{11808, 1, &rule15},
  	{11809, 1, &rule19},
  	{11810, 1, &rule4},
  	{11811, 1, &rule5},
  	{11812, 1, &rule4},
  	{11813, 1, &rule5},
  	{11814, 1, &rule4},
  	{11815, 1, &rule5},
  	{11816, 1, &rule4},
  	{11817, 1, &rule5},
  	{11818, 5, &rule2},
  	{11823, 1, &rule91},
  	{11824, 10, &rule2},
  	{11834, 2, &rule7},
  	{11836, 4, &rule2},
  	{11840, 1, &rule7},
  	{11841, 1, &rule2},
  	{11842, 1, &rule4},
  	{11843, 13, &rule2},
  	{11856, 2, &rule13},
  	{11858, 1, &rule2},
  	{11904, 26, &rule13},
  	{11931, 89, &rule13},
  	{12032, 214, &rule13},
  	{12272, 12, &rule13},
  	{12288, 1, &rule1},
  	{12289, 3, &rule2},
  	{12292, 1, &rule13},
  	{12293, 1, &rule91},
  	{12294, 1, &rule14},
  	{12295, 1, &rule128},
  	{12296, 1, &rule4},
  	{12297, 1, &rule5},
  	{12298, 1, &rule4},
  	{12299, 1, &rule5},
  	{12300, 1, &rule4},
  	{12301, 1, &rule5},
  	{12302, 1, &rule4},
  	{12303, 1, &rule5},
  	{12304, 1, &rule4},
  	{12305, 1, &rule5},
  	{12306, 2, &rule13},
  	{12308, 1, &rule4},
  	{12309, 1, &rule5},
  	{12310, 1, &rule4},
  	{12311, 1, &rule5},
  	{12312, 1, &rule4},
  	{12313, 1, &rule5},
  	{12314, 1, &rule4},
  	{12315, 1, &rule5},
  	{12316, 1, &rule7},
  	{12317, 1, &rule4},
  	{12318, 2, &rule5},
  	{12320, 1, &rule13},
  	{12321, 9, &rule128},
  	{12330, 4, &rule92},
  	{12334, 2, &rule124},
  	{12336, 1, &rule7},
  	{12337, 5, &rule91},
  	{12342, 2, &rule13},
  	{12344, 3, &rule128},
  	{12347, 1, &rule91},
  	{12348, 1, &rule14},
  	{12349, 1, &rule2},
  	{12350, 2, &rule13},
  	{12353, 86, &rule14},
  	{12441, 2, &rule92},
  	{12443, 2, &rule10},
  	{12445, 2, &rule91},
  	{12447, 1, &rule14},
  	{12448, 1, &rule7},
  	{12449, 90, &rule14},
  	{12539, 1, &rule2},
  	{12540, 3, &rule91},
  	{12543, 1, &rule14},
  	{12549, 43, &rule14},
  	{12593, 94, &rule14},
  	{12688, 2, &rule13},
  	{12690, 4, &rule17},
  	{12694, 10, &rule13},
  	{12704, 32, &rule14},
  	{12736, 36, &rule13},
  	{12784, 16, &rule14},
  	{12800, 31, &rule13},
  	{12832, 10, &rule17},
  	{12842, 30, &rule13},
  	{12872, 8, &rule17},
  	{12880, 1, &rule13},
  	{12881, 15, &rule17},
  	{12896, 32, &rule13},
  	{12928, 10, &rule17},
  	{12938, 39, &rule13},
  	{12977, 15, &rule17},
  	{12992, 320, &rule13},
  	{13312, 6592, &rule14},
  	{19904, 64, &rule13},
  	{19968, 20989, &rule14},
  	{40960, 21, &rule14},
  	{40981, 1, &rule91},
  	{40982, 1143, &rule14},
  	{42128, 55, &rule13},
  	{42192, 40, &rule14},
  	{42232, 6, &rule91},
  	{42238, 2, &rule2},
  	{42240, 268, &rule14},
  	{42508, 1, &rule91},
  	{42509, 3, &rule2},
  	{42512, 16, &rule14},
  	{42528, 10, &rule8},
  	{42538, 2, &rule14},
  	{42560, 1, &rule22},
  	{42561, 1, &rule23},
  	{42562, 1, &rule22},
  	{42563, 1, &rule23},
  	{42564, 1, &rule22},
  	{42565, 1, &rule23},
  	{42566, 1, &rule22},
  	{42567, 1, &rule23},
  	{42568, 1, &rule22},
  	{42569, 1, &rule23},
  	{42570, 1, &rule22},
  	{42571, 1, &rule23},
  	{42572, 1, &rule22},
  	{42573, 1, &rule23},
  	{42574, 1, &rule22},
  	{42575, 1, &rule23},
  	{42576, 1, &rule22},
  	{42577, 1, &rule23},
  	{42578, 1, &rule22},
  	{42579, 1, &rule23},
  	{42580, 1, &rule22},
  	{42581, 1, &rule23},
  	{42582, 1, &rule22},
  	{42583, 1, &rule23},
  	{42584, 1, &rule22},
  	{42585, 1, &rule23},
  	{42586, 1, &rule22},
  	{42587, 1, &rule23},
  	{42588, 1, &rule22},
  	{42589, 1, &rule23},
  	{42590, 1, &rule22},
  	{42591, 1, &rule23},
  	{42592, 1, &rule22},
  	{42593, 1, &rule23},
  	{42594, 1, &rule22},
  	{42595, 1, &rule23},
  	{42596, 1, &rule22},
  	{42597, 1, &rule23},
  	{42598, 1, &rule22},
  	{42599, 1, &rule23},
  	{42600, 1, &rule22},
  	{42601, 1, &rule23},
  	{42602, 1, &rule22},
  	{42603, 1, &rule23},
  	{42604, 1, &rule22},
  	{42605, 1, &rule23},
  	{42606, 1, &rule14},
  	{42607, 1, &rule92},
  	{42608, 3, &rule119},
  	{42611, 1, &rule2},
  	{42612, 10, &rule92},
  	{42622, 1, &rule2},
  	{42623, 1, &rule91},
  	{42624, 1, &rule22},
  	{42625, 1, &rule23},
  	{42626, 1, &rule22},
  	{42627, 1, &rule23},
  	{42628, 1, &rule22},
  	{42629, 1, &rule23},
  	{42630, 1, &rule22},
  	{42631, 1, &rule23},
  	{42632, 1, &rule22},
  	{42633, 1, &rule23},
  	{42634, 1, &rule22},
  	{42635, 1, &rule23},
  	{42636, 1, &rule22},
  	{42637, 1, &rule23},
  	{42638, 1, &rule22},
  	{42639, 1, &rule23},
  	{42640, 1, &rule22},
  	{42641, 1, &rule23},
  	{42642, 1, &rule22},
  	{42643, 1, &rule23},
  	{42644, 1, &rule22},
  	{42645, 1, &rule23},
  	{42646, 1, &rule22},
  	{42647, 1, &rule23},
  	{42648, 1, &rule22},
  	{42649, 1, &rule23},
  	{42650, 1, &rule22},
  	{42651, 1, &rule23},
  	{42652, 2, &rule91},
  	{42654, 2, &rule92},
  	{42656, 70, &rule14},
  	{42726, 10, &rule128},
  	{42736, 2, &rule92},
  	{42738, 6, &rule2},
  	{42752, 23, &rule10},
  	{42775, 9, &rule91},
  	{42784, 2, &rule10},
  	{42786, 1, &rule22},
  	{42787, 1, &rule23},
  	{42788, 1, &rule22},
  	{42789, 1, &rule23},
  	{42790, 1, &rule22},
  	{42791, 1, &rule23},
  	{42792, 1, &rule22},
  	{42793, 1, &rule23},
  	{42794, 1, &rule22},
  	{42795, 1, &rule23},
  	{42796, 1, &rule22},
  	{42797, 1, &rule23},
  	{42798, 1, &rule22},
  	{42799, 1, &rule23},
  	{42800, 2, &rule20},
  	{42802, 1, &rule22},
  	{42803, 1, &rule23},
  	{42804, 1, &rule22},
  	{42805, 1, &rule23},
  	{42806, 1, &rule22},
  	{42807, 1, &rule23},
  	{42808, 1, &rule22},
  	{42809, 1, &rule23},
  	{42810, 1, &rule22},
  	{42811, 1, &rule23},
  	{42812, 1, &rule22},
  	{42813, 1, &rule23},
  	{42814, 1, &rule22},
  	{42815, 1, &rule23},
  	{42816, 1, &rule22},
  	{42817, 1, &rule23},
  	{42818, 1, &rule22},
  	{42819, 1, &rule23},
  	{42820, 1, &rule22},
  	{42821, 1, &rule23},
  	{42822, 1, &rule22},
  	{42823, 1, &rule23},
  	{42824, 1, &rule22},
  	{42825, 1, &rule23},
  	{42826, 1, &rule22},
  	{42827, 1, &rule23},
  	{42828, 1, &rule22},
  	{42829, 1, &rule23},
  	{42830, 1, &rule22},
  	{42831, 1, &rule23},
  	{42832, 1, &rule22},
  	{42833, 1, &rule23},
  	{42834, 1, &rule22},
  	{42835, 1, &rule23},
  	{42836, 1, &rule22},
  	{42837, 1, &rule23},
  	{42838, 1, &rule22},
  	{42839, 1, &rule23},
  	{42840, 1, &rule22},
  	{42841, 1, &rule23},
  	{42842, 1, &rule22},
  	{42843, 1, &rule23},
  	{42844, 1, &rule22},
  	{42845, 1, &rule23},
  	{42846, 1, &rule22},
  	{42847, 1, &rule23},
  	{42848, 1, &rule22},
  	{42849, 1, &rule23},
  	{42850, 1, &rule22},
  	{42851, 1, &rule23},
  	{42852, 1, &rule22},
  	{42853, 1, &rule23},
  	{42854, 1, &rule22},
  	{42855, 1, &rule23},
  	{42856, 1, &rule22},
  	{42857, 1, &rule23},
  	{42858, 1, &rule22},
  	{42859, 1, &rule23},
  	{42860, 1, &rule22},
  	{42861, 1, &rule23},
  	{42862, 1, &rule22},
  	{42863, 1, &rule23},
  	{42864, 1, &rule91},
  	{42865, 8, &rule20},
  	{42873, 1, &rule22},
  	{42874, 1, &rule23},
  	{42875, 1, &rule22},
  	{42876, 1, &rule23},
  	{42877, 1, &rule183},
  	{42878, 1, &rule22},
  	{42879, 1, &rule23},
  	{42880, 1, &rule22},
  	{42881, 1, &rule23},
  	{42882, 1, &rule22},
  	{42883, 1, &rule23},
  	{42884, 1, &rule22},
  	{42885, 1, &rule23},
  	{42886, 1, &rule22},
  	{42887, 1, &rule23},
  	{42888, 1, &rule91},
  	{42889, 2, &rule10},
  	{42891, 1, &rule22},
  	{42892, 1, &rule23},
  	{42893, 1, &rule184},
  	{42894, 1, &rule20},
  	{42895, 1, &rule14},
  	{42896, 1, &rule22},
  	{42897, 1, &rule23},
  	{42898, 1, &rule22},
  	{42899, 1, &rule23},
  	{42900, 1, &rule185},
  	{42901, 1, &rule20},
  	{42902, 1, &rule22},
  	{42903, 1, &rule23},
  	{42904, 1, &rule22},
  	{42905, 1, &rule23},
  	{42906, 1, &rule22},
  	{42907, 1, &rule23},
  	{42908, 1, &rule22},
  	{42909, 1, &rule23},
  	{42910, 1, &rule22},
  	{42911, 1, &rule23},
  	{42912, 1, &rule22},
  	{42913, 1, &rule23},
  	{42914, 1, &rule22},
  	{42915, 1, &rule23},
  	{42916, 1, &rule22},
  	{42917, 1, &rule23},
  	{42918, 1, &rule22},
  	{42919, 1, &rule23},
  	{42920, 1, &rule22},
  	{42921, 1, &rule23},
  	{42922, 1, &rule186},
  	{42923, 1, &rule187},
  	{42924, 1, &rule188},
  	{42925, 1, &rule189},
  	{42926, 1, &rule186},
  	{42927, 1, &rule20},
  	{42928, 1, &rule190},
  	{42929, 1, &rule191},
  	{42930, 1, &rule192},
  	{42931, 1, &rule193},
  	{42932, 1, &rule22},
  	{42933, 1, &rule23},
  	{42934, 1, &rule22},
  	{42935, 1, &rule23},
  	{42936, 1, &rule22},
  	{42937, 1, &rule23},
  	{42938, 1, &rule22},
  	{42939, 1, &rule23},
  	{42940, 1, &rule22},
  	{42941, 1, &rule23},
  	{42942, 1, &rule22},
  	{42943, 1, &rule23},
  	{42946, 1, &rule22},
  	{42947, 1, &rule23},
  	{42948, 1, &rule194},
  	{42949, 1, &rule195},
  	{42950, 1, &rule196},
  	{42951, 1, &rule22},
  	{42952, 1, &rule23},
  	{42953, 1, &rule22},
  	{42954, 1, &rule23},
  	{42997, 1, &rule22},
  	{42998, 1, &rule23},
  	{42999, 1, &rule14},
  	{43000, 2, &rule91},
  	{43002, 1, &rule20},
  	{43003, 7, &rule14},
  	{43010, 1, &rule92},
  	{43011, 3, &rule14},
  	{43014, 1, &rule92},
  	{43015, 4, &rule14},
  	{43019, 1, &rule92},
  	{43020, 23, &rule14},
  	{43043, 2, &rule124},
  	{43045, 2, &rule92},
  	{43047, 1, &rule124},
  	{43048, 4, &rule13},
  	{43052, 1, &rule92},
  	{43056, 6, &rule17},
  	{43062, 2, &rule13},
  	{43064, 1, &rule3},
  	{43065, 1, &rule13},
  	{43072, 52, &rule14},
  	{43124, 4, &rule2},
  	{43136, 2, &rule124},
  	{43138, 50, &rule14},
  	{43188, 16, &rule124},
  	{43204, 2, &rule92},
  	{43214, 2, &rule2},
  	{43216, 10, &rule8},
  	{43232, 18, &rule92},
  	{43250, 6, &rule14},
  	{43256, 3, &rule2},
  	{43259, 1, &rule14},
  	{43260, 1, &rule2},
  	{43261, 2, &rule14},
  	{43263, 1, &rule92},
  	{43264, 10, &rule8},
  	{43274, 28, &rule14},
  	{43302, 8, &rule92},
  	{43310, 2, &rule2},
  	{43312, 23, &rule14},
  	{43335, 11, &rule92},
  	{43346, 2, &rule124},
  	{43359, 1, &rule2},
  	{43360, 29, &rule14},
  	{43392, 3, &rule92},
  	{43395, 1, &rule124},
  	{43396, 47, &rule14},
  	{43443, 1, &rule92},
  	{43444, 2, &rule124},
  	{43446, 4, &rule92},
  	{43450, 2, &rule124},
  	{43452, 2, &rule92},
  	{43454, 3, &rule124},
  	{43457, 13, &rule2},
  	{43471, 1, &rule91},
  	{43472, 10, &rule8},
  	{43486, 2, &rule2},
  	{43488, 5, &rule14},
  	{43493, 1, &rule92},
  	{43494, 1, &rule91},
  	{43495, 9, &rule14},
  	{43504, 10, &rule8},
  	{43514, 5, &rule14},
  	{43520, 41, &rule14},
  	{43561, 6, &rule92},
  	{43567, 2, &rule124},
  	{43569, 2, &rule92},
  	{43571, 2, &rule124},
  	{43573, 2, &rule92},
  	{43584, 3, &rule14},
  	{43587, 1, &rule92},
  	{43588, 8, &rule14},
  	{43596, 1, &rule92},
  	{43597, 1, &rule124},
  	{43600, 10, &rule8},
  	{43612, 4, &rule2},
  	{43616, 16, &rule14},
  	{43632, 1, &rule91},
  	{43633, 6, &rule14},
  	{43639, 3, &rule13},
  	{43642, 1, &rule14},
  	{43643, 1, &rule124},
  	{43644, 1, &rule92},
  	{43645, 1, &rule124},
  	{43646, 50, &rule14},
  	{43696, 1, &rule92},
  	{43697, 1, &rule14},
  	{43698, 3, &rule92},
  	{43701, 2, &rule14},
  	{43703, 2, &rule92},
  	{43705, 5, &rule14},
  	{43710, 2, &rule92},
  	{43712, 1, &rule14},
  	{43713, 1, &rule92},
  	{43714, 1, &rule14},
  	{43739, 2, &rule14},
  	{43741, 1, &rule91},
  	{43742, 2, &rule2},
  	{43744, 11, &rule14},
  	{43755, 1, &rule124},
  	{43756, 2, &rule92},
  	{43758, 2, &rule124},
  	{43760, 2, &rule2},
  	{43762, 1, &rule14},
  	{43763, 2, &rule91},
  	{43765, 1, &rule124},
  	{43766, 1, &rule92},
  	{43777, 6, &rule14},
  	{43785, 6, &rule14},
  	{43793, 6, &rule14},
  	{43808, 7, &rule14},
  	{43816, 7, &rule14},
  	{43824, 35, &rule20},
  	{43859, 1, &rule197},
  	{43860, 7, &rule20},
  	{43867, 1, &rule10},
  	{43868, 4, &rule91},
  	{43872, 9, &rule20},
  	{43881, 1, &rule91},
  	{43882, 2, &rule10},
  	{43888, 80, &rule198},
  	{43968, 35, &rule14},
  	{44003, 2, &rule124},
  	{44005, 1, &rule92},
  	{44006, 2, &rule124},
  	{44008, 1, &rule92},
  	{44009, 2, &rule124},
  	{44011, 1, &rule2},
  	{44012, 1, &rule124},
  	{44013, 1, &rule92},
  	{44016, 10, &rule8},
  	{44032, 11172, &rule14},
  	{55216, 23, &rule14},
  	{55243, 49, &rule14},
  	{55296, 896, &rule199},
  	{56192, 128, &rule199},
  	{56320, 1024, &rule199},
  	{57344, 6400, &rule200},
  	{63744, 366, &rule14},
  	{64112, 106, &rule14},
  	{64256, 7, &rule20},
  	{64275, 5, &rule20},
  	{64285, 1, &rule14},
  	{64286, 1, &rule92},
  	{64287, 10, &rule14},
  	{64297, 1, &rule6},
  	{64298, 13, &rule14},
  	{64312, 5, &rule14},
  	{64318, 1, &rule14},
  	{64320, 2, &rule14},
  	{64323, 2, &rule14},
  	{64326, 108, &rule14},
  	{64434, 16, &rule10},
  	{64467, 363, &rule14},
  	{64830, 1, &rule5},
  	{64831, 1, &rule4},
  	{64848, 64, &rule14},
  	{64914, 54, &rule14},
  	{65008, 12, &rule14},
  	{65020, 1, &rule3},
  	{65021, 1, &rule13},
  	{65024, 16, &rule92},
  	{65040, 7, &rule2},
  	{65047, 1, &rule4},
  	{65048, 1, &rule5},
  	{65049, 1, &rule2},
  	{65056, 16, &rule92},
  	{65072, 1, &rule2},
  	{65073, 2, &rule7},
  	{65075, 2, &rule11},
  	{65077, 1, &rule4},
  	{65078, 1, &rule5},
  	{65079, 1, &rule4},
  	{65080, 1, &rule5},
  	{65081, 1, &rule4},
  	{65082, 1, &rule5},
  	{65083, 1, &rule4},
  	{65084, 1, &rule5},
  	{65085, 1, &rule4},
  	{65086, 1, &rule5},
  	{65087, 1, &rule4},
  	{65088, 1, &rule5},
  	{65089, 1, &rule4},
  	{65090, 1, &rule5},
  	{65091, 1, &rule4},
  	{65092, 1, &rule5},
  	{65093, 2, &rule2},
  	{65095, 1, &rule4},
  	{65096, 1, &rule5},
  	{65097, 4, &rule2},
  	{65101, 3, &rule11},
  	{65104, 3, &rule2},
  	{65108, 4, &rule2},
  	{65112, 1, &rule7},
  	{65113, 1, &rule4},
  	{65114, 1, &rule5},
  	{65115, 1, &rule4},
  	{65116, 1, &rule5},
  	{65117, 1, &rule4},
  	{65118, 1, &rule5},
  	{65119, 3, &rule2},
  	{65122, 1, &rule6},
  	{65123, 1, &rule7},
  	{65124, 3, &rule6},
  	{65128, 1, &rule2},
  	{65129, 1, &rule3},
  	{65130, 2, &rule2},
  	{65136, 5, &rule14},
  	{65142, 135, &rule14},
  	{65279, 1, &rule16},
  	{65281, 3, &rule2},
  	{65284, 1, &rule3},
  	{65285, 3, &rule2},
  	{65288, 1, &rule4},
  	{65289, 1, &rule5},
  	{65290, 1, &rule2},
  	{65291, 1, &rule6},
  	{65292, 1, &rule2},
  	{65293, 1, &rule7},
  	{65294, 2, &rule2},
  	{65296, 10, &rule8},
  	{65306, 2, &rule2},
  	{65308, 3, &rule6},
  	{65311, 2, &rule2},
  	{65313, 26, &rule9},
  	{65339, 1, &rule4},
  	{65340, 1, &rule2},
  	{65341, 1, &rule5},
  	{65342, 1, &rule10},
  	{65343, 1, &rule11},
  	{65344, 1, &rule10},
  	{65345, 26, &rule12},
  	{65371, 1, &rule4},
  	{65372, 1, &rule6},
  	{65373, 1, &rule5},
  	{65374, 1, &rule6},
  	{65375, 1, &rule4},
  	{65376, 1, &rule5},
  	{65377, 1, &rule2},
  	{65378, 1, &rule4},
  	{65379, 1, &rule5},
  	{65380, 2, &rule2},
  	{65382, 10, &rule14},
  	{65392, 1, &rule91},
  	{65393, 45, &rule14},
  	{65438, 2, &rule91},
  	{65440, 31, &rule14},
  	{65474, 6, &rule14},
  	{65482, 6, &rule14},
  	{65490, 6, &rule14},
  	{65498, 3, &rule14},
  	{65504, 2, &rule3},
  	{65506, 1, &rule6},
  	{65507, 1, &rule10},
  	{65508, 1, &rule13},
  	{65509, 2, &rule3},
  	{65512, 1, &rule13},
  	{65513, 4, &rule6},
  	{65517, 2, &rule13},
  	{65529, 3, &rule16},
  	{65532, 2, &rule13},
  	{65536, 12, &rule14},
  	{65549, 26, &rule14},
  	{65576, 19, &rule14},
  	{65596, 2, &rule14},
  	{65599, 15, &rule14},
  	{65616, 14, &rule14},
  	{65664, 123, &rule14},
  	{65792, 3, &rule2},
  	{65799, 45, &rule17},
  	{65847, 9, &rule13},
  	{65856, 53, &rule128},
  	{65909, 4, &rule17},
  	{65913, 17, &rule13},
  	{65930, 2, &rule17},
  	{65932, 3, &rule13},
  	{65936, 13, &rule13},
  	{65952, 1, &rule13},
  	{66000, 45, &rule13},
  	{66045, 1, &rule92},
  	{66176, 29, &rule14},
  	{66208, 49, &rule14},
  	{66272, 1, &rule92},
  	{66273, 27, &rule17},
  	{66304, 32, &rule14},
  	{66336, 4, &rule17},
  	{66349, 20, &rule14},
  	{66369, 1, &rule128},
  	{66370, 8, &rule14},
  	{66378, 1, &rule128},
  	{66384, 38, &rule14},
  	{66422, 5, &rule92},
  	{66432, 30, &rule14},
  	{66463, 1, &rule2},
  	{66464, 36, &rule14},
  	{66504, 8, &rule14},
  	{66512, 1, &rule2},
  	{66513, 5, &rule128},
  	{66560, 40, &rule201},
  	{66600, 40, &rule202},
  	{66640, 78, &rule14},
  	{66720, 10, &rule8},
  	{66736, 36, &rule201},
  	{66776, 36, &rule202},
  	{66816, 40, &rule14},
  	{66864, 52, &rule14},
  	{66927, 1, &rule2},
  	{67072, 311, &rule14},
  	{67392, 22, &rule14},
  	{67424, 8, &rule14},
  	{67584, 6, &rule14},
  	{67592, 1, &rule14},
  	{67594, 44, &rule14},
  	{67639, 2, &rule14},
  	{67644, 1, &rule14},
  	{67647, 23, &rule14},
  	{67671, 1, &rule2},
  	{67672, 8, &rule17},
  	{67680, 23, &rule14},
  	{67703, 2, &rule13},
  	{67705, 7, &rule17},
  	{67712, 31, &rule14},
  	{67751, 9, &rule17},
  	{67808, 19, &rule14},
  	{67828, 2, &rule14},
  	{67835, 5, &rule17},
  	{67840, 22, &rule14},
  	{67862, 6, &rule17},
  	{67871, 1, &rule2},
  	{67872, 26, &rule14},
  	{67903, 1, &rule2},
  	{67968, 56, &rule14},
  	{68028, 2, &rule17},
  	{68030, 2, &rule14},
  	{68032, 16, &rule17},
  	{68050, 46, &rule17},
  	{68096, 1, &rule14},
  	{68097, 3, &rule92},
  	{68101, 2, &rule92},
  	{68108, 4, &rule92},
  	{68112, 4, &rule14},
  	{68117, 3, &rule14},
  	{68121, 29, &rule14},
  	{68152, 3, &rule92},
  	{68159, 1, &rule92},
  	{68160, 9, &rule17},
  	{68176, 9, &rule2},
  	{68192, 29, &rule14},
  	{68221, 2, &rule17},
  	{68223, 1, &rule2},
  	{68224, 29, &rule14},
  	{68253, 3, &rule17},
  	{68288, 8, &rule14},
  	{68296, 1, &rule13},
  	{68297, 28, &rule14},
  	{68325, 2, &rule92},
  	{68331, 5, &rule17},
  	{68336, 7, &rule2},
  	{68352, 54, &rule14},
  	{68409, 7, &rule2},
  	{68416, 22, &rule14},
  	{68440, 8, &rule17},
  	{68448, 19, &rule14},
  	{68472, 8, &rule17},
  	{68480, 18, &rule14},
  	{68505, 4, &rule2},
  	{68521, 7, &rule17},
  	{68608, 73, &rule14},
  	{68736, 51, &rule97},
  	{68800, 51, &rule102},
  	{68858, 6, &rule17},
  	{68864, 36, &rule14},
  	{68900, 4, &rule92},
  	{68912, 10, &rule8},
  	{69216, 31, &rule17},
  	{69248, 42, &rule14},
  	{69291, 2, &rule92},
  	{69293, 1, &rule7},
  	{69296, 2, &rule14},
  	{69376, 29, &rule14},
  	{69405, 10, &rule17},
  	{69415, 1, &rule14},
  	{69424, 22, &rule14},
  	{69446, 11, &rule92},
  	{69457, 4, &rule17},
  	{69461, 5, &rule2},
  	{69552, 21, &rule14},
  	{69573, 7, &rule17},
  	{69600, 23, &rule14},
  	{69632, 1, &rule124},
  	{69633, 1, &rule92},
  	{69634, 1, &rule124},
  	{69635, 53, &rule14},
  	{69688, 15, &rule92},
  	{69703, 7, &rule2},
  	{69714, 20, &rule17},
  	{69734, 10, &rule8},
  	{69759, 3, &rule92},
  	{69762, 1, &rule124},
  	{69763, 45, &rule14},
  	{69808, 3, &rule124},
  	{69811, 4, &rule92},
  	{69815, 2, &rule124},
  	{69817, 2, &rule92},
  	{69819, 2, &rule2},
  	{69821, 1, &rule16},
  	{69822, 4, &rule2},
  	{69837, 1, &rule16},
  	{69840, 25, &rule14},
  	{69872, 10, &rule8},
  	{69888, 3, &rule92},
  	{69891, 36, &rule14},
  	{69927, 5, &rule92},
  	{69932, 1, &rule124},
  	{69933, 8, &rule92},
  	{69942, 10, &rule8},
  	{69952, 4, &rule2},
  	{69956, 1, &rule14},
  	{69957, 2, &rule124},
  	{69959, 1, &rule14},
  	{69968, 35, &rule14},
  	{70003, 1, &rule92},
  	{70004, 2, &rule2},
  	{70006, 1, &rule14},
  	{70016, 2, &rule92},
  	{70018, 1, &rule124},
  	{70019, 48, &rule14},
  	{70067, 3, &rule124},
  	{70070, 9, &rule92},
  	{70079, 2, &rule124},
  	{70081, 4, &rule14},
  	{70085, 4, &rule2},
  	{70089, 4, &rule92},
  	{70093, 1, &rule2},
  	{70094, 1, &rule124},
  	{70095, 1, &rule92},
  	{70096, 10, &rule8},
  	{70106, 1, &rule14},
  	{70107, 1, &rule2},
  	{70108, 1, &rule14},
  	{70109, 3, &rule2},
  	{70113, 20, &rule17},
  	{70144, 18, &rule14},
  	{70163, 25, &rule14},
  	{70188, 3, &rule124},
  	{70191, 3, &rule92},
  	{70194, 2, &rule124},
  	{70196, 1, &rule92},
  	{70197, 1, &rule124},
  	{70198, 2, &rule92},
  	{70200, 6, &rule2},
  	{70206, 1, &rule92},
  	{70272, 7, &rule14},
  	{70280, 1, &rule14},
  	{70282, 4, &rule14},
  	{70287, 15, &rule14},
  	{70303, 10, &rule14},
  	{70313, 1, &rule2},
  	{70320, 47, &rule14},
  	{70367, 1, &rule92},
  	{70368, 3, &rule124},
  	{70371, 8, &rule92},
  	{70384, 10, &rule8},
  	{70400, 2, &rule92},
  	{70402, 2, &rule124},
  	{70405, 8, &rule14},
  	{70415, 2, &rule14},
  	{70419, 22, &rule14},
  	{70442, 7, &rule14},
  	{70450, 2, &rule14},
  	{70453, 5, &rule14},
  	{70459, 2, &rule92},
  	{70461, 1, &rule14},
  	{70462, 2, &rule124},
  	{70464, 1, &rule92},
  	{70465, 4, &rule124},
  	{70471, 2, &rule124},
  	{70475, 3, &rule124},
  	{70480, 1, &rule14},
  	{70487, 1, &rule124},
  	{70493, 5, &rule14},
  	{70498, 2, &rule124},
  	{70502, 7, &rule92},
  	{70512, 5, &rule92},
  	{70656, 53, &rule14},
  	{70709, 3, &rule124},
  	{70712, 8, &rule92},
  	{70720, 2, &rule124},
  	{70722, 3, &rule92},
  	{70725, 1, &rule124},
  	{70726, 1, &rule92},
  	{70727, 4, &rule14},
  	{70731, 5, &rule2},
  	{70736, 10, &rule8},
  	{70746, 2, &rule2},
  	{70749, 1, &rule2},
  	{70750, 1, &rule92},
  	{70751, 3, &rule14},
  	{70784, 48, &rule14},
  	{70832, 3, &rule124},
  	{70835, 6, &rule92},
  	{70841, 1, &rule124},
  	{70842, 1, &rule92},
  	{70843, 4, &rule124},
  	{70847, 2, &rule92},
  	{70849, 1, &rule124},
  	{70850, 2, &rule92},
  	{70852, 2, &rule14},
  	{70854, 1, &rule2},
  	{70855, 1, &rule14},
  	{70864, 10, &rule8},
  	{71040, 47, &rule14},
  	{71087, 3, &rule124},
  	{71090, 4, &rule92},
  	{71096, 4, &rule124},
  	{71100, 2, &rule92},
  	{71102, 1, &rule124},
  	{71103, 2, &rule92},
  	{71105, 23, &rule2},
  	{71128, 4, &rule14},
  	{71132, 2, &rule92},
  	{71168, 48, &rule14},
  	{71216, 3, &rule124},
  	{71219, 8, &rule92},
  	{71227, 2, &rule124},
  	{71229, 1, &rule92},
  	{71230, 1, &rule124},
  	{71231, 2, &rule92},
  	{71233, 3, &rule2},
  	{71236, 1, &rule14},
  	{71248, 10, &rule8},
  	{71264, 13, &rule2},
  	{71296, 43, &rule14},
  	{71339, 1, &rule92},
  	{71340, 1, &rule124},
  	{71341, 1, &rule92},
  	{71342, 2, &rule124},
  	{71344, 6, &rule92},
  	{71350, 1, &rule124},
  	{71351, 1, &rule92},
  	{71352, 1, &rule14},
  	{71360, 10, &rule8},
  	{71424, 27, &rule14},
  	{71453, 3, &rule92},
  	{71456, 2, &rule124},
  	{71458, 4, &rule92},
  	{71462, 1, &rule124},
  	{71463, 5, &rule92},
  	{71472, 10, &rule8},
  	{71482, 2, &rule17},
  	{71484, 3, &rule2},
  	{71487, 1, &rule13},
  	{71680, 44, &rule14},
  	{71724, 3, &rule124},
  	{71727, 9, &rule92},
  	{71736, 1, &rule124},
  	{71737, 2, &rule92},
  	{71739, 1, &rule2},
  	{71840, 32, &rule9},
  	{71872, 32, &rule12},
  	{71904, 10, &rule8},
  	{71914, 9, &rule17},
  	{71935, 8, &rule14},
  	{71945, 1, &rule14},
  	{71948, 8, &rule14},
  	{71957, 2, &rule14},
  	{71960, 24, &rule14},
  	{71984, 6, &rule124},
  	{71991, 2, &rule124},
  	{71995, 2, &rule92},
  	{71997, 1, &rule124},
  	{71998, 1, &rule92},
  	{71999, 1, &rule14},
  	{72000, 1, &rule124},
  	{72001, 1, &rule14},
  	{72002, 1, &rule124},
  	{72003, 1, &rule92},
  	{72004, 3, &rule2},
  	{72016, 10, &rule8},
  	{72096, 8, &rule14},
  	{72106, 39, &rule14},
  	{72145, 3, &rule124},
  	{72148, 4, &rule92},
  	{72154, 2, &rule92},
  	{72156, 4, &rule124},
  	{72160, 1, &rule92},
  	{72161, 1, &rule14},
  	{72162, 1, &rule2},
  	{72163, 1, &rule14},
  	{72164, 1, &rule124},
  	{72192, 1, &rule14},
  	{72193, 10, &rule92},
  	{72203, 40, &rule14},
  	{72243, 6, &rule92},
  	{72249, 1, &rule124},
  	{72250, 1, &rule14},
  	{72251, 4, &rule92},
  	{72255, 8, &rule2},
  	{72263, 1, &rule92},
  	{72272, 1, &rule14},
  	{72273, 6, &rule92},
  	{72279, 2, &rule124},
  	{72281, 3, &rule92},
  	{72284, 46, &rule14},
  	{72330, 13, &rule92},
  	{72343, 1, &rule124},
  	{72344, 2, &rule92},
  	{72346, 3, &rule2},
  	{72349, 1, &rule14},
  	{72350, 5, &rule2},
  	{72384, 57, &rule14},
  	{72704, 9, &rule14},
  	{72714, 37, &rule14},
  	{72751, 1, &rule124},
  	{72752, 7, &rule92},
  	{72760, 6, &rule92},
  	{72766, 1, &rule124},
  	{72767, 1, &rule92},
  	{72768, 1, &rule14},
  	{72769, 5, &rule2},
  	{72784, 10, &rule8},
  	{72794, 19, &rule17},
  	{72816, 2, &rule2},
  	{72818, 30, &rule14},
  	{72850, 22, &rule92},
  	{72873, 1, &rule124},
  	{72874, 7, &rule92},
  	{72881, 1, &rule124},
  	{72882, 2, &rule92},
  	{72884, 1, &rule124},
  	{72885, 2, &rule92},
  	{72960, 7, &rule14},
  	{72968, 2, &rule14},
  	{72971, 38, &rule14},
  	{73009, 6, &rule92},
  	{73018, 1, &rule92},
  	{73020, 2, &rule92},
  	{73023, 7, &rule92},
  	{73030, 1, &rule14},
  	{73031, 1, &rule92},
  	{73040, 10, &rule8},
  	{73056, 6, &rule14},
  	{73063, 2, &rule14},
  	{73066, 32, &rule14},
  	{73098, 5, &rule124},
  	{73104, 2, &rule92},
  	{73107, 2, &rule124},
  	{73109, 1, &rule92},
  	{73110, 1, &rule124},
  	{73111, 1, &rule92},
  	{73112, 1, &rule14},
  	{73120, 10, &rule8},
  	{73440, 19, &rule14},
  	{73459, 2, &rule92},
  	{73461, 2, &rule124},
  	{73463, 2, &rule2},
  	{73648, 1, &rule14},
  	{73664, 21, &rule17},
  	{73685, 8, &rule13},
  	{73693, 4, &rule3},
  	{73697, 17, &rule13},
  	{73727, 1, &rule2},
  	{73728, 922, &rule14},
  	{74752, 111, &rule128},
  	{74864, 5, &rule2},
  	{74880, 196, &rule14},
  	{77824, 1071, &rule14},
  	{78896, 9, &rule16},
  	{82944, 583, &rule14},
  	{92160, 569, &rule14},
  	{92736, 31, &rule14},
  	{92768, 10, &rule8},
  	{92782, 2, &rule2},
  	{92880, 30, &rule14},
  	{92912, 5, &rule92},
  	{92917, 1, &rule2},
  	{92928, 48, &rule14},
  	{92976, 7, &rule92},
  	{92983, 5, &rule2},
  	{92988, 4, &rule13},
  	{92992, 4, &rule91},
  	{92996, 1, &rule2},
  	{92997, 1, &rule13},
  	{93008, 10, &rule8},
  	{93019, 7, &rule17},
  	{93027, 21, &rule14},
  	{93053, 19, &rule14},
  	{93760, 32, &rule9},
  	{93792, 32, &rule12},
  	{93824, 23, &rule17},
  	{93847, 4, &rule2},
  	{93952, 75, &rule14},
  	{94031, 1, &rule92},
  	{94032, 1, &rule14},
  	{94033, 55, &rule124},
  	{94095, 4, &rule92},
  	{94099, 13, &rule91},
  	{94176, 2, &rule91},
  	{94178, 1, &rule2},
  	{94179, 1, &rule91},
  	{94180, 1, &rule92},
  	{94192, 2, &rule124},
  	{94208, 6136, &rule14},
  	{100352, 1238, &rule14},
  	{101632, 9, &rule14},
  	{110592, 287, &rule14},
  	{110928, 3, &rule14},
  	{110948, 4, &rule14},
  	{110960, 396, &rule14},
  	{113664, 107, &rule14},
  	{113776, 13, &rule14},
  	{113792, 9, &rule14},
  	{113808, 10, &rule14},
  	{113820, 1, &rule13},
  	{113821, 2, &rule92},
  	{113823, 1, &rule2},
  	{113824, 4, &rule16},
  	{118784, 246, &rule13},
  	{119040, 39, &rule13},
  	{119081, 60, &rule13},
  	{119141, 2, &rule124},
  	{119143, 3, &rule92},
  	{119146, 3, &rule13},
  	{119149, 6, &rule124},
  	{119155, 8, &rule16},
  	{119163, 8, &rule92},
  	{119171, 2, &rule13},
  	{119173, 7, &rule92},
  	{119180, 30, &rule13},
  	{119210, 4, &rule92},
  	{119214, 59, &rule13},
  	{119296, 66, &rule13},
  	{119362, 3, &rule92},
  	{119365, 1, &rule13},
  	{119520, 20, &rule17},
  	{119552, 87, &rule13},
  	{119648, 25, &rule17},
  	{119808, 26, &rule107},
  	{119834, 26, &rule20},
  	{119860, 26, &rule107},
  	{119886, 7, &rule20},
  	{119894, 18, &rule20},
  	{119912, 26, &rule107},
  	{119938, 26, &rule20},
  	{119964, 1, &rule107},
  	{119966, 2, &rule107},
  	{119970, 1, &rule107},
  	{119973, 2, &rule107},
  	{119977, 4, &rule107},
  	{119982, 8, &rule107},
  	{119990, 4, &rule20},
  	{119995, 1, &rule20},
  	{119997, 7, &rule20},
  	{120005, 11, &rule20},
  	{120016, 26, &rule107},
  	{120042, 26, &rule20},
  	{120068, 2, &rule107},
  	{120071, 4, &rule107},
  	{120077, 8, &rule107},
  	{120086, 7, &rule107},
  	{120094, 26, &rule20},
  	{120120, 2, &rule107},
  	{120123, 4, &rule107},
  	{120128, 5, &rule107},
  	{120134, 1, &rule107},
  	{120138, 7, &rule107},
  	{120146, 26, &rule20},
  	{120172, 26, &rule107},
  	{120198, 26, &rule20},
  	{120224, 26, &rule107},
  	{120250, 26, &rule20},
  	{120276, 26, &rule107},
  	{120302, 26, &rule20},
  	{120328, 26, &rule107},
  	{120354, 26, &rule20},
  	{120380, 26, &rule107},
  	{120406, 26, &rule20},
  	{120432, 26, &rule107},
  	{120458, 28, &rule20},
  	{120488, 25, &rule107},
  	{120513, 1, &rule6},
  	{120514, 25, &rule20},
  	{120539, 1, &rule6},
  	{120540, 6, &rule20},
  	{120546, 25, &rule107},
  	{120571, 1, &rule6},
  	{120572, 25, &rule20},
  	{120597, 1, &rule6},
  	{120598, 6, &rule20},
  	{120604, 25, &rule107},
  	{120629, 1, &rule6},
  	{120630, 25, &rule20},
  	{120655, 1, &rule6},
  	{120656, 6, &rule20},
  	{120662, 25, &rule107},
  	{120687, 1, &rule6},
  	{120688, 25, &rule20},
  	{120713, 1, &rule6},
  	{120714, 6, &rule20},
  	{120720, 25, &rule107},
  	{120745, 1, &rule6},
  	{120746, 25, &rule20},
  	{120771, 1, &rule6},
  	{120772, 6, &rule20},
  	{120778, 1, &rule107},
  	{120779, 1, &rule20},
  	{120782, 50, &rule8},
  	{120832, 512, &rule13},
  	{121344, 55, &rule92},
  	{121399, 4, &rule13},
  	{121403, 50, &rule92},
  	{121453, 8, &rule13},
  	{121461, 1, &rule92},
  	{121462, 14, &rule13},
  	{121476, 1, &rule92},
  	{121477, 2, &rule13},
  	{121479, 5, &rule2},
  	{121499, 5, &rule92},
  	{121505, 15, &rule92},
  	{122880, 7, &rule92},
  	{122888, 17, &rule92},
  	{122907, 7, &rule92},
  	{122915, 2, &rule92},
  	{122918, 5, &rule92},
  	{123136, 45, &rule14},
  	{123184, 7, &rule92},
  	{123191, 7, &rule91},
  	{123200, 10, &rule8},
  	{123214, 1, &rule14},
  	{123215, 1, &rule13},
  	{123584, 44, &rule14},
  	{123628, 4, &rule92},
  	{123632, 10, &rule8},
  	{123647, 1, &rule3},
  	{124928, 197, &rule14},
  	{125127, 9, &rule17},
  	{125136, 7, &rule92},
  	{125184, 34, &rule203},
  	{125218, 34, &rule204},
  	{125252, 7, &rule92},
  	{125259, 1, &rule91},
  	{125264, 10, &rule8},
  	{125278, 2, &rule2},
  	{126065, 59, &rule17},
  	{126124, 1, &rule13},
  	{126125, 3, &rule17},
  	{126128, 1, &rule3},
  	{126129, 4, &rule17},
  	{126209, 45, &rule17},
  	{126254, 1, &rule13},
  	{126255, 15, &rule17},
  	{126464, 4, &rule14},
  	{126469, 27, &rule14},
  	{126497, 2, &rule14},
  	{126500, 1, &rule14},
  	{126503, 1, &rule14},
  	{126505, 10, &rule14},
  	{126516, 4, &rule14},
  	{126521, 1, &rule14},
  	{126523, 1, &rule14},
  	{126530, 1, &rule14},
  	{126535, 1, &rule14},
  	{126537, 1, &rule14},
  	{126539, 1, &rule14},
  	{126541, 3, &rule14},
  	{126545, 2, &rule14},
  	{126548, 1, &rule14},
  	{126551, 1, &rule14},
  	{126553, 1, &rule14},
  	{126555, 1, &rule14},
  	{126557, 1, &rule14},
  	{126559, 1, &rule14},
  	{126561, 2, &rule14},
  	{126564, 1, &rule14},
  	{126567, 4, &rule14},
  	{126572, 7, &rule14},
  	{126580, 4, &rule14},
  	{126585, 4, &rule14},
  	{126590, 1, &rule14},
  	{126592, 10, &rule14},
  	{126603, 17, &rule14},
  	{126625, 3, &rule14},
  	{126629, 5, &rule14},
  	{126635, 17, &rule14},
  	{126704, 2, &rule6},
  	{126976, 44, &rule13},
  	{127024, 100, &rule13},
  	{127136, 15, &rule13},
  	{127153, 15, &rule13},
  	{127169, 15, &rule13},
  	{127185, 37, &rule13},
  	{127232, 13, &rule17},
  	{127245, 161, &rule13},
  	{127462, 29, &rule13},
  	{127504, 44, &rule13},
  	{127552, 9, &rule13},
  	{127568, 2, &rule13},
  	{127584, 6, &rule13},
  	{127744, 251, &rule13},
  	{127995, 5, &rule10},
  	{128000, 728, &rule13},
  	{128736, 13, &rule13},
  	{128752, 13, &rule13},
  	{128768, 116, &rule13},
  	{128896, 89, &rule13},
  	{128992, 12, &rule13},
  	{129024, 12, &rule13},
  	{129040, 56, &rule13},
  	{129104, 10, &rule13},
  	{129120, 40, &rule13},
  	{129168, 30, &rule13},
  	{129200, 2, &rule13},
  	{129280, 121, &rule13},
  	{129402, 82, &rule13},
  	{129485, 135, &rule13},
  	{129632, 14, &rule13},
  	{129648, 5, &rule13},
  	{129656, 3, &rule13},
  	{129664, 7, &rule13},
  	{129680, 25, &rule13},
  	{129712, 7, &rule13},
  	{129728, 3, &rule13},
  	{129744, 7, &rule13},
  	{129792, 147, &rule13},
  	{129940, 55, &rule13},
  	{130032, 10, &rule8},
  	{131072, 42718, &rule14},
  	{173824, 4149, &rule14},
  	{177984, 222, &rule14},
  	{178208, 5762, &rule14},
  	{183984, 7473, &rule14},
  	{194560, 542, &rule14},
  	{196608, 4939, &rule14},
  	{917505, 1, &rule16},
  	{917536, 96, &rule16},
  	{917760, 240, &rule92},
  	{983040, 65534, &rule200},
  	{1048576, 65534, &rule200}
  };
  static const struct _charblock_ convchars[]={
  	{65, 26, &rule9},
  	{97, 26, &rule12},
  	{181, 1, &rule18},
  	{192, 23, &rule9},
  	{216, 7, &rule9},
  	{224, 23, &rule12},
  	{248, 7, &rule12},
  	{255, 1, &rule21},
  	{256, 1, &rule22},
  	{257, 1, &rule23},
  	{258, 1, &rule22},
  	{259, 1, &rule23},
  	{260, 1, &rule22},
  	{261, 1, &rule23},
  	{262, 1, &rule22},
  	{263, 1, &rule23},
  	{264, 1, &rule22},
  	{265, 1, &rule23},
  	{266, 1, &rule22},
  	{267, 1, &rule23},
  	{268, 1, &rule22},
  	{269, 1, &rule23},
  	{270, 1, &rule22},
  	{271, 1, &rule23},
  	{272, 1, &rule22},
  	{273, 1, &rule23},
  	{274, 1, &rule22},
  	{275, 1, &rule23},
  	{276, 1, &rule22},
  	{277, 1, &rule23},
  	{278, 1, &rule22},
  	{279, 1, &rule23},
  	{280, 1, &rule22},
  	{281, 1, &rule23},
  	{282, 1, &rule22},
  	{283, 1, &rule23},
  	{284, 1, &rule22},
  	{285, 1, &rule23},
  	{286, 1, &rule22},
  	{287, 1, &rule23},
  	{288, 1, &rule22},
  	{289, 1, &rule23},
  	{290, 1, &rule22},
  	{291, 1, &rule23},
  	{292, 1, &rule22},
  	{293, 1, &rule23},
  	{294, 1, &rule22},
  	{295, 1, &rule23},
  	{296, 1, &rule22},
  	{297, 1, &rule23},
  	{298, 1, &rule22},
  	{299, 1, &rule23},
  	{300, 1, &rule22},
  	{301, 1, &rule23},
  	{302, 1, &rule22},
  	{303, 1, &rule23},
  	{304, 1, &rule24},
  	{305, 1, &rule25},
  	{306, 1, &rule22},
  	{307, 1, &rule23},
  	{308, 1, &rule22},
  	{309, 1, &rule23},
  	{310, 1, &rule22},
  	{311, 1, &rule23},
  	{313, 1, &rule22},
  	{314, 1, &rule23},
  	{315, 1, &rule22},
  	{316, 1, &rule23},
  	{317, 1, &rule22},
  	{318, 1, &rule23},
  	{319, 1, &rule22},
  	{320, 1, &rule23},
  	{321, 1, &rule22},
  	{322, 1, &rule23},
  	{323, 1, &rule22},
  	{324, 1, &rule23},
  	{325, 1, &rule22},
  	{326, 1, &rule23},
  	{327, 1, &rule22},
  	{328, 1, &rule23},
  	{330, 1, &rule22},
  	{331, 1, &rule23},
  	{332, 1, &rule22},
  	{333, 1, &rule23},
  	{334, 1, &rule22},
  	{335, 1, &rule23},
  	{336, 1, &rule22},
  	{337, 1, &rule23},
  	{338, 1, &rule22},
  	{339, 1, &rule23},
  	{340, 1, &rule22},
  	{341, 1, &rule23},
  	{342, 1, &rule22},
  	{343, 1, &rule23},
  	{344, 1, &rule22},
  	{345, 1, &rule23},
  	{346, 1, &rule22},
  	{347, 1, &rule23},
  	{348, 1, &rule22},
  	{349, 1, &rule23},
  	{350, 1, &rule22},
  	{351, 1, &rule23},
  	{352, 1, &rule22},
  	{353, 1, &rule23},
  	{354, 1, &rule22},
  	{355, 1, &rule23},
  	{356, 1, &rule22},
  	{357, 1, &rule23},
  	{358, 1, &rule22},
  	{359, 1, &rule23},
  	{360, 1, &rule22},
  	{361, 1, &rule23},
  	{362, 1, &rule22},
  	{363, 1, &rule23},
  	{364, 1, &rule22},
  	{365, 1, &rule23},
  	{366, 1, &rule22},
  	{367, 1, &rule23},
  	{368, 1, &rule22},
  	{369, 1, &rule23},
  	{370, 1, &rule22},
  	{371, 1, &rule23},
  	{372, 1, &rule22},
  	{373, 1, &rule23},
  	{374, 1, &rule22},
  	{375, 1, &rule23},
  	{376, 1, &rule26},
  	{377, 1, &rule22},
  	{378, 1, &rule23},
  	{379, 1, &rule22},
  	{380, 1, &rule23},
  	{381, 1, &rule22},
  	{382, 1, &rule23},
  	{383, 1, &rule27},
  	{384, 1, &rule28},
  	{385, 1, &rule29},
  	{386, 1, &rule22},
  	{387, 1, &rule23},
  	{388, 1, &rule22},
  	{389, 1, &rule23},
  	{390, 1, &rule30},
  	{391, 1, &rule22},
  	{392, 1, &rule23},
  	{393, 2, &rule31},
  	{395, 1, &rule22},
  	{396, 1, &rule23},
  	{398, 1, &rule32},
  	{399, 1, &rule33},
  	{400, 1, &rule34},
  	{401, 1, &rule22},
  	{402, 1, &rule23},
  	{403, 1, &rule31},
  	{404, 1, &rule35},
  	{405, 1, &rule36},
  	{406, 1, &rule37},
  	{407, 1, &rule38},
  	{408, 1, &rule22},
  	{409, 1, &rule23},
  	{410, 1, &rule39},
  	{412, 1, &rule37},
  	{413, 1, &rule40},
  	{414, 1, &rule41},
  	{415, 1, &rule42},
  	{416, 1, &rule22},
  	{417, 1, &rule23},
  	{418, 1, &rule22},
  	{419, 1, &rule23},
  	{420, 1, &rule22},
  	{421, 1, &rule23},
  	{422, 1, &rule43},
  	{423, 1, &rule22},
  	{424, 1, &rule23},
  	{425, 1, &rule43},
  	{428, 1, &rule22},
  	{429, 1, &rule23},
  	{430, 1, &rule43},
  	{431, 1, &rule22},
  	{432, 1, &rule23},
  	{433, 2, &rule44},
  	{435, 1, &rule22},
  	{436, 1, &rule23},
  	{437, 1, &rule22},
  	{438, 1, &rule23},
  	{439, 1, &rule45},
  	{440, 1, &rule22},
  	{441, 1, &rule23},
  	{444, 1, &rule22},
  	{445, 1, &rule23},
  	{447, 1, &rule46},
  	{452, 1, &rule47},
  	{453, 1, &rule48},
  	{454, 1, &rule49},
  	{455, 1, &rule47},
  	{456, 1, &rule48},
  	{457, 1, &rule49},
  	{458, 1, &rule47},
  	{459, 1, &rule48},
  	{460, 1, &rule49},
  	{461, 1, &rule22},
  	{462, 1, &rule23},
  	{463, 1, &rule22},
  	{464, 1, &rule23},
  	{465, 1, &rule22},
  	{466, 1, &rule23},
  	{467, 1, &rule22},
  	{468, 1, &rule23},
  	{469, 1, &rule22},
  	{470, 1, &rule23},
  	{471, 1, &rule22},
  	{472, 1, &rule23},
  	{473, 1, &rule22},
  	{474, 1, &rule23},
  	{475, 1, &rule22},
  	{476, 1, &rule23},
  	{477, 1, &rule50},
  	{478, 1, &rule22},
  	{479, 1, &rule23},
  	{480, 1, &rule22},
  	{481, 1, &rule23},
  	{482, 1, &rule22},
  	{483, 1, &rule23},
  	{484, 1, &rule22},
  	{485, 1, &rule23},
  	{486, 1, &rule22},
  	{487, 1, &rule23},
  	{488, 1, &rule22},
  	{489, 1, &rule23},
  	{490, 1, &rule22},
  	{491, 1, &rule23},
  	{492, 1, &rule22},
  	{493, 1, &rule23},
  	{494, 1, &rule22},
  	{495, 1, &rule23},
  	{497, 1, &rule47},
  	{498, 1, &rule48},
  	{499, 1, &rule49},
  	{500, 1, &rule22},
  	{501, 1, &rule23},
  	{502, 1, &rule51},
  	{503, 1, &rule52},
  	{504, 1, &rule22},
  	{505, 1, &rule23},
  	{506, 1, &rule22},
  	{507, 1, &rule23},
  	{508, 1, &rule22},
  	{509, 1, &rule23},
  	{510, 1, &rule22},
  	{511, 1, &rule23},
  	{512, 1, &rule22},
  	{513, 1, &rule23},
  	{514, 1, &rule22},
  	{515, 1, &rule23},
  	{516, 1, &rule22},
  	{517, 1, &rule23},
  	{518, 1, &rule22},
  	{519, 1, &rule23},
  	{520, 1, &rule22},
  	{521, 1, &rule23},
  	{522, 1, &rule22},
  	{523, 1, &rule23},
  	{524, 1, &rule22},
  	{525, 1, &rule23},
  	{526, 1, &rule22},
  	{527, 1, &rule23},
  	{528, 1, &rule22},
  	{529, 1, &rule23},
  	{530, 1, &rule22},
  	{531, 1, &rule23},
  	{532, 1, &rule22},
  	{533, 1, &rule23},
  	{534, 1, &rule22},
  	{535, 1, &rule23},
  	{536, 1, &rule22},
  	{537, 1, &rule23},
  	{538, 1, &rule22},
  	{539, 1, &rule23},
  	{540, 1, &rule22},
  	{541, 1, &rule23},
  	{542, 1, &rule22},
  	{543, 1, &rule23},
  	{544, 1, &rule53},
  	{546, 1, &rule22},
  	{547, 1, &rule23},
  	{548, 1, &rule22},
  	{549, 1, &rule23},
  	{550, 1, &rule22},
  	{551, 1, &rule23},
  	{552, 1, &rule22},
  	{553, 1, &rule23},
  	{554, 1, &rule22},
  	{555, 1, &rule23},
  	{556, 1, &rule22},
  	{557, 1, &rule23},
  	{558, 1, &rule22},
  	{559, 1, &rule23},
  	{560, 1, &rule22},
  	{561, 1, &rule23},
  	{562, 1, &rule22},
  	{563, 1, &rule23},
  	{570, 1, &rule54},
  	{571, 1, &rule22},
  	{572, 1, &rule23},
  	{573, 1, &rule55},
  	{574, 1, &rule56},
  	{575, 2, &rule57},
  	{577, 1, &rule22},
  	{578, 1, &rule23},
  	{579, 1, &rule58},
  	{580, 1, &rule59},
  	{581, 1, &rule60},
  	{582, 1, &rule22},
  	{583, 1, &rule23},
  	{584, 1, &rule22},
  	{585, 1, &rule23},
  	{586, 1, &rule22},
  	{587, 1, &rule23},
  	{588, 1, &rule22},
  	{589, 1, &rule23},
  	{590, 1, &rule22},
  	{591, 1, &rule23},
  	{592, 1, &rule61},
  	{593, 1, &rule62},
  	{594, 1, &rule63},
  	{595, 1, &rule64},
  	{596, 1, &rule65},
  	{598, 2, &rule66},
  	{601, 1, &rule67},
  	{603, 1, &rule68},
  	{604, 1, &rule69},
  	{608, 1, &rule66},
  	{609, 1, &rule70},
  	{611, 1, &rule71},
  	{613, 1, &rule72},
  	{614, 1, &rule73},
  	{616, 1, &rule74},
  	{617, 1, &rule75},
  	{618, 1, &rule73},
  	{619, 1, &rule76},
  	{620, 1, &rule77},
  	{623, 1, &rule75},
  	{625, 1, &rule78},
  	{626, 1, &rule79},
  	{629, 1, &rule80},
  	{637, 1, &rule81},
  	{640, 1, &rule82},
  	{642, 1, &rule83},
  	{643, 1, &rule82},
  	{647, 1, &rule84},
  	{648, 1, &rule82},
  	{649, 1, &rule85},
  	{650, 2, &rule86},
  	{652, 1, &rule87},
  	{658, 1, &rule88},
  	{669, 1, &rule89},
  	{670, 1, &rule90},
  	{837, 1, &rule93},
  	{880, 1, &rule22},
  	{881, 1, &rule23},
  	{882, 1, &rule22},
  	{883, 1, &rule23},
  	{886, 1, &rule22},
  	{887, 1, &rule23},
  	{891, 3, &rule41},
  	{895, 1, &rule94},
  	{902, 1, &rule95},
  	{904, 3, &rule96},
  	{908, 1, &rule97},
  	{910, 2, &rule98},
  	{913, 17, &rule9},
  	{931, 9, &rule9},
  	{940, 1, &rule99},
  	{941, 3, &rule100},
  	{945, 17, &rule12},
  	{962, 1, &rule101},
  	{963, 9, &rule12},
  	{972, 1, &rule102},
  	{973, 2, &rule103},
  	{975, 1, &rule104},
  	{976, 1, &rule105},
  	{977, 1, &rule106},
  	{981, 1, &rule108},
  	{982, 1, &rule109},
  	{983, 1, &rule110},
  	{984, 1, &rule22},
  	{985, 1, &rule23},
  	{986, 1, &rule22},
  	{987, 1, &rule23},
  	{988, 1, &rule22},
  	{989, 1, &rule23},
  	{990, 1, &rule22},
  	{991, 1, &rule23},
  	{992, 1, &rule22},
  	{993, 1, &rule23},
  	{994, 1, &rule22},
  	{995, 1, &rule23},
  	{996, 1, &rule22},
  	{997, 1, &rule23},
  	{998, 1, &rule22},
  	{999, 1, &rule23},
  	{1000, 1, &rule22},
  	{1001, 1, &rule23},
  	{1002, 1, &rule22},
  	{1003, 1, &rule23},
  	{1004, 1, &rule22},
  	{1005, 1, &rule23},
  	{1006, 1, &rule22},
  	{1007, 1, &rule23},
  	{1008, 1, &rule111},
  	{1009, 1, &rule112},
  	{1010, 1, &rule113},
  	{1011, 1, &rule114},
  	{1012, 1, &rule115},
  	{1013, 1, &rule116},
  	{1015, 1, &rule22},
  	{1016, 1, &rule23},
  	{1017, 1, &rule117},
  	{1018, 1, &rule22},
  	{1019, 1, &rule23},
  	{1021, 3, &rule53},
  	{1024, 16, &rule118},
  	{1040, 32, &rule9},
  	{1072, 32, &rule12},
  	{1104, 16, &rule112},
  	{1120, 1, &rule22},
  	{1121, 1, &rule23},
  	{1122, 1, &rule22},
  	{1123, 1, &rule23},
  	{1124, 1, &rule22},
  	{1125, 1, &rule23},
  	{1126, 1, &rule22},
  	{1127, 1, &rule23},
  	{1128, 1, &rule22},
  	{1129, 1, &rule23},
  	{1130, 1, &rule22},
  	{1131, 1, &rule23},
  	{1132, 1, &rule22},
  	{1133, 1, &rule23},
  	{1134, 1, &rule22},
  	{1135, 1, &rule23},
  	{1136, 1, &rule22},
  	{1137, 1, &rule23},
  	{1138, 1, &rule22},
  	{1139, 1, &rule23},
  	{1140, 1, &rule22},
  	{1141, 1, &rule23},
  	{1142, 1, &rule22},
  	{1143, 1, &rule23},
  	{1144, 1, &rule22},
  	{1145, 1, &rule23},
  	{1146, 1, &rule22},
  	{1147, 1, &rule23},
  	{1148, 1, &rule22},
  	{1149, 1, &rule23},
  	{1150, 1, &rule22},
  	{1151, 1, &rule23},
  	{1152, 1, &rule22},
  	{1153, 1, &rule23},
  	{1162, 1, &rule22},
  	{1163, 1, &rule23},
  	{1164, 1, &rule22},
  	{1165, 1, &rule23},
  	{1166, 1, &rule22},
  	{1167, 1, &rule23},
  	{1168, 1, &rule22},
  	{1169, 1, &rule23},
  	{1170, 1, &rule22},
  	{1171, 1, &rule23},
  	{1172, 1, &rule22},
  	{1173, 1, &rule23},
  	{1174, 1, &rule22},
  	{1175, 1, &rule23},
  	{1176, 1, &rule22},
  	{1177, 1, &rule23},
  	{1178, 1, &rule22},
  	{1179, 1, &rule23},
  	{1180, 1, &rule22},
  	{1181, 1, &rule23},
  	{1182, 1, &rule22},
  	{1183, 1, &rule23},
  	{1184, 1, &rule22},
  	{1185, 1, &rule23},
  	{1186, 1, &rule22},
  	{1187, 1, &rule23},
  	{1188, 1, &rule22},
  	{1189, 1, &rule23},
  	{1190, 1, &rule22},
  	{1191, 1, &rule23},
  	{1192, 1, &rule22},
  	{1193, 1, &rule23},
  	{1194, 1, &rule22},
  	{1195, 1, &rule23},
  	{1196, 1, &rule22},
  	{1197, 1, &rule23},
  	{1198, 1, &rule22},
  	{1199, 1, &rule23},
  	{1200, 1, &rule22},
  	{1201, 1, &rule23},
  	{1202, 1, &rule22},
  	{1203, 1, &rule23},
  	{1204, 1, &rule22},
  	{1205, 1, &rule23},
  	{1206, 1, &rule22},
  	{1207, 1, &rule23},
  	{1208, 1, &rule22},
  	{1209, 1, &rule23},
  	{1210, 1, &rule22},
  	{1211, 1, &rule23},
  	{1212, 1, &rule22},
  	{1213, 1, &rule23},
  	{1214, 1, &rule22},
  	{1215, 1, &rule23},
  	{1216, 1, &rule120},
  	{1217, 1, &rule22},
  	{1218, 1, &rule23},
  	{1219, 1, &rule22},
  	{1220, 1, &rule23},
  	{1221, 1, &rule22},
  	{1222, 1, &rule23},
  	{1223, 1, &rule22},
  	{1224, 1, &rule23},
  	{1225, 1, &rule22},
  	{1226, 1, &rule23},
  	{1227, 1, &rule22},
  	{1228, 1, &rule23},
  	{1229, 1, &rule22},
  	{1230, 1, &rule23},
  	{1231, 1, &rule121},
  	{1232, 1, &rule22},
  	{1233, 1, &rule23},
  	{1234, 1, &rule22},
  	{1235, 1, &rule23},
  	{1236, 1, &rule22},
  	{1237, 1, &rule23},
  	{1238, 1, &rule22},
  	{1239, 1, &rule23},
  	{1240, 1, &rule22},
  	{1241, 1, &rule23},
  	{1242, 1, &rule22},
  	{1243, 1, &rule23},
  	{1244, 1, &rule22},
  	{1245, 1, &rule23},
  	{1246, 1, &rule22},
  	{1247, 1, &rule23},
  	{1248, 1, &rule22},
  	{1249, 1, &rule23},
  	{1250, 1, &rule22},
  	{1251, 1, &rule23},
  	{1252, 1, &rule22},
  	{1253, 1, &rule23},
  	{1254, 1, &rule22},
  	{1255, 1, &rule23},
  	{1256, 1, &rule22},
  	{1257, 1, &rule23},
  	{1258, 1, &rule22},
  	{1259, 1, &rule23},
  	{1260, 1, &rule22},
  	{1261, 1, &rule23},
  	{1262, 1, &rule22},
  	{1263, 1, &rule23},
  	{1264, 1, &rule22},
  	{1265, 1, &rule23},
  	{1266, 1, &rule22},
  	{1267, 1, &rule23},
  	{1268, 1, &rule22},
  	{1269, 1, &rule23},
  	{1270, 1, &rule22},
  	{1271, 1, &rule23},
  	{1272, 1, &rule22},
  	{1273, 1, &rule23},
  	{1274, 1, &rule22},
  	{1275, 1, &rule23},
  	{1276, 1, &rule22},
  	{1277, 1, &rule23},
  	{1278, 1, &rule22},
  	{1279, 1, &rule23},
  	{1280, 1, &rule22},
  	{1281, 1, &rule23},
  	{1282, 1, &rule22},
  	{1283, 1, &rule23},
  	{1284, 1, &rule22},
  	{1285, 1, &rule23},
  	{1286, 1, &rule22},
  	{1287, 1, &rule23},
  	{1288, 1, &rule22},
  	{1289, 1, &rule23},
  	{1290, 1, &rule22},
  	{1291, 1, &rule23},
  	{1292, 1, &rule22},
  	{1293, 1, &rule23},
  	{1294, 1, &rule22},
  	{1295, 1, &rule23},
  	{1296, 1, &rule22},
  	{1297, 1, &rule23},
  	{1298, 1, &rule22},
  	{1299, 1, &rule23},
  	{1300, 1, &rule22},
  	{1301, 1, &rule23},
  	{1302, 1, &rule22},
  	{1303, 1, &rule23},
  	{1304, 1, &rule22},
  	{1305, 1, &rule23},
  	{1306, 1, &rule22},
  	{1307, 1, &rule23},
  	{1308, 1, &rule22},
  	{1309, 1, &rule23},
  	{1310, 1, &rule22},
  	{1311, 1, &rule23},
  	{1312, 1, &rule22},
  	{1313, 1, &rule23},
  	{1314, 1, &rule22},
  	{1315, 1, &rule23},
  	{1316, 1, &rule22},
  	{1317, 1, &rule23},
  	{1318, 1, &rule22},
  	{1319, 1, &rule23},
  	{1320, 1, &rule22},
  	{1321, 1, &rule23},
  	{1322, 1, &rule22},
  	{1323, 1, &rule23},
  	{1324, 1, &rule22},
  	{1325, 1, &rule23},
  	{1326, 1, &rule22},
  	{1327, 1, &rule23},
  	{1329, 38, &rule122},
  	{1377, 38, &rule123},
  	{4256, 38, &rule125},
  	{4295, 1, &rule125},
  	{4301, 1, &rule125},
  	{4304, 43, &rule126},
  	{4349, 3, &rule126},
  	{5024, 80, &rule127},
  	{5104, 6, &rule104},
  	{5112, 6, &rule110},
  	{7296, 1, &rule129},
  	{7297, 1, &rule130},
  	{7298, 1, &rule131},
  	{7299, 2, &rule132},
  	{7301, 1, &rule133},
  	{7302, 1, &rule134},
  	{7303, 1, &rule135},
  	{7304, 1, &rule136},
  	{7312, 43, &rule137},
  	{7357, 3, &rule137},
  	{7545, 1, &rule138},
  	{7549, 1, &rule139},
  	{7566, 1, &rule140},
  	{7680, 1, &rule22},
  	{7681, 1, &rule23},
  	{7682, 1, &rule22},
  	{7683, 1, &rule23},
  	{7684, 1, &rule22},
  	{7685, 1, &rule23},
  	{7686, 1, &rule22},
  	{7687, 1, &rule23},
  	{7688, 1, &rule22},
  	{7689, 1, &rule23},
  	{7690, 1, &rule22},
  	{7691, 1, &rule23},
  	{7692, 1, &rule22},
  	{7693, 1, &rule23},
  	{7694, 1, &rule22},
  	{7695, 1, &rule23},
  	{7696, 1, &rule22},
  	{7697, 1, &rule23},
  	{7698, 1, &rule22},
  	{7699, 1, &rule23},
  	{7700, 1, &rule22},
  	{7701, 1, &rule23},
  	{7702, 1, &rule22},
  	{7703, 1, &rule23},
  	{7704, 1, &rule22},
  	{7705, 1, &rule23},
  	{7706, 1, &rule22},
  	{7707, 1, &rule23},
  	{7708, 1, &rule22},
  	{7709, 1, &rule23},
  	{7710, 1, &rule22},
  	{7711, 1, &rule23},
  	{7712, 1, &rule22},
  	{7713, 1, &rule23},
  	{7714, 1, &rule22},
  	{7715, 1, &rule23},
  	{7716, 1, &rule22},
  	{7717, 1, &rule23},
  	{7718, 1, &rule22},
  	{7719, 1, &rule23},
  	{7720, 1, &rule22},
  	{7721, 1, &rule23},
  	{7722, 1, &rule22},
  	{7723, 1, &rule23},
  	{7724, 1, &rule22},
  	{7725, 1, &rule23},
  	{7726, 1, &rule22},
  	{7727, 1, &rule23},
  	{7728, 1, &rule22},
  	{7729, 1, &rule23},
  	{7730, 1, &rule22},
  	{7731, 1, &rule23},
  	{7732, 1, &rule22},
  	{7733, 1, &rule23},
  	{7734, 1, &rule22},
  	{7735, 1, &rule23},
  	{7736, 1, &rule22},
  	{7737, 1, &rule23},
  	{7738, 1, &rule22},
  	{7739, 1, &rule23},
  	{7740, 1, &rule22},
  	{7741, 1, &rule23},
  	{7742, 1, &rule22},
  	{7743, 1, &rule23},
  	{7744, 1, &rule22},
  	{7745, 1, &rule23},
  	{7746, 1, &rule22},
  	{7747, 1, &rule23},
  	{7748, 1, &rule22},
  	{7749, 1, &rule23},
  	{7750, 1, &rule22},
  	{7751, 1, &rule23},
  	{7752, 1, &rule22},
  	{7753, 1, &rule23},
  	{7754, 1, &rule22},
  	{7755, 1, &rule23},
  	{7756, 1, &rule22},
  	{7757, 1, &rule23},
  	{7758, 1, &rule22},
  	{7759, 1, &rule23},
  	{7760, 1, &rule22},
  	{7761, 1, &rule23},
  	{7762, 1, &rule22},
  	{7763, 1, &rule23},
  	{7764, 1, &rule22},
  	{7765, 1, &rule23},
  	{7766, 1, &rule22},
  	{7767, 1, &rule23},
  	{7768, 1, &rule22},
  	{7769, 1, &rule23},
  	{7770, 1, &rule22},
  	{7771, 1, &rule23},
  	{7772, 1, &rule22},
  	{7773, 1, &rule23},
  	{7774, 1, &rule22},
  	{7775, 1, &rule23},
  	{7776, 1, &rule22},
  	{7777, 1, &rule23},
  	{7778, 1, &rule22},
  	{7779, 1, &rule23},
  	{7780, 1, &rule22},
  	{7781, 1, &rule23},
  	{7782, 1, &rule22},
  	{7783, 1, &rule23},
  	{7784, 1, &rule22},
  	{7785, 1, &rule23},
  	{7786, 1, &rule22},
  	{7787, 1, &rule23},
  	{7788, 1, &rule22},
  	{7789, 1, &rule23},
  	{7790, 1, &rule22},
  	{7791, 1, &rule23},
  	{7792, 1, &rule22},
  	{7793, 1, &rule23},
  	{7794, 1, &rule22},
  	{7795, 1, &rule23},
  	{7796, 1, &rule22},
  	{7797, 1, &rule23},
  	{7798, 1, &rule22},
  	{7799, 1, &rule23},
  	{7800, 1, &rule22},
  	{7801, 1, &rule23},
  	{7802, 1, &rule22},
  	{7803, 1, &rule23},
  	{7804, 1, &rule22},
  	{7805, 1, &rule23},
  	{7806, 1, &rule22},
  	{7807, 1, &rule23},
  	{7808, 1, &rule22},
  	{7809, 1, &rule23},
  	{7810, 1, &rule22},
  	{7811, 1, &rule23},
  	{7812, 1, &rule22},
  	{7813, 1, &rule23},
  	{7814, 1, &rule22},
  	{7815, 1, &rule23},
  	{7816, 1, &rule22},
  	{7817, 1, &rule23},
  	{7818, 1, &rule22},
  	{7819, 1, &rule23},
  	{7820, 1, &rule22},
  	{7821, 1, &rule23},
  	{7822, 1, &rule22},
  	{7823, 1, &rule23},
  	{7824, 1, &rule22},
  	{7825, 1, &rule23},
  	{7826, 1, &rule22},
  	{7827, 1, &rule23},
  	{7828, 1, &rule22},
  	{7829, 1, &rule23},
  	{7835, 1, &rule141},
  	{7838, 1, &rule142},
  	{7840, 1, &rule22},
  	{7841, 1, &rule23},
  	{7842, 1, &rule22},
  	{7843, 1, &rule23},
  	{7844, 1, &rule22},
  	{7845, 1, &rule23},
  	{7846, 1, &rule22},
  	{7847, 1, &rule23},
  	{7848, 1, &rule22},
  	{7849, 1, &rule23},
  	{7850, 1, &rule22},
  	{7851, 1, &rule23},
  	{7852, 1, &rule22},
  	{7853, 1, &rule23},
  	{7854, 1, &rule22},
  	{7855, 1, &rule23},
  	{7856, 1, &rule22},
  	{7857, 1, &rule23},
  	{7858, 1, &rule22},
  	{7859, 1, &rule23},
  	{7860, 1, &rule22},
  	{7861, 1, &rule23},
  	{7862, 1, &rule22},
  	{7863, 1, &rule23},
  	{7864, 1, &rule22},
  	{7865, 1, &rule23},
  	{7866, 1, &rule22},
  	{7867, 1, &rule23},
  	{7868, 1, &rule22},
  	{7869, 1, &rule23},
  	{7870, 1, &rule22},
  	{7871, 1, &rule23},
  	{7872, 1, &rule22},
  	{7873, 1, &rule23},
  	{7874, 1, &rule22},
  	{7875, 1, &rule23},
  	{7876, 1, &rule22},
  	{7877, 1, &rule23},
  	{7878, 1, &rule22},
  	{7879, 1, &rule23},
  	{7880, 1, &rule22},
  	{7881, 1, &rule23},
  	{7882, 1, &rule22},
  	{7883, 1, &rule23},
  	{7884, 1, &rule22},
  	{7885, 1, &rule23},
  	{7886, 1, &rule22},
  	{7887, 1, &rule23},
  	{7888, 1, &rule22},
  	{7889, 1, &rule23},
  	{7890, 1, &rule22},
  	{7891, 1, &rule23},
  	{7892, 1, &rule22},
  	{7893, 1, &rule23},
  	{7894, 1, &rule22},
  	{7895, 1, &rule23},
  	{7896, 1, &rule22},
  	{7897, 1, &rule23},
  	{7898, 1, &rule22},
  	{7899, 1, &rule23},
  	{7900, 1, &rule22},
  	{7901, 1, &rule23},
  	{7902, 1, &rule22},
  	{7903, 1, &rule23},
  	{7904, 1, &rule22},
  	{7905, 1, &rule23},
  	{7906, 1, &rule22},
  	{7907, 1, &rule23},
  	{7908, 1, &rule22},
  	{7909, 1, &rule23},
  	{7910, 1, &rule22},
  	{7911, 1, &rule23},
  	{7912, 1, &rule22},
  	{7913, 1, &rule23},
  	{7914, 1, &rule22},
  	{7915, 1, &rule23},
  	{7916, 1, &rule22},
  	{7917, 1, &rule23},
  	{7918, 1, &rule22},
  	{7919, 1, &rule23},
  	{7920, 1, &rule22},
  	{7921, 1, &rule23},
  	{7922, 1, &rule22},
  	{7923, 1, &rule23},
  	{7924, 1, &rule22},
  	{7925, 1, &rule23},
  	{7926, 1, &rule22},
  	{7927, 1, &rule23},
  	{7928, 1, &rule22},
  	{7929, 1, &rule23},
  	{7930, 1, &rule22},
  	{7931, 1, &rule23},
  	{7932, 1, &rule22},
  	{7933, 1, &rule23},
  	{7934, 1, &rule22},
  	{7935, 1, &rule23},
  	{7936, 8, &rule143},
  	{7944, 8, &rule144},
  	{7952, 6, &rule143},
  	{7960, 6, &rule144},
  	{7968, 8, &rule143},
  	{7976, 8, &rule144},
  	{7984, 8, &rule143},
  	{7992, 8, &rule144},
  	{8000, 6, &rule143},
  	{8008, 6, &rule144},
  	{8017, 1, &rule143},
  	{8019, 1, &rule143},
  	{8021, 1, &rule143},
  	{8023, 1, &rule143},
  	{8025, 1, &rule144},
  	{8027, 1, &rule144},
  	{8029, 1, &rule144},
  	{8031, 1, &rule144},
  	{8032, 8, &rule143},
  	{8040, 8, &rule144},
  	{8048, 2, &rule145},
  	{8050, 4, &rule146},
  	{8054, 2, &rule147},
  	{8056, 2, &rule148},
  	{8058, 2, &rule149},
  	{8060, 2, &rule150},
  	{8064, 8, &rule143},
  	{8072, 8, &rule151},
  	{8080, 8, &rule143},
  	{8088, 8, &rule151},
  	{8096, 8, &rule143},
  	{8104, 8, &rule151},
  	{8112, 2, &rule143},
  	{8115, 1, &rule152},
  	{8120, 2, &rule144},
  	{8122, 2, &rule153},
  	{8124, 1, &rule154},
  	{8126, 1, &rule155},
  	{8131, 1, &rule152},
  	{8136, 4, &rule156},
  	{8140, 1, &rule154},
  	{8144, 2, &rule143},
  	{8152, 2, &rule144},
  	{8154, 2, &rule157},
  	{8160, 2, &rule143},
  	{8165, 1, &rule113},
  	{8168, 2, &rule144},
  	{8170, 2, &rule158},
  	{8172, 1, &rule117},
  	{8179, 1, &rule152},
  	{8184, 2, &rule159},
  	{8186, 2, &rule160},
  	{8188, 1, &rule154},
  	{8486, 1, &rule163},
  	{8490, 1, &rule164},
  	{8491, 1, &rule165},
  	{8498, 1, &rule166},
  	{8526, 1, &rule167},
  	{8544, 16, &rule168},
  	{8560, 16, &rule169},
  	{8579, 1, &rule22},
  	{8580, 1, &rule23},
  	{9398, 26, &rule170},
  	{9424, 26, &rule171},
  	{11264, 47, &rule122},
  	{11312, 47, &rule123},
  	{11360, 1, &rule22},
  	{11361, 1, &rule23},
  	{11362, 1, &rule172},
  	{11363, 1, &rule173},
  	{11364, 1, &rule174},
  	{11365, 1, &rule175},
  	{11366, 1, &rule176},
  	{11367, 1, &rule22},
  	{11368, 1, &rule23},
  	{11369, 1, &rule22},
  	{11370, 1, &rule23},
  	{11371, 1, &rule22},
  	{11372, 1, &rule23},
  	{11373, 1, &rule177},
  	{11374, 1, &rule178},
  	{11375, 1, &rule179},
  	{11376, 1, &rule180},
  	{11378, 1, &rule22},
  	{11379, 1, &rule23},
  	{11381, 1, &rule22},
  	{11382, 1, &rule23},
  	{11390, 2, &rule181},
  	{11392, 1, &rule22},
  	{11393, 1, &rule23},
  	{11394, 1, &rule22},
  	{11395, 1, &rule23},
  	{11396, 1, &rule22},
  	{11397, 1, &rule23},
  	{11398, 1, &rule22},
  	{11399, 1, &rule23},
  	{11400, 1, &rule22},
  	{11401, 1, &rule23},
  	{11402, 1, &rule22},
  	{11403, 1, &rule23},
  	{11404, 1, &rule22},
  	{11405, 1, &rule23},
  	{11406, 1, &rule22},
  	{11407, 1, &rule23},
  	{11408, 1, &rule22},
  	{11409, 1, &rule23},
  	{11410, 1, &rule22},
  	{11411, 1, &rule23},
  	{11412, 1, &rule22},
  	{11413, 1, &rule23},
  	{11414, 1, &rule22},
  	{11415, 1, &rule23},
  	{11416, 1, &rule22},
  	{11417, 1, &rule23},
  	{11418, 1, &rule22},
  	{11419, 1, &rule23},
  	{11420, 1, &rule22},
  	{11421, 1, &rule23},
  	{11422, 1, &rule22},
  	{11423, 1, &rule23},
  	{11424, 1, &rule22},
  	{11425, 1, &rule23},
  	{11426, 1, &rule22},
  	{11427, 1, &rule23},
  	{11428, 1, &rule22},
  	{11429, 1, &rule23},
  	{11430, 1, &rule22},
  	{11431, 1, &rule23},
  	{11432, 1, &rule22},
  	{11433, 1, &rule23},
  	{11434, 1, &rule22},
  	{11435, 1, &rule23},
  	{11436, 1, &rule22},
  	{11437, 1, &rule23},
  	{11438, 1, &rule22},
  	{11439, 1, &rule23},
  	{11440, 1, &rule22},
  	{11441, 1, &rule23},
  	{11442, 1, &rule22},
  	{11443, 1, &rule23},
  	{11444, 1, &rule22},
  	{11445, 1, &rule23},
  	{11446, 1, &rule22},
  	{11447, 1, &rule23},
  	{11448, 1, &rule22},
  	{11449, 1, &rule23},
  	{11450, 1, &rule22},
  	{11451, 1, &rule23},
  	{11452, 1, &rule22},
  	{11453, 1, &rule23},
  	{11454, 1, &rule22},
  	{11455, 1, &rule23},
  	{11456, 1, &rule22},
  	{11457, 1, &rule23},
  	{11458, 1, &rule22},
  	{11459, 1, &rule23},
  	{11460, 1, &rule22},
  	{11461, 1, &rule23},
  	{11462, 1, &rule22},
  	{11463, 1, &rule23},
  	{11464, 1, &rule22},
  	{11465, 1, &rule23},
  	{11466, 1, &rule22},
  	{11467, 1, &rule23},
  	{11468, 1, &rule22},
  	{11469, 1, &rule23},
  	{11470, 1, &rule22},
  	{11471, 1, &rule23},
  	{11472, 1, &rule22},
  	{11473, 1, &rule23},
  	{11474, 1, &rule22},
  	{11475, 1, &rule23},
  	{11476, 1, &rule22},
  	{11477, 1, &rule23},
  	{11478, 1, &rule22},
  	{11479, 1, &rule23},
  	{11480, 1, &rule22},
  	{11481, 1, &rule23},
  	{11482, 1, &rule22},
  	{11483, 1, &rule23},
  	{11484, 1, &rule22},
  	{11485, 1, &rule23},
  	{11486, 1, &rule22},
  	{11487, 1, &rule23},
  	{11488, 1, &rule22},
  	{11489, 1, &rule23},
  	{11490, 1, &rule22},
  	{11491, 1, &rule23},
  	{11499, 1, &rule22},
  	{11500, 1, &rule23},
  	{11501, 1, &rule22},
  	{11502, 1, &rule23},
  	{11506, 1, &rule22},
  	{11507, 1, &rule23},
  	{11520, 38, &rule182},
  	{11559, 1, &rule182},
  	{11565, 1, &rule182},
  	{42560, 1, &rule22},
  	{42561, 1, &rule23},
  	{42562, 1, &rule22},
  	{42563, 1, &rule23},
  	{42564, 1, &rule22},
  	{42565, 1, &rule23},
  	{42566, 1, &rule22},
  	{42567, 1, &rule23},
  	{42568, 1, &rule22},
  	{42569, 1, &rule23},
  	{42570, 1, &rule22},
  	{42571, 1, &rule23},
  	{42572, 1, &rule22},
  	{42573, 1, &rule23},
  	{42574, 1, &rule22},
  	{42575, 1, &rule23},
  	{42576, 1, &rule22},
  	{42577, 1, &rule23},
  	{42578, 1, &rule22},
  	{42579, 1, &rule23},
  	{42580, 1, &rule22},
  	{42581, 1, &rule23},
  	{42582, 1, &rule22},
  	{42583, 1, &rule23},
  	{42584, 1, &rule22},
  	{42585, 1, &rule23},
  	{42586, 1, &rule22},
  	{42587, 1, &rule23},
  	{42588, 1, &rule22},
  	{42589, 1, &rule23},
  	{42590, 1, &rule22},
  	{42591, 1, &rule23},
  	{42592, 1, &rule22},
  	{42593, 1, &rule23},
  	{42594, 1, &rule22},
  	{42595, 1, &rule23},
  	{42596, 1, &rule22},
  	{42597, 1, &rule23},
  	{42598, 1, &rule22},
  	{42599, 1, &rule23},
  	{42600, 1, &rule22},
  	{42601, 1, &rule23},
  	{42602, 1, &rule22},
  	{42603, 1, &rule23},
  	{42604, 1, &rule22},
  	{42605, 1, &rule23},
  	{42624, 1, &rule22},
  	{42625, 1, &rule23},
  	{42626, 1, &rule22},
  	{42627, 1, &rule23},
  	{42628, 1, &rule22},
  	{42629, 1, &rule23},
  	{42630, 1, &rule22},
  	{42631, 1, &rule23},
  	{42632, 1, &rule22},
  	{42633, 1, &rule23},
  	{42634, 1, &rule22},
  	{42635, 1, &rule23},
  	{42636, 1, &rule22},
  	{42637, 1, &rule23},
  	{42638, 1, &rule22},
  	{42639, 1, &rule23},
  	{42640, 1, &rule22},
  	{42641, 1, &rule23},
  	{42642, 1, &rule22},
  	{42643, 1, &rule23},
  	{42644, 1, &rule22},
  	{42645, 1, &rule23},
  	{42646, 1, &rule22},
  	{42647, 1, &rule23},
  	{42648, 1, &rule22},
  	{42649, 1, &rule23},
  	{42650, 1, &rule22},
  	{42651, 1, &rule23},
  	{42786, 1, &rule22},
  	{42787, 1, &rule23},
  	{42788, 1, &rule22},
  	{42789, 1, &rule23},
  	{42790, 1, &rule22},
  	{42791, 1, &rule23},
  	{42792, 1, &rule22},
  	{42793, 1, &rule23},
  	{42794, 1, &rule22},
  	{42795, 1, &rule23},
  	{42796, 1, &rule22},
  	{42797, 1, &rule23},
  	{42798, 1, &rule22},
  	{42799, 1, &rule23},
  	{42802, 1, &rule22},
  	{42803, 1, &rule23},
  	{42804, 1, &rule22},
  	{42805, 1, &rule23},
  	{42806, 1, &rule22},
  	{42807, 1, &rule23},
  	{42808, 1, &rule22},
  	{42809, 1, &rule23},
  	{42810, 1, &rule22},
  	{42811, 1, &rule23},
  	{42812, 1, &rule22},
  	{42813, 1, &rule23},
  	{42814, 1, &rule22},
  	{42815, 1, &rule23},
  	{42816, 1, &rule22},
  	{42817, 1, &rule23},
  	{42818, 1, &rule22},
  	{42819, 1, &rule23},
  	{42820, 1, &rule22},
  	{42821, 1, &rule23},
  	{42822, 1, &rule22},
  	{42823, 1, &rule23},
  	{42824, 1, &rule22},
  	{42825, 1, &rule23},
  	{42826, 1, &rule22},
  	{42827, 1, &rule23},
  	{42828, 1, &rule22},
  	{42829, 1, &rule23},
  	{42830, 1, &rule22},
  	{42831, 1, &rule23},
  	{42832, 1, &rule22},
  	{42833, 1, &rule23},
  	{42834, 1, &rule22},
  	{42835, 1, &rule23},
  	{42836, 1, &rule22},
  	{42837, 1, &rule23},
  	{42838, 1, &rule22},
  	{42839, 1, &rule23},
  	{42840, 1, &rule22},
  	{42841, 1, &rule23},
  	{42842, 1, &rule22},
  	{42843, 1, &rule23},
  	{42844, 1, &rule22},
  	{42845, 1, &rule23},
  	{42846, 1, &rule22},
  	{42847, 1, &rule23},
  	{42848, 1, &rule22},
  	{42849, 1, &rule23},
  	{42850, 1, &rule22},
  	{42851, 1, &rule23},
  	{42852, 1, &rule22},
  	{42853, 1, &rule23},
  	{42854, 1, &rule22},
  	{42855, 1, &rule23},
  	{42856, 1, &rule22},
  	{42857, 1, &rule23},
  	{42858, 1, &rule22},
  	{42859, 1, &rule23},
  	{42860, 1, &rule22},
  	{42861, 1, &rule23},
  	{42862, 1, &rule22},
  	{42863, 1, &rule23},
  	{42873, 1, &rule22},
  	{42874, 1, &rule23},
  	{42875, 1, &rule22},
  	{42876, 1, &rule23},
  	{42877, 1, &rule183},
  	{42878, 1, &rule22},
  	{42879, 1, &rule23},
  	{42880, 1, &rule22},
  	{42881, 1, &rule23},
  	{42882, 1, &rule22},
  	{42883, 1, &rule23},
  	{42884, 1, &rule22},
  	{42885, 1, &rule23},
  	{42886, 1, &rule22},
  	{42887, 1, &rule23},
  	{42891, 1, &rule22},
  	{42892, 1, &rule23},
  	{42893, 1, &rule184},
  	{42896, 1, &rule22},
  	{42897, 1, &rule23},
  	{42898, 1, &rule22},
  	{42899, 1, &rule23},
  	{42900, 1, &rule185},
  	{42902, 1, &rule22},
  	{42903, 1, &rule23},
  	{42904, 1, &rule22},
  	{42905, 1, &rule23},
  	{42906, 1, &rule22},
  	{42907, 1, &rule23},
  	{42908, 1, &rule22},
  	{42909, 1, &rule23},
  	{42910, 1, &rule22},
  	{42911, 1, &rule23},
  	{42912, 1, &rule22},
  	{42913, 1, &rule23},
  	{42914, 1, &rule22},
  	{42915, 1, &rule23},
  	{42916, 1, &rule22},
  	{42917, 1, &rule23},
  	{42918, 1, &rule22},
  	{42919, 1, &rule23},
  	{42920, 1, &rule22},
  	{42921, 1, &rule23},
  	{42922, 1, &rule186},
  	{42923, 1, &rule187},
  	{42924, 1, &rule188},
  	{42925, 1, &rule189},
  	{42926, 1, &rule186},
  	{42928, 1, &rule190},
  	{42929, 1, &rule191},
  	{42930, 1, &rule192},
  	{42931, 1, &rule193},
  	{42932, 1, &rule22},
  	{42933, 1, &rule23},
  	{42934, 1, &rule22},
  	{42935, 1, &rule23},
  	{42936, 1, &rule22},
  	{42937, 1, &rule23},
  	{42938, 1, &rule22},
  	{42939, 1, &rule23},
  	{42940, 1, &rule22},
  	{42941, 1, &rule23},
  	{42942, 1, &rule22},
  	{42943, 1, &rule23},
  	{42946, 1, &rule22},
  	{42947, 1, &rule23},
  	{42948, 1, &rule194},
  	{42949, 1, &rule195},
  	{42950, 1, &rule196},
  	{42951, 1, &rule22},
  	{42952, 1, &rule23},
  	{42953, 1, &rule22},
  	{42954, 1, &rule23},
  	{42997, 1, &rule22},
  	{42998, 1, &rule23},
  	{43859, 1, &rule197},
  	{43888, 80, &rule198},
  	{65313, 26, &rule9},
  	{65345, 26, &rule12},
  	{66560, 40, &rule201},
  	{66600, 40, &rule202},
  	{66736, 36, &rule201},
  	{66776, 36, &rule202},
  	{68736, 51, &rule97},
  	{68800, 51, &rule102},
  	{71840, 32, &rule9},
  	{71872, 32, &rule12},
  	{93760, 32, &rule9},
  	{93792, 32, &rule12},
  	{125184, 34, &rule203},
  	{125218, 34, &rule204}
  };
  static const struct _charblock_ spacechars[]={
  	{32, 1, &rule1},
  	{160, 1, &rule1},
  	{5760, 1, &rule1},
  	{8192, 11, &rule1},
  	{8239, 1, &rule1},
  	{8287, 1, &rule1},
  	{12288, 1, &rule1}
  };
  
  /*
  	Obtain the reference to character rule by doing
  	binary search over the specified array of blocks.
  	To make checkattr shorter, the address of
  	nullrule is returned if the search fails:
  	this rule defines no category and no conversion
  	distances. The compare function returns 0 when
  	key->start is within the block. Otherwise
  	result of comparison of key->start and start of the
  	current block is returned as usual.
  */
  
  static const struct _convrule_ nullrule={0,NUMCAT_CN,0,0,0,0};
  
  static int blkcmp(const void *vk,const void *vb)
  {
  	const struct _charblock_ *key,*cur;
  	key=vk;
  	cur=vb;
  	if((key->start>=cur->start)&&(key->start<(cur->start+cur->length)))
  	{
  		return 0;
  	}
  	if(key->start>cur->start) return 1;
  	return -1;
  }
  
  static const struct _convrule_ *getrule(
  	const struct _charblock_ *blocks,
  	int numblocks,
  	int unichar)
  {
  	struct _charblock_ key={unichar,1,(void *)0};
  	struct _charblock_ *cb=bsearch(&key,blocks,numblocks,sizeof(key),blkcmp);
  	if(cb==(void *)0) return &nullrule;
  	return cb->rule;
  }
  	
  
  
  /*
  	Check whether a character (internal code) has certain attributes.
  	Attributes (category flags) may be ORed. The function ANDs
  	character category flags and the mask and returns the result.
  	If the character belongs to one of the categories requested,
  	the result will be nonzero.
  */
  
  inline static int checkattr(int c,unsigned int catmask)
  {
  	return (catmask & (getrule(allchars,(c<256)?NUM_LAT1BLOCKS:NUM_BLOCKS,c)->category));
  }
  
  inline static int checkattr_s(int c,unsigned int catmask)
  {
          return (catmask & (getrule(spacechars,NUM_SPACEBLOCKS,c)->category));
  }
  
  /*
  	Define predicate functions for some combinations of categories.
  */
  
  #define unipred(p,m) \
  HsInt p(HsInt c) \
  { \
  	return checkattr(c,m); \
  }
  
  #define unipred_s(p,m) \
  HsInt p(HsInt c) \
  { \
          return checkattr_s(c,m); \
  }
  
  /*
  	Make these rules as close to Hugs as possible.
  */
  
  unipred(u_iswcntrl,GENCAT_CC)
  unipred(u_iswprint, (GENCAT_MC | GENCAT_NO | GENCAT_SK | GENCAT_ME | GENCAT_ND |   GENCAT_PO | GENCAT_LT | GENCAT_PC | GENCAT_SM | GENCAT_ZS |   GENCAT_LU | GENCAT_PD | GENCAT_SO | GENCAT_PE | GENCAT_PF |   GENCAT_PS | GENCAT_SC | GENCAT_LL | GENCAT_LM | GENCAT_PI |   GENCAT_NL | GENCAT_MN | GENCAT_LO))
  unipred_s(u_iswspace,GENCAT_ZS)
  unipred(u_iswupper,(GENCAT_LU|GENCAT_LT))
  unipred(u_iswlower,GENCAT_LL)
  unipred(u_iswalpha,(GENCAT_LL|GENCAT_LU|GENCAT_LT|GENCAT_LM|GENCAT_LO))
  unipred(u_iswdigit,GENCAT_ND)
  
  unipred(u_iswalnum,(GENCAT_LT|GENCAT_LU|GENCAT_LL|GENCAT_LM|GENCAT_LO|
  		    GENCAT_NO|GENCAT_ND|GENCAT_NL))
  
  #define caseconv(p,to) \
  HsInt p(HsInt c) \
  { \
  	const struct _convrule_ *rule=getrule(convchars,NUM_CONVBLOCKS,c);\
  	if(rule==&nullrule) return c;\
  	return c+rule->to;\
  }
  
  caseconv(u_towupper,updist)
  caseconv(u_towlower,lowdist)
  caseconv(u_towtitle,titledist)
  
  HsInt u_gencat(HsInt c)
  {
  	return getrule(allchars,NUM_BLOCKS,c)->catnumber;
  }
  