github.com/insionng/yougam@v0.0.0-20170714101924-2bc18d833463/libraries/golang/text/language/tables.go (about)

     1  // This file was generated by go generate; DO NOT EDIT
     2  
     3  package language
     4  
     5  import "github.com/insionng/yougam/libraries/x/text/internal/tag"
     6  
     7  // CLDRVersion is the CLDR version from which the tables in this package are derived.
     8  const CLDRVersion = "28"
     9  
    10  const numLanguages = 8632
    11  
    12  const numScripts = 223
    13  
    14  const numRegions = 354
    15  
    16  type fromTo struct {
    17  	from uint16
    18  	to   uint16
    19  }
    20  
    21  const nonCanonicalUnd = 646
    22  const (
    23  	_af  = 10
    24  	_am  = 17
    25  	_ar  = 21
    26  	_az  = 36
    27  	_bg  = 56
    28  	_bn  = 75
    29  	_ca  = 97
    30  	_cs  = 121
    31  	_da  = 128
    32  	_de  = 133
    33  	_el  = 153
    34  	_en  = 154
    35  	_es  = 156
    36  	_et  = 158
    37  	_fa  = 163
    38  	_fi  = 167
    39  	_fil = 169
    40  	_fr  = 174
    41  	_gu  = 210
    42  	_he  = 223
    43  	_hi  = 224
    44  	_hr  = 237
    45  	_hu  = 241
    46  	_hy  = 242
    47  	_id  = 247
    48  	_is  = 257
    49  	_it  = 258
    50  	_ja  = 262
    51  	_ka  = 272
    52  	_kk  = 302
    53  	_km  = 306
    54  	_kn  = 308
    55  	_ko  = 309
    56  	_ky  = 332
    57  	_lo  = 356
    58  	_lt  = 360
    59  	_lv  = 367
    60  	_mk  = 395
    61  	_ml  = 396
    62  	_mn  = 398
    63  	_mo  = 401
    64  	_mr  = 405
    65  	_ms  = 409
    66  	_mul = 413
    67  	_my  = 420
    68  	_nb  = 430
    69  	_ne  = 435
    70  	_nl  = 444
    71  	_no  = 448
    72  	_pa  = 469
    73  	_pl  = 485
    74  	_pt  = 493
    75  	_ro  = 513
    76  	_ru  = 517
    77  	_sh  = 547
    78  	_si  = 550
    79  	_sk  = 552
    80  	_sl  = 554
    81  	_sq  = 568
    82  	_sr  = 569
    83  	_sv  = 581
    84  	_sw  = 582
    85  	_ta  = 591
    86  	_te  = 598
    87  	_th  = 603
    88  	_tl  = 614
    89  	_tn  = 617
    90  	_tr  = 621
    91  	_uk  = 643
    92  	_ur  = 649
    93  	_uz  = 650
    94  	_vi  = 655
    95  	_zh  = 704
    96  	_zu  = 706
    97  	_jbo = 264
    98  	_ami = 1029
    99  	_bnn = 1736
   100  	_hak = 220
   101  	_tlh = 13846
   102  	_lb  = 339
   103  	_nv  = 457
   104  	_pwn = 11434
   105  	_tao = 13567
   106  	_tay = 13577
   107  	_tsu = 14041
   108  	_nn  = 446
   109  	_sfb = 13008
   110  	_vgt = 15080
   111  	_sgg = 13039
   112  	_cmn = 2386
   113  	_nan = 427
   114  	_hsn = 239
   115  )
   116  
   117  const langPrivateStart = 0x2d05
   118  
   119  const langPrivateEnd = 0x2f0c
   120  
   121  // lang holds an alphabetically sorted list of ISO-639 language identifiers.
   122  // All entries are 4 bytes. The index of the identifier (divided by 4) is the language tag.
   123  // For 2-byte language identifiers, the two successive bytes have the following meaning:
   124  //     - if the first letter of the 2- and 3-letter ISO codes are the same:
   125  //       the second and third letter of the 3-letter ISO code.
   126  //     - otherwise: a 0 and a by 2 bits right-shifted index into altLangISO3.
   127  // For 3-byte language identifiers the 4th byte is 0.
   128  var lang tag.Index = "" + // Size: 2840 bytes
   129  	"---\x00aaarabbkabr\x00ace\x00ach\x00ada\x00ady\x00aeveaeb\x00affragq\x00" +
   130  	"aho\x00akkaakk\x00aln\x00alt\x00ammhamo\x00anrgaoz\x00arraarc\x00arn\x00" +
   131  	"aro\x00arq\x00ary\x00arz\x00assmasa\x00ase\x00ast\x00atj\x00avvaawa\x00a" +
   132  	"yymazzebaakbal\x00ban\x00bap\x00bar\x00bas\x00bax\x00bbc\x00bbj\x00bci" +
   133  	"\x00beelbej\x00bem\x00bew\x00bez\x00bfd\x00bfq\x00bft\x00bfy\x00bgulbgc" +
   134  	"\x00bgn\x00bgx\x00bhihbhb\x00bhi\x00bhk\x00bho\x00biisbik\x00bin\x00bjj" +
   135  	"\x00bjn\x00bkm\x00bku\x00blt\x00bmambmq\x00bnenboodbpy\x00bqi\x00bqv\x00" +
   136  	"brrebra\x00brh\x00brx\x00bsosbsq\x00bss\x00bto\x00btv\x00bua\x00buc\x00b" +
   137  	"ug\x00bum\x00bvb\x00byn\x00byv\x00bze\x00caatcch\x00ccp\x00ceheceb\x00cg" +
   138  	"g\x00chhachk\x00chm\x00cho\x00chp\x00chr\x00cja\x00cjm\x00ckb\x00cooscop" +
   139  	"\x00cps\x00crrecrj\x00crk\x00crl\x00crm\x00crs\x00csescsb\x00csw\x00ctd" +
   140  	"\x00cuhucvhvcyymdaandak\x00dar\x00dav\x00dcc\x00deeuden\x00dgr\x00dje" +
   141  	"\x00dnj\x00doi\x00dsb\x00dtm\x00dtp\x00dua\x00dvivdyo\x00dyu\x00dzzoebu" +
   142  	"\x00eeweefi\x00egl\x00egy\x00eky\x00elllenngeopoes\x00\x05esu\x00etstett" +
   143  	"\x00euusewo\x00ext\x00faasfan\x00ffulffm\x00fiinfia\x00fil\x00fit\x00fji" +
   144  	"jfoaofon\x00frrafrc\x00frp\x00frr\x00frs\x00fud\x00fuq\x00fur\x00fuv\x00" +
   145  	"fvr\x00fyrygalegaa\x00gag\x00gan\x00gay\x00gbm\x00gbz\x00gcr\x00gdlagez" +
   146  	"\x00ggn\x00gil\x00gjk\x00gju\x00gllgglk\x00gnrngom\x00gon\x00gor\x00gos" +
   147  	"\x00got\x00grc\x00grt\x00gsw\x00guujgub\x00guc\x00gur\x00guw\x00guz\x00g" +
   148  	"vlvgvr\x00gwi\x00haauhak\x00haw\x00haz\x00heebhiinhif\x00hil\x00hlu\x00h" +
   149  	"md\x00hnd\x00hne\x00hnj\x00hnn\x00hno\x00homohoc\x00hoj\x00hrrvhsb\x00hs" +
   150  	"n\x00htathuunhyyehzerianaiba\x00ibb\x00idndieleigboiiiiikpkikt\x00ilo" +
   151  	"\x00inndinh\x00iodoisslittaiukuiw\x00\x03izh\x00japnjam\x00jbo\x00jgo" +
   152  	"\x00ji\x00\x06jmc\x00jml\x00jut\x00jvavjwavkaatkaa\x00kab\x00kac\x00kaj" +
   153  	"\x00kam\x00kao\x00kbd\x00kcg\x00kck\x00kde\x00kdt\x00kea\x00ken\x00kfo" +
   154  	"\x00kfr\x00kfy\x00kgonkge\x00kgp\x00kha\x00khb\x00khn\x00khq\x00kht\x00k" +
   155  	"hw\x00kiikkiu\x00kjuakjg\x00kkazkkj\x00klalkln\x00kmhmkmb\x00knankoorkoi" +
   156  	"\x00kok\x00kos\x00kpe\x00kraukrc\x00kri\x00krj\x00krl\x00kru\x00ksasksb" +
   157  	"\x00ksf\x00ksh\x00kuurkum\x00kvomkvr\x00kvx\x00kw\x00\x01kxm\x00kxp\x00k" +
   158  	"yirlaatlab\x00lad\x00lag\x00lah\x00laj\x00lbtzlbe\x00lbw\x00lcp\x00lep" +
   159  	"\x00lez\x00lgugliimlif\x00lij\x00lis\x00ljp\x00lki\x00lkt\x00lmn\x00lmo" +
   160  	"\x00lninloaolol\x00loz\x00lrc\x00ltitltg\x00luublua\x00luo\x00luy\x00luz" +
   161  	"\x00lvavlwl\x00lzh\x00lzz\x00mad\x00maf\x00mag\x00mai\x00mak\x00man\x00m" +
   162  	"as\x00maz\x00mdf\x00mdh\x00mdr\x00men\x00mer\x00mfa\x00mfe\x00mglgmgh" +
   163  	"\x00mgo\x00mgp\x00mgy\x00mhahmirimin\x00mis\x00mkkdmlalmls\x00mnonmni" +
   164  	"\x00mnw\x00moolmoe\x00moh\x00mos\x00mrarmrd\x00mrj\x00mru\x00mssamtltmtr" +
   165  	"\x00mua\x00mul\x00mus\x00mvy\x00mwk\x00mwr\x00mwv\x00mxc\x00myyamyv\x00m" +
   166  	"yx\x00myz\x00mzn\x00naaunah\x00nan\x00nap\x00naq\x00nbobnch\x00nddendc" +
   167  	"\x00nds\x00neepnew\x00ngdongl\x00nhe\x00nhw\x00nij\x00niu\x00njo\x00nlld" +
   168  	"nmg\x00nnnonnh\x00noornod\x00noe\x00non\x00nqo\x00nrblnsk\x00nso\x00nus" +
   169  	"\x00nvavnxq\x00nyyanym\x00nyn\x00nzi\x00occiojjiomrmorriosssotk\x00paanp" +
   170  	"ag\x00pal\x00pam\x00pap\x00pau\x00pcd\x00pcm\x00pdc\x00pdt\x00peo\x00pfl" +
   171  	"\x00phn\x00pilipka\x00pko\x00plolpms\x00pnt\x00pon\x00pra\x00prd\x00prg" +
   172  	"\x00psusptorpuu\x00quuequc\x00qug\x00raj\x00rcf\x00rej\x00rgn\x00ria\x00" +
   173  	"rif\x00rjs\x00rkt\x00rmohrmf\x00rmo\x00rmt\x00rmu\x00rnunrng\x00roonrob" +
   174  	"\x00rof\x00rtm\x00ruusrue\x00rug\x00rw\x00\x04rwk\x00ryu\x00saansaf\x00s" +
   175  	"ah\x00saq\x00sas\x00sat\x00saz\x00sbp\x00scrdsck\x00scn\x00sco\x00scs" +
   176  	"\x00sdndsdc\x00sdh\x00semesef\x00seh\x00sei\x00ses\x00sgagsga\x00sgs\x00" +
   177  	"sh\x00\x02shi\x00shn\x00siinsid\x00sklkskr\x00sllvsli\x00sly\x00smmosma" +
   178  	"\x00smi\x00smj\x00smn\x00smp\x00sms\x00snnasnk\x00soomsou\x00sqqisrrpsrb" +
   179  	"\x00srn\x00srr\x00srx\x00ssswssy\x00stotstq\x00suunsuk\x00sus\x00svwesww" +
   180  	"aswb\x00swc\x00swg\x00swv\x00sxn\x00syl\x00syr\x00szl\x00taamtaj\x00tbw" +
   181  	"\x00tcy\x00tdd\x00tdg\x00tdh\x00teeltem\x00teo\x00tet\x00tggkthhathl\x00" +
   182  	"thq\x00thr\x00tiirtig\x00tiv\x00tkuktkl\x00tkr\x00tkt\x00tlgltly\x00tmh" +
   183  	"\x00tnsntoontog\x00tpi\x00trurtru\x00trv\x00tssotsd\x00tsf\x00tsg\x00tsj" +
   184  	"\x00ttatttj\x00tts\x00ttt\x00tum\x00tvl\x00twwitwq\x00tyahtyv\x00tzm\x00" +
   185  	"udm\x00ugiguga\x00ukkruli\x00umb\x00und\x00unr\x00unx\x00urrduzzbvai\x00" +
   186  	"veenvec\x00vep\x00viievic\x00vls\x00vmf\x00vmw\x00voolvot\x00vro\x00vun" +
   187  	"\x00walnwae\x00wal\x00war\x00wbp\x00wbq\x00wbr\x00wls\x00wni\x00woolwtm" +
   188  	"\x00wuu\x00xav\x00xcr\x00xhhoxlc\x00xld\x00xmf\x00xmn\x00xmr\x00xna\x00x" +
   189  	"nr\x00xog\x00xpr\x00xsa\x00xsr\x00yao\x00yap\x00yav\x00ybb\x00yiidyooryr" +
   190  	"l\x00yua\x00zahazag\x00zbl\x00zdj\x00zea\x00zgh\x00zhhozmi\x00zuulzxx" +
   191  	"\x00zza\x00\xff\xff\xff\xff"
   192  
   193  const langNoIndexOffset = 709
   194  
   195  // langNoIndex is a bit vector of all 3-letter language codes that are not used as an index
   196  // in lookup tables. The language ids for these language codes are derived directly
   197  // from the letters and are not consecutive.
   198  // Size: 2197 bytes, 2197 elements
   199  var langNoIndex = [2197]uint8{
   200  	// Entry 0 - 3F
   201  	0xff, 0xfd, 0xfd, 0xfe, 0xef, 0xf7, 0xbf, 0xd2,
   202  	0xfb, 0xbf, 0xfe, 0xfa, 0xb7, 0x1d, 0x3c, 0x57,
   203  	0x6f, 0x97, 0x73, 0xf8, 0xff, 0xef, 0xff, 0x70,
   204  	0xaf, 0x03, 0xff, 0xff, 0xcf, 0x05, 0x85, 0x62,
   205  	0xe9, 0xbf, 0xfd, 0xff, 0xff, 0xf7, 0xfd, 0x77,
   206  	0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe3,
   207  	0xc9, 0xff, 0xff, 0xff, 0x4d, 0xb8, 0x0a, 0x6a,
   208  	0x7e, 0xfa, 0xe3, 0xfe, 0x7e, 0xff, 0x77, 0xff,
   209  	// Entry 40 - 7F
   210  	0xff, 0xff, 0xff, 0xdf, 0x2b, 0xf4, 0xf1, 0xe0,
   211  	0x5d, 0xe7, 0x9f, 0x14, 0x07, 0x20, 0xdf, 0xed,
   212  	0x9f, 0x3f, 0xc9, 0x21, 0xf8, 0x3f, 0x94, 0xf7,
   213  	0x7e, 0xff, 0xff, 0xff, 0xfe, 0x7f, 0xff, 0xff,
   214  	0xff, 0xff, 0x5f, 0xfc, 0xdb, 0xfd, 0xbf, 0xb5,
   215  	0x7b, 0xdf, 0x7f, 0xf7, 0xeb, 0xfe, 0xff, 0xa7,
   216  	0xbd, 0xff, 0x7f, 0xf7, 0xff, 0xef, 0xef, 0xef,
   217  	0xff, 0xff, 0x9f, 0xff, 0xff, 0xef, 0xff, 0xdf,
   218  	// Entry 80 - BF
   219  	0xff, 0xff, 0xf3, 0xff, 0xfb, 0x2f, 0xff, 0xff,
   220  	0xfb, 0xee, 0xff, 0xbd, 0xdb, 0xff, 0xdf, 0xf7,
   221  	0xff, 0xfa, 0xfd, 0xff, 0x7e, 0xaf, 0x7b, 0xfe,
   222  	0x7f, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xdf, 0xff,
   223  	0xff, 0xdf, 0xfb, 0xff, 0xfd, 0xfc, 0xfb, 0xff,
   224  	0xff, 0xff, 0xff, 0xf7, 0x7f, 0xbf, 0xfd, 0xd5,
   225  	0xa5, 0x77, 0x40, 0xff, 0x9c, 0xc1, 0x41, 0x2c,
   226  	0x08, 0x24, 0x41, 0x00, 0x50, 0x40, 0x00, 0x80,
   227  	// Entry C0 - FF
   228  	0xfb, 0x4a, 0xf2, 0x9f, 0xb4, 0x42, 0x41, 0x96,
   229  	0x9b, 0x14, 0x88, 0xf6, 0x7b, 0xe7, 0x17, 0x56,
   230  	0x55, 0x7d, 0x0e, 0x1c, 0x37, 0x71, 0xf3, 0xef,
   231  	0x97, 0xff, 0x5d, 0x38, 0x64, 0x08, 0x00, 0x10,
   232  	0xbc, 0x87, 0xaf, 0xdf, 0xff, 0xf7, 0x73, 0x35,
   233  	0x3e, 0x87, 0xc7, 0xdf, 0xff, 0x00, 0x81, 0x00,
   234  	0xb0, 0x05, 0x80, 0x00, 0x00, 0x00, 0x00, 0x03,
   235  	0x40, 0x00, 0x40, 0x92, 0x21, 0xd0, 0xbf, 0x5d,
   236  	// Entry 100 - 13F
   237  	0xfd, 0xde, 0xfe, 0x5e, 0x00, 0x00, 0x02, 0x64,
   238  	0x8d, 0x19, 0xc1, 0xdf, 0x79, 0x22, 0x00, 0x00,
   239  	0x00, 0xdf, 0x6d, 0xdc, 0x26, 0xe5, 0xd9, 0xf3,
   240  	0xfe, 0xff, 0xfd, 0xcb, 0x9f, 0x14, 0x01, 0x0c,
   241  	0x86, 0x00, 0xd1, 0x00, 0xf0, 0xc5, 0x67, 0x5f,
   242  	0x56, 0x89, 0x5e, 0xb7, 0xec, 0xef, 0x03, 0x00,
   243  	0x02, 0x00, 0x00, 0x00, 0xc0, 0x77, 0xda, 0x57,
   244  	0x90, 0x69, 0x01, 0x2c, 0x16, 0x79, 0xe4, 0xff,
   245  	// Entry 140 - 17F
   246  	0xff, 0x7f, 0x00, 0x00, 0x00, 0x01, 0x08, 0x46,
   247  	0x00, 0x00, 0x00, 0xb0, 0x14, 0x03, 0x50, 0x16,
   248  	0x0a, 0x00, 0x01, 0x00, 0x00, 0x00, 0x11, 0x09,
   249  	0x00, 0x00, 0x60, 0x10, 0x00, 0x00, 0x00, 0x10,
   250  	0x00, 0x00, 0x44, 0x00, 0x00, 0x10, 0x00, 0x04,
   251  	0x08, 0x00, 0x00, 0x04, 0x00, 0x80, 0x28, 0x04,
   252  	0x00, 0x00, 0x50, 0xd5, 0x2d, 0x00, 0x64, 0x35,
   253  	0x24, 0x53, 0xf5, 0xd4, 0xbd, 0xe2, 0xcd, 0x03,
   254  	// Entry 180 - 1BF
   255  	0x00, 0x80, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00,
   256  	0x00, 0x04, 0x17, 0x39, 0x01, 0xd9, 0x57, 0x98,
   257  	0x21, 0x98, 0xa5, 0x00, 0x00, 0x01, 0x40, 0x82,
   258  	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   259  	0x01, 0x40, 0x00, 0x44, 0x00, 0x00, 0xb0, 0xfe,
   260  	0xa9, 0x39, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04,
   261  	0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x40,
   262  	0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
   263  	// Entry 1C0 - 1FF
   264  	0x00, 0x01, 0x28, 0x05, 0x00, 0x00, 0x00, 0x00,
   265  	0x04, 0x20, 0x04, 0xa6, 0x08, 0x04, 0x00, 0x08,
   266  	0x01, 0x50, 0x00, 0x00, 0x08, 0x11, 0x86, 0x40,
   267  	0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x06, 0x55,
   268  	0x02, 0x10, 0x08, 0x04, 0x00, 0x00, 0x00, 0x60,
   269  	0x3b, 0x83, 0x11, 0x00, 0x00, 0x00, 0x11, 0x00,
   270  	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   271  	0x00, 0x00, 0x00, 0xbe, 0xdf, 0xff, 0xfe, 0xbf,
   272  	// Entry 200 - 23F
   273  	0xdf, 0xc7, 0x83, 0x82, 0xc0, 0xff, 0xdf, 0x27,
   274  	0xcf, 0x5f, 0xe7, 0x01, 0x10, 0x20, 0xb2, 0xc5,
   275  	0xa4, 0x45, 0x25, 0x9b, 0x03, 0xcf, 0xf0, 0xdf,
   276  	0x03, 0xc4, 0x00, 0x10, 0x01, 0x0e, 0x01, 0xe3,
   277  	0x92, 0x54, 0xdb, 0x38, 0xf1, 0x7f, 0xf7, 0x6d,
   278  	0xf9, 0xff, 0x1c, 0x7d, 0x04, 0x08, 0x00, 0x01,
   279  	0x21, 0x12, 0x6c, 0x5f, 0xdd, 0x0f, 0x85, 0x4f,
   280  	0x40, 0x40, 0x00, 0x04, 0xf9, 0xfd, 0xbd, 0xd4,
   281  	// Entry 240 - 27F
   282  	0xe8, 0x13, 0xf4, 0x27, 0xa3, 0x0d, 0x00, 0x00,
   283  	0x20, 0x7b, 0x39, 0x02, 0x05, 0x84, 0x00, 0xf0,
   284  	0xbf, 0x7f, 0xda, 0x00, 0x18, 0x04, 0x81, 0x00,
   285  	0x00, 0x00, 0x80, 0x10, 0x94, 0x1c, 0x01, 0x00,
   286  	0x00, 0x00, 0x00, 0x00, 0x10, 0x40, 0x00, 0x04,
   287  	0x08, 0xb4, 0x7c, 0xa5, 0x0c, 0x40, 0x00, 0x00,
   288  	0x11, 0x04, 0x04, 0x6c, 0x00, 0x20, 0x70, 0xff,
   289  	0xfb, 0x7f, 0x60, 0x00, 0x05, 0x9b, 0xdd, 0x6e,
   290  	// Entry 280 - 2BF
   291  	0x03, 0x00, 0x11, 0x00, 0x00, 0x00, 0x40, 0x05,
   292  	0xb5, 0xb6, 0x80, 0x08, 0x04, 0x00, 0x04, 0x51,
   293  	0xe2, 0xff, 0xfd, 0x3f, 0x05, 0x09, 0x08, 0x05,
   294  	0x40, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00,
   295  	0x08, 0x00, 0x00, 0x00, 0x00, 0xa1, 0x02, 0x60,
   296  	0xe5, 0x48, 0x14, 0x89, 0x20, 0xc0, 0x47, 0x80,
   297  	0x07, 0x00, 0x00, 0x00, 0xcc, 0x50, 0x40, 0x24,
   298  	0x85, 0x47, 0x84, 0x40, 0x20, 0x10, 0x00, 0x20,
   299  	// Entry 2C0 - 2FF
   300  	0x02, 0x50, 0x88, 0x11, 0x00, 0xd1, 0x6c, 0xee,
   301  	0x50, 0x03, 0x1d, 0x11, 0x69, 0x06, 0x59, 0xe9,
   302  	0x33, 0x08, 0x00, 0x20, 0x05, 0x40, 0x10, 0x00,
   303  	0x00, 0x00, 0x50, 0x44, 0x96, 0x49, 0xd6, 0x5d,
   304  	0xa7, 0x81, 0x45, 0x97, 0xfb, 0x00, 0x10, 0x00,
   305  	0x08, 0x00, 0x80, 0x00, 0x40, 0x45, 0x00, 0x01,
   306  	0x02, 0x00, 0x01, 0x40, 0x80, 0x00, 0x04, 0x08,
   307  	0xf8, 0xeb, 0xf6, 0x39, 0xc4, 0x89, 0x16, 0x00,
   308  	// Entry 300 - 33F
   309  	0x00, 0x0c, 0x04, 0x01, 0x20, 0x20, 0xdd, 0xa2,
   310  	0x01, 0x00, 0x00, 0x00, 0x12, 0x04, 0x00, 0x00,
   311  	0x04, 0x10, 0xf0, 0x9d, 0x95, 0x13, 0x04, 0x80,
   312  	0x00, 0x00, 0xd0, 0x12, 0x40, 0x00, 0x10, 0xb0,
   313  	0x10, 0x62, 0x4c, 0xd2, 0x02, 0x01, 0x0a, 0x00,
   314  	0x46, 0x04, 0x00, 0x08, 0x02, 0x00, 0x20, 0xc0,
   315  	0x00, 0x80, 0x06, 0x00, 0x08, 0x00, 0x00, 0x00,
   316  	0x00, 0xf0, 0xd8, 0x6f, 0x15, 0x02, 0x08, 0x00,
   317  	// Entry 340 - 37F
   318  	0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x10, 0x01,
   319  	0x00, 0x10, 0x00, 0x00, 0x00, 0xf8, 0x85, 0xe3,
   320  	0xdd, 0xff, 0xff, 0xff, 0xbb, 0xff, 0x7f, 0xfb,
   321  	0xff, 0xfc, 0xfe, 0xdf, 0xff, 0xff, 0xff, 0xf6,
   322  	0xfb, 0xfe, 0xf7, 0x1f, 0xff, 0xb3, 0xed, 0xff,
   323  	0xdb, 0xed, 0xff, 0xfe, 0xff, 0xfe, 0xdf, 0xff,
   324  	0xff, 0xff, 0xf7, 0xff, 0xfd, 0xff, 0xff, 0xff,
   325  	0xfd, 0xff, 0xdf, 0xaf, 0x9c, 0xff, 0xfb, 0xff,
   326  	// Entry 380 - 3BF
   327  	0xff, 0xff, 0xff, 0xff, 0xef, 0xd2, 0xbb, 0xdf,
   328  	0xf5, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xef,
   329  	0xfd, 0xff, 0xff, 0xf7, 0xfd, 0xff, 0xff, 0xff,
   330  	0xef, 0xdb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
   331  	0xff, 0x5f, 0xd3, 0x7b, 0xfd, 0xd9, 0xdf, 0xef,
   332  	0xbc, 0x18, 0x05, 0x2c, 0xff, 0x07, 0xf0, 0xff,
   333  	0xf7, 0x5f, 0x00, 0x08, 0x00, 0xc3, 0x3d, 0x1b,
   334  	0x06, 0xe6, 0x72, 0xf0, 0xdd, 0x3c, 0x7f, 0x44,
   335  	// Entry 3C0 - 3FF
   336  	0x02, 0x30, 0x9f, 0x7a, 0x16, 0xfd, 0xff, 0x57,
   337  	0xf2, 0xff, 0x39, 0xff, 0xf2, 0x1e, 0x95, 0xf7,
   338  	0xf7, 0xff, 0x45, 0x80, 0x01, 0x02, 0x00, 0x00,
   339  	0x40, 0x54, 0x9f, 0x8a, 0xd9, 0xd9, 0x0e, 0x11,
   340  	0x84, 0x51, 0xc0, 0xf3, 0xfb, 0x47, 0x00, 0x01,
   341  	0x05, 0xd1, 0x50, 0x58, 0x00, 0x00, 0x00, 0x10,
   342  	0x04, 0x02, 0x00, 0x00, 0x0a, 0x00, 0x17, 0xd2,
   343  	0xf9, 0xfd, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff,
   344  	// Entry 400 - 43F
   345  	0xd7, 0x6f, 0xff, 0xff, 0xdf, 0x7d, 0xbb, 0xff,
   346  	0xff, 0xff, 0xf7, 0xf3, 0xef, 0xff, 0xff, 0xf7,
   347  	0xff, 0xdf, 0xdb, 0x77, 0xff, 0xff, 0x7f, 0xff,
   348  	0xff, 0xff, 0xef, 0xff, 0xbc, 0xff, 0xff, 0xfb,
   349  	0xff, 0xfb, 0xff, 0xde, 0x76, 0xbd, 0xff, 0xf7,
   350  	0xff, 0xff, 0xf7, 0xff, 0xff, 0xdf, 0xf3, 0xbf,
   351  	0xef, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0xde,
   352  	0xf7, 0xbb, 0xef, 0xf7, 0xff, 0xfb, 0xbf, 0xdf,
   353  	// Entry 440 - 47F
   354  	0xfd, 0xfe, 0xff, 0xff, 0xfe, 0xff, 0x5f, 0x7d,
   355  	0x7f, 0xff, 0xff, 0xf7, 0xe5, 0xfc, 0xff, 0xfd,
   356  	0x7f, 0x7f, 0xff, 0x9e, 0xae, 0xff, 0xee, 0xff,
   357  	0x7f, 0xf7, 0x7b, 0x02, 0x82, 0x04, 0xff, 0xf7,
   358  	0xff, 0xbf, 0xd7, 0xef, 0xfe, 0xdf, 0xf7, 0xfe,
   359  	0xe2, 0x8e, 0xe7, 0xff, 0xf7, 0xff, 0x56, 0xbd,
   360  	0xcd, 0xff, 0xfb, 0xff, 0xff, 0xdf, 0xef, 0xff,
   361  	0xe5, 0xdf, 0x7d, 0x0f, 0xa7, 0x51, 0x04, 0x44,
   362  	// Entry 480 - 4BF
   363  	0x13, 0xd0, 0x5d, 0xaf, 0xa6, 0xfd, 0xb9, 0xff,
   364  	0x43, 0x5d, 0x5b, 0xff, 0xff, 0xbf, 0x3f, 0x20,
   365  	0x14, 0x00, 0x57, 0x51, 0x82, 0x65, 0xf5, 0x49,
   366  	0xe2, 0xff, 0xfc, 0xdf, 0x00, 0x05, 0xc5, 0x05,
   367  	0x00, 0x22, 0x00, 0x74, 0x69, 0x10, 0x08, 0x04,
   368  	0x41, 0x00, 0x01, 0x06, 0x00, 0x00, 0x00, 0x00,
   369  	0x00, 0x51, 0x60, 0x05, 0x04, 0x01, 0x00, 0x00,
   370  	0x06, 0x01, 0x20, 0x00, 0x18, 0x01, 0x92, 0xb1,
   371  	// Entry 4C0 - 4FF
   372  	0xfd, 0x67, 0x4b, 0x06, 0x95, 0x02, 0x57, 0xed,
   373  	0xfb, 0x4c, 0x9d, 0x7b, 0x83, 0x04, 0x62, 0x40,
   374  	0x00, 0x15, 0x42, 0x00, 0x00, 0x00, 0x54, 0x83,
   375  	0xf9, 0x5f, 0x10, 0x8c, 0xc9, 0x46, 0xde, 0xf7,
   376  	0x13, 0x31, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90,
   377  	0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x10, 0x00,
   378  	0x01, 0x40, 0x00, 0xf0, 0x5b, 0xf4, 0xbe, 0x7d,
   379  	0xba, 0xcf, 0xf7, 0xaf, 0x42, 0x04, 0x84, 0x41,
   380  	// Entry 500 - 53F
   381  	0xb0, 0xff, 0x79, 0x7a, 0x04, 0x00, 0x00, 0x49,
   382  	0x2d, 0x14, 0x25, 0x77, 0xed, 0xf1, 0xbf, 0xef,
   383  	0x3f, 0x00, 0x00, 0x02, 0xc6, 0xa0, 0x1e, 0xfc,
   384  	0xbb, 0xff, 0xfd, 0xfb, 0xb7, 0xfd, 0xf5, 0xff,
   385  	0xfd, 0xfc, 0xd5, 0xed, 0x47, 0xf4, 0x7f, 0x10,
   386  	0x01, 0x01, 0x84, 0x6d, 0xff, 0xf7, 0xdd, 0xf9,
   387  	0x5f, 0x05, 0x86, 0xef, 0xf5, 0x77, 0xbd, 0x3c,
   388  	0x00, 0x00, 0x00, 0x43, 0x71, 0x42, 0x00, 0x40,
   389  	// Entry 540 - 57F
   390  	0x00, 0x00, 0x01, 0x43, 0x19, 0x00, 0x08, 0x00,
   391  	0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
   392  	0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
   393  	0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
   394  	0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
   395  	0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
   396  	0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
   397  	0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
   398  	// Entry 580 - 5BF
   399  	0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
   400  	0xff, 0xab, 0xbd, 0xe7, 0x57, 0xee, 0x13, 0x5d,
   401  	0x09, 0xc1, 0x40, 0x21, 0xfa, 0x17, 0x01, 0x80,
   402  	0x00, 0x00, 0x00, 0x00, 0xf0, 0xde, 0xff, 0xbf,
   403  	0x00, 0x23, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00,
   404  	0x00, 0x30, 0x95, 0xe3, 0x10, 0x00, 0x00, 0x00,
   405  	0x11, 0x04, 0x16, 0x00, 0x01, 0x02, 0x00, 0x81,
   406  	0xa3, 0x01, 0x50, 0x00, 0x00, 0x83, 0x11, 0x40,
   407  	// Entry 5C0 - 5FF
   408  	0x00, 0x00, 0x00, 0xf0, 0xdd, 0x7b, 0x7e, 0x02,
   409  	0xaa, 0x10, 0x5d, 0xd8, 0x52, 0x00, 0x80, 0x20,
   410  	0x00, 0x00, 0x00, 0x00, 0x40, 0x10, 0x02, 0x02,
   411  	0x09, 0x00, 0x10, 0x02, 0x10, 0x61, 0x5a, 0x9d,
   412  	0x31, 0x00, 0x00, 0x00, 0x01, 0x50, 0x02, 0x20,
   413  	0x00, 0x00, 0x01, 0x00, 0x42, 0x00, 0x00, 0x00,
   414  	0x00, 0x1f, 0xdf, 0xf2, 0xfd, 0xff, 0xfd, 0x3f,
   415  	0x9f, 0x18, 0xcf, 0x9c, 0xbf, 0xaf, 0x5f, 0xfe,
   416  	// Entry 600 - 63F
   417  	0x7b, 0x4b, 0x40, 0x10, 0xe1, 0xfd, 0xaf, 0xfd,
   418  	0xb7, 0xf7, 0xff, 0xf3, 0xdf, 0xff, 0x6f, 0xf1,
   419  	0x7b, 0xf1, 0x7f, 0xdf, 0x7f, 0xbf, 0xfe, 0xb7,
   420  	0xee, 0x1c, 0xfb, 0xdb, 0xef, 0xdf, 0xff, 0xfd,
   421  	0x7e, 0xbe, 0x57, 0xff, 0x6f, 0x81, 0x76, 0x1f,
   422  	0xd4, 0x77, 0xf5, 0xfd, 0xff, 0xff, 0xeb, 0xfe,
   423  	0xbf, 0x5f, 0x57, 0x1b, 0xeb, 0x5f, 0x50, 0x18,
   424  	0x02, 0xfa, 0xff, 0x9d, 0x15, 0x97, 0x15, 0x0f,
   425  	// Entry 640 - 67F
   426  	0x75, 0xc4, 0x7d, 0x81, 0x82, 0xf1, 0xd7, 0x7e,
   427  	0xff, 0xff, 0xff, 0xef, 0xff, 0xfd, 0xdd, 0xde,
   428  	0xbc, 0xfd, 0xf6, 0x5f, 0x7a, 0x1f, 0x40, 0x98,
   429  	0x02, 0xff, 0xe3, 0xff, 0xf3, 0xd6, 0xf2, 0xff,
   430  	0xfb, 0xdf, 0x7d, 0x50, 0x1e, 0x15, 0x7b, 0xb4,
   431  	0xf5, 0xbe, 0xff, 0xff, 0xf3, 0xf7, 0xff, 0xf7,
   432  	0x7f, 0xff, 0xff, 0xbe, 0xdb, 0xf7, 0xd7, 0xf9,
   433  	0xef, 0x2f, 0x80, 0xbf, 0xc5, 0xff, 0xff, 0xf3,
   434  	// Entry 680 - 6BF
   435  	0x97, 0x9d, 0xff, 0xff, 0xf7, 0xcf, 0xfd, 0xbf,
   436  	0xde, 0x7f, 0x06, 0x1d, 0x57, 0xff, 0xf8, 0xda,
   437  	0x5d, 0xcf, 0x7d, 0x16, 0xb9, 0xea, 0x69, 0xa0,
   438  	0x1a, 0x20, 0x00, 0x30, 0x02, 0x04, 0x24, 0x48,
   439  	0x04, 0x00, 0x00, 0x40, 0xd4, 0x02, 0x04, 0x00,
   440  	0x00, 0x04, 0x00, 0x04, 0x00, 0x20, 0x01, 0x06,
   441  	0x50, 0x00, 0x08, 0x00, 0x00, 0x00, 0x24, 0x00,
   442  	0x04, 0x00, 0x10, 0x8c, 0x58, 0xd5, 0x0d, 0x0f,
   443  	// Entry 6C0 - 6FF
   444  	0x14, 0x4d, 0xf1, 0x16, 0x44, 0xd1, 0x42, 0x08,
   445  	0x40, 0x00, 0x00, 0x40, 0x00, 0x08, 0x00, 0x00,
   446  	0x00, 0xdc, 0xff, 0xeb, 0x1f, 0x58, 0x08, 0x41,
   447  	0x04, 0xa0, 0x04, 0x00, 0x30, 0x12, 0x40, 0x22,
   448  	0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   449  	0x01, 0x00, 0x00, 0x00, 0x80, 0x10, 0x10, 0xaf,
   450  	0x6f, 0x93, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
   451  	0x00, 0x00, 0x00, 0x80, 0x80, 0x25, 0x00, 0x00,
   452  	// Entry 700 - 73F
   453  	0x00, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00,
   454  	0x80, 0x86, 0xc2, 0x02, 0x00, 0x00, 0x00, 0x01,
   455  	0xdf, 0x18, 0x00, 0x00, 0x02, 0xf0, 0xfd, 0x79,
   456  	0x3b, 0x00, 0x25, 0x00, 0x00, 0x00, 0x02, 0x00,
   457  	0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00,
   458  	0x03, 0x00, 0x09, 0x20, 0x00, 0x00, 0x01, 0x00,
   459  	0x00, 0x81, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
   460  	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   461  	// Entry 740 - 77F
   462  	0x00, 0x00, 0x00, 0xef, 0xf7, 0xfd, 0xcf, 0x7e,
   463  	0xa0, 0x11, 0x10, 0x00, 0x00, 0x92, 0x01, 0x44,
   464  	0xcd, 0xf9, 0x5e, 0x00, 0x01, 0x00, 0x30, 0x14,
   465  	0x04, 0x55, 0x10, 0x01, 0x04, 0xf6, 0x3f, 0x7a,
   466  	0x05, 0x04, 0x00, 0xb0, 0x80, 0x00, 0x55, 0x55,
   467  	0x97, 0x7c, 0x9f, 0x71, 0xcc, 0x78, 0xd1, 0x43,
   468  	0xf5, 0x57, 0x67, 0x14, 0x01, 0x00, 0x00, 0x00,
   469  	0x00, 0x00, 0x2c, 0xf7, 0xdb, 0x1f, 0x50, 0x60,
   470  	// Entry 780 - 7BF
   471  	0x03, 0x68, 0x01, 0x10, 0x8b, 0x38, 0xaa, 0x01,
   472  	0x00, 0x00, 0x30, 0x00, 0x24, 0x44, 0x00, 0x00,
   473  	0x10, 0x03, 0x11, 0x02, 0x01, 0x00, 0x00, 0xf0,
   474  	0xb5, 0xff, 0xd5, 0xd7, 0xbc, 0x70, 0xd6, 0x78,
   475  	0x78, 0x15, 0x50, 0x00, 0xa4, 0x84, 0xe9, 0x41,
   476  	0x00, 0x00, 0x00, 0x6b, 0x39, 0x52, 0x74, 0x00,
   477  	0xe8, 0x30, 0x90, 0x6a, 0x92, 0x00, 0x00, 0x02,
   478  	0xff, 0xef, 0xff, 0x4f, 0x85, 0x53, 0xf4, 0xed,
   479  	// Entry 7C0 - 7FF
   480  	0xdd, 0xbf, 0x72, 0x19, 0xc7, 0x0c, 0xf5, 0x42,
   481  	0x54, 0xdd, 0x77, 0x14, 0x00, 0x80, 0xc0, 0x56,
   482  	0xcc, 0x16, 0x9e, 0xfb, 0x35, 0x7d, 0xef, 0xff,
   483  	0xbd, 0xa4, 0xaf, 0x01, 0x44, 0x18, 0x01, 0x5d,
   484  	0x4e, 0x4a, 0x08, 0x50, 0x28, 0x30, 0xe0, 0x80,
   485  	0x10, 0x20, 0x24, 0x00, 0xff, 0x3f, 0xdf, 0x67,
   486  	0xfe, 0x01, 0x06, 0x88, 0x0a, 0x40, 0x16, 0x01,
   487  	0x01, 0x15, 0x2b, 0x3e, 0x01, 0x00, 0x00, 0x10,
   488  	// Entry 800 - 83F
   489  	0x90, 0x69, 0x45, 0x02, 0x02, 0x01, 0xe1, 0xbf,
   490  	0xbf, 0x03, 0x00, 0x00, 0x10, 0xd4, 0xa7, 0xd1,
   491  	0x54, 0x9e, 0x44, 0xdf, 0xfd, 0x8f, 0x66, 0xb3,
   492  	0x55, 0x20, 0xd4, 0xc3, 0xd8, 0x30, 0x3d, 0x80,
   493  	0x00, 0x00, 0x00, 0x4c, 0xd4, 0x10, 0xc5, 0x84,
   494  	0x6e, 0x50, 0x00, 0x22, 0x50, 0x7e, 0xbf, 0xdb,
   495  	0x07, 0x00, 0x20, 0x10, 0x84, 0xb2, 0x45, 0x10,
   496  	0x06, 0x44, 0x00, 0x00, 0x12, 0x02, 0x11, 0x00,
   497  	// Entry 840 - 87F
   498  	0xf0, 0xfb, 0xfd, 0x3f, 0x05, 0x00, 0x12, 0x81,
   499  	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x02,
   500  	0x00, 0x00, 0x00, 0x00, 0x03, 0x30, 0x02, 0x28,
   501  	0x84, 0x00, 0x33, 0xc0, 0x23, 0x24, 0x00, 0x00,
   502  	0x00, 0xcb, 0xe4, 0x3a, 0x42, 0xc8, 0x14, 0xf1,
   503  	0xef, 0xff, 0x7f, 0x16, 0x01, 0x01, 0x84, 0x50,
   504  	0x07, 0xfc, 0xff, 0xff, 0x0f, 0x01, 0x00, 0x40,
   505  	0x10, 0x38, 0x01, 0x01, 0x1c, 0x12, 0x40, 0xe1,
   506  	// Entry 880 - 8BF
   507  	0x76, 0x16, 0x08, 0x03, 0x10, 0x00, 0x00, 0x00,
   508  	0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x24,
   509  	0x0a, 0x00, 0x80, 0x00, 0x00,
   510  }
   511  
   512  // altLangISO3 holds an alphabetically sorted list of 3-letter language code alternatives
   513  // to 2-letter language codes that cannot be derived using the method described above.
   514  // Each 3-letter code is followed by its 1-byte langID.
   515  var altLangISO3 tag.Index = "---\x00cor\x00hbs\x01heb\x02kin\x03spa\x04yid\x05\xff\xff\xff\xff"
   516  
   517  // altLangIndex is used to convert indexes in altLangISO3 to langIDs.
   518  // Size: 12 bytes, 6 elements
   519  var altLangIndex = [6]uint16{
   520  	0x0149, 0x0223, 0x0104, 0x0208, 0x009c, 0x010a,
   521  }
   522  
   523  // langAliasMap maps langIDs to their suggested replacements.
   524  // Size: 556 bytes, 139 elements
   525  var langAliasMap = [139]fromTo{
   526  	0:   {from: 0xfe, to: 0xf7},
   527  	1:   {from: 0x104, to: 0xdf},
   528  	2:   {from: 0x10a, to: 0x2b6},
   529  	3:   {from: 0x10f, to: 0x10e},
   530  	4:   {from: 0x191, to: 0x201},
   531  	5:   {from: 0x1ae, to: 0x1c0},
   532  	6:   {from: 0x223, to: 0x239},
   533  	7:   {from: 0x266, to: 0xa9},
   534  	8:   {from: 0x272, to: 0x250},
   535  	9:   {from: 0x27b, to: 0xd},
   536  	10:  {from: 0x2d1, to: 0x2d7},
   537  	11:  {from: 0x322, to: 0x92},
   538  	12:  {from: 0x3c3, to: 0x1c44},
   539  	13:  {from: 0x3e4, to: 0x238},
   540  	14:  {from: 0x3f5, to: 0x238},
   541  	15:  {from: 0x480, to: 0x15},
   542  	16:  {from: 0x48b, to: 0xf2},
   543  	17:  {from: 0x4d1, to: 0x1f34},
   544  	18:  {from: 0x546, to: 0x23},
   545  	19:  {from: 0x54c, to: 0x272e},
   546  	20:  {from: 0x558, to: 0x24},
   547  	21:  {from: 0x579, to: 0xa0},
   548  	22:  {from: 0x59f, to: 0x26},
   549  	23:  {from: 0x5a8, to: 0x42},
   550  	24:  {from: 0x656, to: 0xc76},
   551  	25:  {from: 0x782, to: 0x1a4},
   552  	26:  {from: 0x7c9, to: 0x16d},
   553  	27:  {from: 0x7d0, to: 0x59},
   554  	28:  {from: 0x851, to: 0x30b5},
   555  	29:  {from: 0x8cb, to: 0x2c0},
   556  	30:  {from: 0x908, to: 0x23ed},
   557  	31:  {from: 0x911, to: 0x956},
   558  	32:  {from: 0x92e, to: 0x24d},
   559  	33:  {from: 0x94f, to: 0x3fbc},
   560  	34:  {from: 0x952, to: 0x2c0},
   561  	35:  {from: 0xa4c, to: 0x73},
   562  	36:  {from: 0xa9b, to: 0x79},
   563  	37:  {from: 0xb5b, to: 0x8a},
   564  	38:  {from: 0xb6a, to: 0x1a1},
   565  	39:  {from: 0xb8b, to: 0xb8e},
   566  	40:  {from: 0xb91, to: 0x2c4},
   567  	41:  {from: 0xc72, to: 0x1ded},
   568  	42:  {from: 0xc81, to: 0x2c2d},
   569  	43:  {from: 0xccc, to: 0x1bc},
   570  	44:  {from: 0xe63, to: 0x9e},
   571  	45:  {from: 0xe97, to: 0x178},
   572  	46:  {from: 0xf33, to: 0xfb},
   573  	47:  {from: 0x100c, to: 0xd},
   574  	48:  {from: 0x11b7, to: 0xae},
   575  	49:  {from: 0x1203, to: 0xa5},
   576  	50:  {from: 0x12b2, to: 0xb2e},
   577  	51:  {from: 0x12b6, to: 0x1d1},
   578  	52:  {from: 0x12c5, to: 0x1458},
   579  	53:  {from: 0x1313, to: 0x110},
   580  	54:  {from: 0x1316, to: 0x85},
   581  	55:  {from: 0x1336, to: 0x3a42},
   582  	56:  {from: 0x13fd, to: 0xcb},
   583  	57:  {from: 0x145b, to: 0x99},
   584  	58:  {from: 0x1493, to: 0x278b},
   585  	59:  {from: 0x14ab, to: 0xc9},
   586  	60:  {from: 0x150d, to: 0x12b7},
   587  	61:  {from: 0x159c, to: 0x1549},
   588  	62:  {from: 0x15a9, to: 0x1686},
   589  	63:  {from: 0x161d, to: 0x23d},
   590  	64:  {from: 0x170c, to: 0x1a94},
   591  	65:  {from: 0x1807, to: 0x2943},
   592  	66:  {from: 0x181d, to: 0x101},
   593  	67:  {from: 0x18ed, to: 0x103},
   594  	68:  {from: 0x1919, to: 0x12a8},
   595  	69:  {from: 0x1dd0, to: 0x1e70},
   596  	70:  {from: 0x1ded, to: 0x18e},
   597  	71:  {from: 0x1e76, to: 0x144},
   598  	72:  {from: 0x1e81, to: 0x13a},
   599  	73:  {from: 0x1e85, to: 0x121},
   600  	74:  {from: 0x1e8c, to: 0x137},
   601  	75:  {from: 0x1ea2, to: 0x1f7e},
   602  	76:  {from: 0x1ec8, to: 0x146},
   603  	77:  {from: 0x1f79, to: 0x4231},
   604  	78:  {from: 0x1f87, to: 0x3716},
   605  	79:  {from: 0x1ff5, to: 0x6bd},
   606  	80:  {from: 0x20a9, to: 0x2fb9},
   607  	81:  {from: 0x2115, to: 0x30f8},
   608  	82:  {from: 0x2205, to: 0x16f},
   609  	83:  {from: 0x2277, to: 0x18b},
   610  	84:  {from: 0x2283, to: 0x188},
   611  	85:  {from: 0x228d, to: 0x199},
   612  	86:  {from: 0x22e3, to: 0x8ee},
   613  	87:  {from: 0x233c, to: 0x69},
   614  	88:  {from: 0x23d1, to: 0x178},
   615  	89:  {from: 0x245c, to: 0x2447},
   616  	90:  {from: 0x248c, to: 0x1f2},
   617  	91:  {from: 0x24ba, to: 0x3a42},
   618  	92:  {from: 0x24f8, to: 0x2447},
   619  	93:  {from: 0x2682, to: 0x25ca},
   620  	94:  {from: 0x26a7, to: 0x1b3},
   621  	95:  {from: 0x28ad, to: 0x1d0},
   622  	96:  {from: 0x298f, to: 0x1d2},
   623  	97:  {from: 0x29d2, to: 0x3a42},
   624  	98:  {from: 0x2a8f, to: 0x1ec},
   625  	99:  {from: 0x2aa6, to: 0x32a},
   626  	100: {from: 0x2ada, to: 0xa3},
   627  	101: {from: 0x2adb, to: 0xa3},
   628  	102: {from: 0x2b92, to: 0x182},
   629  	103: {from: 0x2bad, to: 0x2b28},
   630  	104: {from: 0x2bb4, to: 0x151},
   631  	105: {from: 0x2bf8, to: 0x2015},
   632  	106: {from: 0x2c82, to: 0x2c6a},
   633  	107: {from: 0x2f26, to: 0x1ef},
   634  	108: {from: 0x30f9, to: 0x3121},
   635  	109: {from: 0x31bd, to: 0x201},
   636  	110: {from: 0x3281, to: 0x1663},
   637  	111: {from: 0x3379, to: 0x228},
   638  	112: {from: 0x33eb, to: 0x131},
   639  	113: {from: 0x3409, to: 0x213},
   640  	114: {from: 0x3490, to: 0x246},
   641  	115: {from: 0x35be, to: 0x2a2e},
   642  	116: {from: 0x35c2, to: 0x4c},
   643  	117: {from: 0x35c5, to: 0x2fbb},
   644  	118: {from: 0x35ff, to: 0x3739},
   645  	119: {from: 0x3625, to: 0x3d53},
   646  	120: {from: 0x3648, to: 0x2c2d},
   647  	121: {from: 0x36ef, to: 0x268},
   648  	122: {from: 0x38e1, to: 0xb24},
   649  	123: {from: 0x390b, to: 0xe8d},
   650  	124: {from: 0x3a2c, to: 0x28a},
   651  	125: {from: 0x3d50, to: 0x7f},
   652  	126: {from: 0x4051, to: 0x306},
   653  	127: {from: 0x410b, to: 0x139},
   654  	128: {from: 0x415e, to: 0x345e},
   655  	129: {from: 0x4160, to: 0x86},
   656  	130: {from: 0x4242, to: 0x30b5},
   657  	131: {from: 0x4276, to: 0x2b6},
   658  	132: {from: 0x435d, to: 0x219c},
   659  	133: {from: 0x4370, to: 0x246f},
   660  	134: {from: 0x43a3, to: 0x4641},
   661  	135: {from: 0x4441, to: 0x4433},
   662  	136: {from: 0x44d1, to: 0x44d8},
   663  	137: {from: 0x46a9, to: 0x199},
   664  	138: {from: 0x473a, to: 0x2ba},
   665  }
   666  
   667  // Size: 139 bytes, 139 elements
   668  var langAliasTypes = [139]langAliasType{
   669  	// Entry 0 - 3F
   670  	0, 0, 0, 0, 0, 1, 2, 2, 0, 1, 0, 0, 1, 2, 1, 1,
   671  	2, 0, 1, 0, 1, 2, 1, 1, 0, 2, 1, 1, 0, 2, 0, 0,
   672  	1, 0, 1, 1, 2, 1, 1, 1, 1, 0, 0, 2, 1, 1, 1, 1,
   673  	2, 1, 0, 1, 1, 2, 2, 0, 1, 2, 0, 1, 1, 1, 1, 1,
   674  	// Entry 40 - 7F
   675  	0, 0, 2, 1, 0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 1,
   676  	0, 0, 1, 2, 2, 2, 0, 1, 1, 0, 1, 0, 0, 0, 1, 1,
   677  	1, 0, 1, 0, 2, 1, 1, 0, 1, 0, 0, 1, 1, 2, 0, 2,
   678  	1, 1, 1, 0, 2, 0, 0, 0, 0, 1, 1, 0, 1, 2, 0, 1,
   679  	// Entry 80 - BF
   680  	0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1,
   681  }
   682  
   683  const (
   684  	_Latn = 79
   685  	_Hani = 48
   686  	_Hans = 50
   687  	_Hant = 51
   688  	_Qaaa = 125
   689  	_Qaai = 133
   690  	_Qabx = 174
   691  	_Zinh = 218
   692  	_Zyyy = 222
   693  	_Zzzz = 223
   694  )
   695  
   696  // script is an alphabetically sorted list of ISO 15924 codes. The index
   697  // of the script in the string, divided by 4, is the internal scriptID.
   698  var script tag.Index = "" + // Size: 900 bytes
   699  	"----AdlmAfakAghbAhomArabAranArmiArmnAvstBaliBamuBassBatkBengBlisBopoBrah" +
   700  	"BraiBugiBuhdCakmCansCariChamCherCirtCoptCprtCyrlCyrsDevaDsrtDuplEgydEgyh" +
   701  	"EgypElbaEthiGeokGeorGlagGothGranGrekGujrGuruHangHaniHanoHansHantHatrHebr" +
   702  	"HiraHluwHmngHrktHungIndsItalJavaJpanJurcKaliKanaKharKhmrKhojKitlKitsKnda" +
   703  	"KoreKpelKthiLanaLaooLatfLatgLatnLepcLimbLinaLinbLisuLomaLyciLydiMahjMand" +
   704  	"ManiMarcMayaMendMercMeroMlymModiMongMoonMrooMteiMultMymrNarbNbatNkgbNkoo" +
   705  	"NshuOgamOlckOrkhOryaOsgeOsmaPalmPaucPermPhagPhliPhlpPhlvPhnxPlrdPrtiQaaa" +
   706  	"QaabQaacQaadQaaeQaafQaagQaahQaaiQaajQaakQaalQaamQaanQaaoQaapQaaqQaarQaas" +
   707  	"QaatQaauQaavQaawQaaxQaayQaazQabaQabbQabcQabdQabeQabfQabgQabhQabiQabjQabk" +
   708  	"QablQabmQabnQaboQabpQabqQabrQabsQabtQabuQabvQabwQabxRjngRoroRunrSamrSara" +
   709  	"SarbSaurSgnwShawShrdSiddSindSinhSoraSundSyloSyrcSyreSyrjSyrnTagbTakrTale" +
   710  	"TaluTamlTangTavtTeluTengTfngTglgThaaThaiTibtTirhUgarVaiiVispWaraWoleXpeo" +
   711  	"XsuxYiiiZinhZmthZsymZxxxZyyyZzzz\xff\xff\xff\xff"
   712  
   713  // suppressScript is an index from langID to the dominant script for that language,
   714  // if it exists.  If a script is given, it should be suppressed from the language tag.
   715  // Size: 709 bytes, 709 elements
   716  var suppressScript = [709]uint8{
   717  	// Entry 0 - 3F
   718  	0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x00, 0x00,
   719  	0x00, 0x00, 0x4f, 0x00, 0x00, 0x00, 0x00, 0x00,
   720  	0x00, 0x26, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00,
   721  	0x00, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00,
   722  	0x00, 0x00, 0x00, 0x4f, 0x00, 0x00, 0x00, 0x00,
   723  	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1d,
   724  	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   725  	0x1d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   726  	// Entry 40 - 7F
   727  	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   728  	0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x00,
   729  	0x00, 0x00, 0x00, 0x00, 0x4f, 0x00, 0x00, 0x00,
   730  	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   731  	0x00, 0x4f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4f,
   732  	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   733  	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   734  	0x00, 0x4f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4f,
   735  	// Entry 80 - BF
   736  	0x4f, 0x00, 0x00, 0x00, 0x00, 0x4f, 0x00, 0x00,
   737  	0x00, 0x00, 0x00, 0x4f, 0x00, 0x00, 0x00, 0xce,
   738  	0x00, 0x00, 0xd0, 0x00, 0x00, 0x00, 0x00, 0x00,
   739  	0x00, 0x2c, 0x4f, 0x4f, 0x4f, 0x00, 0x4f, 0x00,
   740  	0x4f, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x4f,
   741  	0x00, 0x00, 0x00, 0x4f, 0x4f, 0x00, 0x4f, 0x00,
   742  	0x00, 0x4f, 0x4f, 0x00, 0x00, 0x00, 0x00, 0x00,
   743  	0x4f, 0x4f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   744  	// Entry C0 - FF
   745  	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4f,
   746  	0x00, 0x4f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   747  	0x00, 0x4f, 0x2d, 0x00, 0x00, 0x00, 0x00, 0x00,
   748  	0x4f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x35,
   749  	0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   750  	0x00, 0x00, 0x00, 0x00, 0x00, 0x4f, 0x4f, 0x00,
   751  	0x4f, 0x4f, 0x08, 0x00, 0x00, 0x00, 0x00, 0x4f,
   752  	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4f, 0x00,
   753  	// Entry 100 - 13F
   754  	0x00, 0x4f, 0x4f, 0x00, 0x35, 0x00, 0x3e, 0x00,
   755  	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   756  	0x28, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   757  	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   758  	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   759  	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1d, 0x00,
   760  	0x4f, 0x00, 0x43, 0x00, 0x47, 0x48, 0x00, 0x1f,
   761  	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   762  	// Entry 140 - 17F
   763  	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   764  	0x00, 0x00, 0x00, 0x00, 0x00, 0x4f, 0x00, 0x00,
   765  	0x00, 0x00, 0x00, 0x4f, 0x00, 0x00, 0x00, 0x00,
   766  	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   767  	0x00, 0x00, 0x00, 0x4f, 0x4c, 0x00, 0x00, 0x00,
   768  	0x4f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4f,
   769  	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x00,
   770  	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4f, 0x00,
   771  	// Entry 180 - 1BF
   772  	0x00, 0x00, 0x4f, 0x00, 0x00, 0x00, 0x00, 0x4f,
   773  	0x00, 0x00, 0x00, 0x1d, 0x60, 0x00, 0x00, 0x00,
   774  	0x00, 0x4f, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00,
   775  	0x00, 0x4f, 0x4f, 0x00, 0x00, 0x00, 0x00, 0x00,
   776  	0x00, 0x00, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00,
   777  	0x00, 0x4f, 0x00, 0x00, 0x00, 0x00, 0x4f, 0x00,
   778  	0x4f, 0x00, 0x4f, 0x1f, 0x00, 0x00, 0x00, 0x00,
   779  	0x00, 0x00, 0x4f, 0x00, 0x4f, 0x00, 0x4f, 0x00,
   780  	// Entry 1C0 - 1FF
   781  	0x4f, 0x00, 0x00, 0x00, 0x6b, 0x4f, 0x00, 0x4f,
   782  	0x00, 0x00, 0x00, 0x4f, 0x00, 0x00, 0x00, 0x00,
   783  	0x00, 0x4f, 0x70, 0x00, 0x00, 0x2e, 0x00, 0x00,
   784  	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   785  	0x00, 0x00, 0x00, 0x00, 0x00, 0x4f, 0x00, 0x00,
   786  	0x00, 0x00, 0x00, 0x00, 0x05, 0x4f, 0x00, 0x4f,
   787  	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   788  	0x00, 0x00, 0x4f, 0x00, 0x00, 0x00, 0x00, 0x4f,
   789  	// Entry 200 - 23F
   790  	0x00, 0x4f, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00,
   791  	0x4f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   792  	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   793  	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   794  	0x4f, 0x00, 0x00, 0x00, 0x00, 0x00, 0xbb, 0x00,
   795  	0x4f, 0x00, 0x4f, 0x00, 0x00, 0x4f, 0x00, 0x00,
   796  	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4f, 0x00,
   797  	0x4f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4f, 0x00,
   798  	// Entry 240 - 27F
   799  	0x4f, 0x00, 0x00, 0x00, 0x00, 0x4f, 0x4f, 0x00,
   800  	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc7,
   801  	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xca, 0x4f,
   802  	0x00, 0x00, 0x00, 0xcf, 0x00, 0x00, 0x00, 0x26,
   803  	0x00, 0x00, 0x00, 0x4f, 0x00, 0x00, 0x4f, 0x00,
   804  	0x4f, 0x4f, 0x4f, 0x00, 0x4f, 0x4f, 0x00, 0x00,
   805  	0x4f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   806  	0x00, 0x00, 0x4f, 0x00, 0x00, 0x00, 0x00, 0x00,
   807  	// Entry 280 - 2BF
   808  	0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x00,
   809  	0x00, 0x05, 0x00, 0x00, 0x4f, 0x00, 0x00, 0x4f,
   810  	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   811  	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   812  	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4f, 0x00,
   813  	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   814  	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x35, 0x00,
   815  	0x00, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00,
   816  	// Entry 2C0 - 2FF
   817  	0x00, 0x00, 0x4f, 0x00, 0x00,
   818  }
   819  
   820  const (
   821  	_001 = 1
   822  	_419 = 30
   823  	_BR  = 64
   824  	_CA  = 72
   825  	_ES  = 109
   826  	_GB  = 121
   827  	_MD  = 186
   828  	_PT  = 236
   829  	_UK  = 304
   830  	_US  = 306
   831  	_ZZ  = 354
   832  	_XA  = 320
   833  	_XC  = 322
   834  	_XK  = 330
   835  )
   836  
   837  // isoRegionOffset needs to be added to the index of regionISO to obtain the regionID
   838  // for 2-letter ISO codes. (The first isoRegionOffset regionIDs are reserved for
   839  // the UN.M49 codes used for groups.)
   840  const isoRegionOffset = 31
   841  
   842  // regionTypes defines the status of a region for various standards.
   843  // Size: 355 bytes, 355 elements
   844  var regionTypes = [355]uint8{
   845  	// Entry 0 - 3F
   846  	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   847  	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   848  	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   849  	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05,
   850  	0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,
   851  	0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,
   852  	0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,
   853  	0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,
   854  	// Entry 40 - 7F
   855  	0x06, 0x06, 0x06, 0x04, 0x06, 0x06, 0x06, 0x06,
   856  	0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,
   857  	0x06, 0x06, 0x06, 0x06, 0x04, 0x06, 0x04, 0x00,
   858  	0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x04, 0x06,
   859  	0x04, 0x06, 0x06, 0x06, 0x06, 0x00, 0x06, 0x04,
   860  	0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,
   861  	0x06, 0x06, 0x06, 0x06, 0x06, 0x00, 0x06, 0x04,
   862  	0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,
   863  	// Entry 80 - BF
   864  	0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,
   865  	0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,
   866  	0x06, 0x00, 0x04, 0x06, 0x06, 0x06, 0x06, 0x06,
   867  	0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,
   868  	0x06, 0x00, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,
   869  	0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,
   870  	0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,
   871  	0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x00,
   872  	// Entry C0 - FF
   873  	0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,
   874  	0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,
   875  	0x06, 0x06, 0x06, 0x06, 0x06, 0x00, 0x06, 0x06,
   876  	0x06, 0x06, 0x00, 0x06, 0x04, 0x06, 0x06, 0x06,
   877  	0x06, 0x00, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,
   878  	0x06, 0x06, 0x06, 0x06, 0x06, 0x00, 0x06, 0x06,
   879  	0x00, 0x06, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05,
   880  	0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05,
   881  	// Entry 100 - 13F
   882  	0x06, 0x00, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,
   883  	0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,
   884  	0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,
   885  	0x06, 0x06, 0x06, 0x06, 0x04, 0x06, 0x06, 0x06,
   886  	0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,
   887  	0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,
   888  	0x02, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x00,
   889  	0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x00, 0x06,
   890  	// Entry 140 - 17F
   891  	0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05,
   892  	0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05,
   893  	0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05,
   894  	0x05, 0x05, 0x04, 0x06, 0x06, 0x04, 0x06, 0x06,
   895  	0x04, 0x06, 0x05,
   896  }
   897  
   898  // regionISO holds a list of alphabetically sorted 2-letter ISO region codes.
   899  // Each 2-letter codes is followed by two bytes with the following meaning:
   900  //     - [A-Z}{2}: the first letter of the 2-letter code plus these two
   901  //                 letters form the 3-letter ISO code.
   902  //     - 0, n:     index into altRegionISO3.
   903  var regionISO tag.Index = "" + // Size: 1300 bytes
   904  	"AAAAACSCADNDAEREAFFGAGTGAIIAALLBAMRMANNTAOGOAQTAARRGASSMATUTAUUSAWBWAXLA" +
   905  	"AZZEBAIHBBRBBDGDBEELBFFABGGRBHHRBIDIBJENBLLMBMMUBNRNBOOLBQESBRRABSHSBTTN" +
   906  	"BUURBVVTBWWABYLRBZLZCAANCCCKCDODCFAFCGOGCHHECIIVCKOKCLHLCMMRCNHNCOOLCPPT" +
   907  	"CRRICS\x00\x00CTTECUUBCVPVCWUWCXXRCYYPCZZEDDDRDEEUDGGADJJIDKNKDMMADOOMDY" +
   908  	"HYDZZAEA  ECCUEESTEGGYEHSHERRIESSPETTHEU\x00\x03FIINFJJIFKLKFMSMFOROFQ" +
   909  	"\x00\x18FRRAFXXXGAABGBBRGDRDGEEOGFUFGGGYGHHAGIIBGLRLGMMBGNINGPLPGQNQGRRC" +
   910  	"GS\x00\x06GTTMGUUMGWNBGYUYHKKGHMMDHNNDHRRVHTTIHUUNHVVOIC  IDDNIERLILSRIM" +
   911  	"MNINNDIOOTIQRQIRRNISSLITTAJEEYJMAMJOORJPPNJTTNKEENKGGZKHHMKIIRKM\x00\x09" +
   912  	"KNNAKP\x00\x0cKRORKWWTKY\x00\x0fKZAZLAAOLBBNLCCALIIELKKALRBRLSSOLTTULUUX" +
   913  	"LVVALYBYMAARMCCOMDDAMENEMFAFMGDGMHHLMIIDMKKDMLLIMMMRMNNGMOACMPNPMQTQMRRT" +
   914  	"MSSRMTLTMUUSMVDVMWWIMXEXMYYSMZOZNAAMNCCLNEERNFFKNGGANHHBNIICNLLDNOORNPPL" +
   915  	"NQ\x00\x1eNRRUNTTZNUIUNZZLOMMNPAANPCCIPEERPFYFPGNGPHHLPKAKPLOLPM\x00\x12" +
   916  	"PNCNPRRIPSSEPTRTPUUSPWLWPYRYPZCZQAATQMMMQNNNQOOOQPPPQQQQQRRRQSSSQTTTQU" +
   917  	"\x00\x03QVVVQWWWQXXXQYYYQZZZREEURHHOROOURS\x00\x15RUUSRWWASAAUSBLBSCYCSD" +
   918  	"DNSEWESGGPSHHNSIVNSJJMSKVKSLLESMMRSNENSOOMSRURSSSDSTTPSUUNSVLVSXXMSYYRSZ" +
   919  	"WZTAAATCCATDCDTF\x00\x18TGGOTHHATJJKTKKLTLLSTMKMTNUNTOONTPMPTRURTTTOTVUV" +
   920  	"TWWNTZZAUAKRUGGAUK  UMMIUSSAUYRYUZZBVAATVCCTVDDRVEENVGGBVIIRVNNMVUUTWFLF" +
   921  	"WKAKWSSMXAAAXBBBXCCCXDDDXEEEXFFFXGGGXHHHXIIIXJJJXKKKXLLLXMMMXNNNXOOOXPPP" +
   922  	"XQQQXRRRXSSSXTTTXUUUXVVVXWWWXXXXXYYYXZZZYDMDYEEMYT\x00\x1bYUUGZAAFZMMBZR" +
   923  	"ARZWWEZZZZ\xff\xff\xff\xff"
   924  
   925  // altRegionISO3 holds a list of 3-letter region codes that cannot be
   926  // mapped to 2-letter codes using the default algorithm. This is a short list.
   927  var altRegionISO3 string = "SCGQUUSGSCOMPRKCYMSPMSRBATFMYTATN"
   928  
   929  // altRegionIDs holds a list of regionIDs the positions of which match those
   930  // of the 3-letter ISO codes in altRegionISO3.
   931  // Size: 22 bytes, 11 elements
   932  var altRegionIDs = [11]uint16{
   933  	0x0056, 0x006f, 0x0086, 0x00a6, 0x00a8, 0x00ab, 0x00e8, 0x0103,
   934  	0x011f, 0x015c, 0x00da,
   935  }
   936  
   937  // Size: 80 bytes, 20 elements
   938  var regionOldMap = [20]fromTo{
   939  	0:  {from: 0x43, to: 0xc2},
   940  	1:  {from: 0x57, to: 0xa5},
   941  	2:  {from: 0x5e, to: 0x5f},
   942  	3:  {from: 0x65, to: 0x3a},
   943  	4:  {from: 0x77, to: 0x76},
   944  	5:  {from: 0x91, to: 0x36},
   945  	6:  {from: 0xa1, to: 0x131},
   946  	7:  {from: 0xbf, to: 0x131},
   947  	8:  {from: 0xd5, to: 0x13c},
   948  	9:  {from: 0xda, to: 0x2a},
   949  	10: {from: 0xed, to: 0x131},
   950  	11: {from: 0xf0, to: 0xe0},
   951  	12: {from: 0xfa, to: 0x6f},
   952  	13: {from: 0x101, to: 0x161},
   953  	14: {from: 0x128, to: 0x124},
   954  	15: {from: 0x130, to: 0x79},
   955  	16: {from: 0x137, to: 0x13b},
   956  	17: {from: 0x13e, to: 0x131},
   957  	18: {from: 0x15a, to: 0x15b},
   958  	19: {from: 0x160, to: 0x4a},
   959  }
   960  
   961  // m49 maps regionIDs to UN.M49 codes. The first isoRegionOffset entries are
   962  // codes indicating collections of regions.
   963  // Size: 710 bytes, 355 elements
   964  var m49 = [355]int16{
   965  	// Entry 0 - 3F
   966  	0, 1, 2, 3, 5, 9, 11, 13,
   967  	14, 15, 17, 18, 19, 21, 29, 30,
   968  	34, 35, 39, 53, 54, 57, 61, 142,
   969  	143, 145, 150, 151, 154, 155, 419, 958,
   970  	0, 20, 784, 4, 28, 660, 8, 51,
   971  	530, 24, 10, 32, 16, 40, 36, 533,
   972  	248, 31, 70, 52, 50, 56, 854, 100,
   973  	48, 108, 204, 652, 60, 96, 68, 535,
   974  	// Entry 40 - 7F
   975  	76, 44, 64, 104, 74, 72, 112, 84,
   976  	124, 166, 180, 140, 178, 756, 384, 184,
   977  	152, 120, 156, 170, 0, 188, 891, 296,
   978  	192, 132, 531, 162, 196, 203, 278, 276,
   979  	0, 262, 208, 212, 214, 204, 12, 0,
   980  	218, 233, 818, 732, 232, 724, 231, 967,
   981  	246, 242, 238, 583, 234, 0, 250, 249,
   982  	266, 826, 308, 268, 254, 831, 288, 292,
   983  	// Entry 80 - BF
   984  	304, 270, 324, 312, 226, 300, 239, 320,
   985  	316, 624, 328, 344, 334, 340, 191, 332,
   986  	348, 854, 0, 360, 372, 376, 833, 356,
   987  	86, 368, 364, 352, 380, 832, 388, 400,
   988  	392, 581, 404, 417, 116, 296, 174, 659,
   989  	408, 410, 414, 136, 398, 418, 422, 662,
   990  	438, 144, 430, 426, 440, 442, 428, 434,
   991  	504, 492, 498, 499, 663, 450, 584, 581,
   992  	// Entry C0 - FF
   993  	807, 466, 104, 496, 446, 580, 474, 478,
   994  	500, 470, 480, 462, 454, 484, 458, 508,
   995  	516, 540, 562, 574, 566, 548, 558, 528,
   996  	578, 524, 10, 520, 536, 570, 554, 512,
   997  	591, 0, 604, 258, 598, 608, 586, 616,
   998  	666, 612, 630, 275, 620, 581, 585, 600,
   999  	591, 634, 959, 960, 961, 962, 963, 964,
  1000  	965, 966, 967, 968, 969, 970, 971, 972,
  1001  	// Entry 100 - 13F
  1002  	638, 716, 642, 688, 643, 646, 682, 90,
  1003  	690, 729, 752, 702, 654, 705, 744, 703,
  1004  	694, 674, 686, 706, 740, 728, 678, 810,
  1005  	222, 534, 760, 748, 0, 796, 148, 260,
  1006  	768, 764, 762, 772, 626, 795, 788, 776,
  1007  	626, 792, 780, 798, 158, 834, 804, 800,
  1008  	826, 581, 840, 858, 860, 336, 670, 704,
  1009  	862, 92, 850, 704, 548, 876, 581, 882,
  1010  	// Entry 140 - 17F
  1011  	973, 974, 975, 976, 977, 978, 979, 980,
  1012  	981, 982, 983, 984, 985, 986, 987, 988,
  1013  	989, 990, 991, 992, 993, 994, 995, 996,
  1014  	997, 998, 720, 887, 175, 891, 710, 894,
  1015  	180, 716, 999,
  1016  }
  1017  
  1018  // m49Index gives indexes into fromM49 based on the three most significant bits
  1019  // of a 10-bit UN.M49 code. To search an UN.M49 code in fromM49, search in
  1020  //    fromM49[m49Index[msb39(code)]:m49Index[msb3(code)+1]]
  1021  // for an entry where the first 7 bits match the 7 lsb of the UN.M49 code.
  1022  // The region code is stored in the 9 lsb of the indexed value.
  1023  // Size: 18 bytes, 9 elements
  1024  var m49Index = [9]int16{
  1025  	0, 59, 107, 142, 180, 219, 258, 290,
  1026  	332,
  1027  }
  1028  
  1029  // fromM49 contains entries to map UN.M49 codes to regions. See m49Index for details.
  1030  // Size: 664 bytes, 332 elements
  1031  var fromM49 = [332]uint16{
  1032  	// Entry 0 - 3F
  1033  	0x0201, 0x0402, 0x0603, 0x0823, 0x0a04, 0x1026, 0x1205, 0x142a,
  1034  	0x1606, 0x1866, 0x1a07, 0x1c08, 0x1e09, 0x202c, 0x220a, 0x240b,
  1035  	0x260c, 0x2821, 0x2a0d, 0x3029, 0x3824, 0x3a0e, 0x3c0f, 0x3e31,
  1036  	0x402b, 0x4410, 0x4611, 0x482e, 0x4e12, 0x502d, 0x5841, 0x6038,
  1037  	0x6434, 0x6627, 0x6833, 0x6a13, 0x6c14, 0x7035, 0x7215, 0x783c,
  1038  	0x7a16, 0x8042, 0x883e, 0x8c32, 0x9045, 0x9444, 0x9840, 0xa847,
  1039  	0xac98, 0xb507, 0xb939, 0xc03d, 0xc837, 0xd0c2, 0xd839, 0xe046,
  1040  	0xe8a4, 0xf051, 0xf848, 0x0859, 0x10ab, 0x184b, 0x1c17, 0x1e18,
  1041  	// Entry 40 - 7F
  1042  	0x20b1, 0x2219, 0x291e, 0x2c1a, 0x2e1b, 0x3050, 0x341c, 0x361d,
  1043  	0x3852, 0x3d2c, 0x445b, 0x4c49, 0x5453, 0x5ca6, 0x5f5c, 0x644c,
  1044  	0x684a, 0x704f, 0x7855, 0x7e8e, 0x8058, 0x885c, 0x965d, 0x983a,
  1045  	0xa062, 0xa863, 0xac64, 0xb468, 0xbd18, 0xc484, 0xcc6e, 0xce6e,
  1046  	0xd06c, 0xd269, 0xd474, 0xdc72, 0xde86, 0xe471, 0xec70, 0xf030,
  1047  	0xf277, 0xf476, 0xfc7c, 0x04e3, 0x091f, 0x0c61, 0x1478, 0x187b,
  1048  	0x1c81, 0x26eb, 0x285f, 0x2c5e, 0x305f, 0x407e, 0x487f, 0x50a5,
  1049  	0x5885, 0x6080, 0x687a, 0x7083, 0x7888, 0x8087, 0x8882, 0x908a,
  1050  	// Entry 80 - BF
  1051  	0x988f, 0x9c8c, 0xa135, 0xa88d, 0xb08b, 0xb890, 0xc09b, 0xc897,
  1052  	0xd093, 0xd89a, 0xe099, 0xe894, 0xf095, 0xf89c, 0x004e, 0x089e,
  1053  	0x10a0, 0x1cac, 0x209f, 0x28a2, 0x30a8, 0x34a9, 0x3caa, 0x42a3,
  1054  	0x44ad, 0x461e, 0x4cae, 0x54b3, 0x58b6, 0x5cb2, 0x64b7, 0x6cb0,
  1055  	0x70b4, 0x74b5, 0x7cc4, 0x84bd, 0x8ccc, 0x94ce, 0x9ccb, 0xa4c1,
  1056  	0xacc9, 0xb4c6, 0xbcc7, 0xc0ca, 0xc8cd, 0xd8b9, 0xe0c3, 0xe4ba,
  1057  	0xe6bb, 0xe8c8, 0xf0b8, 0xf8cf, 0x00df, 0x08d0, 0x10db, 0x18d9,
  1058  	0x20d7, 0x2428, 0x265a, 0x2a2f, 0x2d19, 0x2e3f, 0x30dc, 0x38d1,
  1059  	// Entry C0 - FF
  1060  	0x493c, 0x54de, 0x5cd6, 0x64d2, 0x6cd4, 0x74dd, 0x7cd3, 0x84d8,
  1061  	0x88c5, 0x8b31, 0x8e73, 0x90be, 0x92ee, 0x94e6, 0x9ee0, 0xace4,
  1062  	0xb0ef, 0xb8e2, 0xc0e5, 0xc8e9, 0xd0e7, 0xd8ec, 0xe089, 0xe524,
  1063  	0xecea, 0xf4f1, 0xfd00, 0x0502, 0x0704, 0x0d05, 0x183b, 0x1d0c,
  1064  	0x26a7, 0x2825, 0x2caf, 0x2ebc, 0x34e8, 0x3d36, 0x4511, 0x4d16,
  1065  	0x5506, 0x5d12, 0x6103, 0x6508, 0x6d10, 0x7d0b, 0x7f0f, 0x813b,
  1066  	0x830d, 0x8513, 0x8d5e, 0x9961, 0xa15a, 0xa86d, 0xb115, 0xb309,
  1067  	0xb86b, 0xc109, 0xc914, 0xd10e, 0xd91b, 0xe10a, 0xe84d, 0xf11a,
  1068  	// Entry 100 - 13F
  1069  	0xf522, 0xf921, 0x0120, 0x0923, 0x1127, 0x192a, 0x2022, 0x2926,
  1070  	0x3129, 0x3725, 0x391d, 0x3d2b, 0x412f, 0x492e, 0x4ec0, 0x5517,
  1071  	0x646a, 0x7479, 0x7e7d, 0x809d, 0x8296, 0x852d, 0x9132, 0xa53a,
  1072  	0xac36, 0xb533, 0xb934, 0xbd38, 0xd93d, 0xe53f, 0xed5b, 0xef5b,
  1073  	0xf656, 0xfd5f, 0x7c1f, 0x7ef2, 0x80f3, 0x82f4, 0x84f5, 0x86f6,
  1074  	0x88f7, 0x8af8, 0x8cf9, 0x8e6f, 0x90fb, 0x92fc, 0x94fd, 0x96fe,
  1075  	0x98ff, 0x9b40, 0x9d41, 0x9f42, 0xa143, 0xa344, 0xa545, 0xa746,
  1076  	0xa947, 0xab48, 0xad49, 0xaf4a, 0xb14b, 0xb34c, 0xb54d, 0xb74e,
  1077  	// Entry 140 - 17F
  1078  	0xb94f, 0xbb50, 0xbd51, 0xbf52, 0xc153, 0xc354, 0xc555, 0xc756,
  1079  	0xc957, 0xcb58, 0xcd59, 0xcf62,
  1080  }
  1081  
  1082  // Size: 1311 bytes
  1083  var variantIndex = map[string]uint8{
  1084  	"1606nict": 0x0,
  1085  	"1694acad": 0x1,
  1086  	"1901":     0x2,
  1087  	"1959acad": 0x3,
  1088  	"1994":     0x3f,
  1089  	"1996":     0x4,
  1090  	"alalc97":  0x41,
  1091  	"aluku":    0x5,
  1092  	"arevela":  0x6,
  1093  	"arevmda":  0x7,
  1094  	"baku1926": 0x8,
  1095  	"balanka":  0x9,
  1096  	"barla":    0xa,
  1097  	"bauddha":  0xb,
  1098  	"biscayan": 0xc,
  1099  	"biske":    0x3a,
  1100  	"bohoric":  0xd,
  1101  	"boont":    0xe,
  1102  	"dajnko":   0xf,
  1103  	"ekavsk":   0x10,
  1104  	"emodeng":  0x11,
  1105  	"fonipa":   0x42,
  1106  	"fonupa":   0x43,
  1107  	"fonxsamp": 0x44,
  1108  	"hepburn":  0x12,
  1109  	"heploc":   0x40,
  1110  	"hognorsk": 0x13,
  1111  	"ijekavsk": 0x14,
  1112  	"itihasa":  0x15,
  1113  	"jauer":    0x16,
  1114  	"jyutping": 0x17,
  1115  	"kkcor":    0x18,
  1116  	"kociewie": 0x19,
  1117  	"kscor":    0x1a,
  1118  	"laukika":  0x1b,
  1119  	"lipaw":    0x3b,
  1120  	"luna1918": 0x1c,
  1121  	"metelko":  0x1d,
  1122  	"monoton":  0x1e,
  1123  	"ndyuka":   0x1f,
  1124  	"nedis":    0x20,
  1125  	"njiva":    0x3c,
  1126  	"nulik":    0x21,
  1127  	"osojs":    0x3d,
  1128  	"oxendict": 0x22,
  1129  	"pamaka":   0x23,
  1130  	"petr1708": 0x24,
  1131  	"pinyin":   0x25,
  1132  	"polyton":  0x26,
  1133  	"puter":    0x27,
  1134  	"rigik":    0x28,
  1135  	"rozaj":    0x29,
  1136  	"rumgr":    0x2a,
  1137  	"scotland": 0x2b,
  1138  	"scouse":   0x2c,
  1139  	"solba":    0x3e,
  1140  	"sotav":    0x2d,
  1141  	"surmiran": 0x2e,
  1142  	"sursilv":  0x2f,
  1143  	"sutsilv":  0x30,
  1144  	"tarask":   0x31,
  1145  	"uccor":    0x32,
  1146  	"ucrcor":   0x33,
  1147  	"ulster":   0x34,
  1148  	"unifon":   0x35,
  1149  	"vaidika":  0x36,
  1150  	"valencia": 0x37,
  1151  	"vallader": 0x38,
  1152  	"wadegile": 0x39,
  1153  }
  1154  
  1155  // variantNumSpecialized is the number of specialized variants in variants.
  1156  const variantNumSpecialized = 65
  1157  
  1158  // nRegionGroups is the number of region groups.
  1159  const nRegionGroups = 32
  1160  
  1161  type likelyLangRegion struct {
  1162  	lang   uint16
  1163  	region uint16
  1164  }
  1165  
  1166  // likelyScript is a lookup table, indexed by scriptID, for the most likely
  1167  // languages and regions given a script.
  1168  // Size: 900 bytes, 225 elements
  1169  var likelyScript = [225]likelyLangRegion{
  1170  	3:   {lang: 0x158, region: 0x104},
  1171  	4:   {lang: 0xc, region: 0x97},
  1172  	5:   {lang: 0x15, region: 0x6a},
  1173  	7:   {lang: 0x16, region: 0x9a},
  1174  	8:   {lang: 0xf2, region: 0x27},
  1175  	9:   {lang: 0x8, region: 0x9a},
  1176  	10:  {lang: 0x27, region: 0x93},
  1177  	11:  {lang: 0x2b, region: 0x51},
  1178  	12:  {lang: 0x55, region: 0xb2},
  1179  	13:  {lang: 0x2c, region: 0x93},
  1180  	14:  {lang: 0x4b, region: 0x34},
  1181  	16:  {lang: 0x2c0, region: 0x12c},
  1182  	17:  {lang: 0x1e3, region: 0x97},
  1183  	18:  {lang: 0xae, region: 0x76},
  1184  	19:  {lang: 0x5b, region: 0x93},
  1185  	20:  {lang: 0x47, region: 0xe5},
  1186  	21:  {lang: 0x63, region: 0x34},
  1187  	22:  {lang: 0x73, region: 0x48},
  1188  	23:  {lang: 0x2a5, region: 0x129},
  1189  	24:  {lang: 0x6e, region: 0x13b},
  1190  	25:  {lang: 0x6c, region: 0x132},
  1191  	27:  {lang: 0x71, region: 0x6a},
  1192  	28:  {lang: 0xcf, region: 0x5c},
  1193  	29:  {lang: 0x205, region: 0x104},
  1194  	31:  {lang: 0xe0, region: 0x97},
  1195  	33:  {lang: 0xae, region: 0x76},
  1196  	36:  {lang: 0x97, region: 0x6a},
  1197  	37:  {lang: 0x238, region: 0x26},
  1198  	38:  {lang: 0x11, region: 0x6e},
  1199  	40:  {lang: 0x110, region: 0x7b},
  1200  	41:  {lang: 0x7d, region: 0x37},
  1201  	42:  {lang: 0xce, region: 0x12e},
  1202  	43:  {lang: 0x20b, region: 0x97},
  1203  	44:  {lang: 0x99, region: 0x85},
  1204  	45:  {lang: 0xd2, region: 0x97},
  1205  	46:  {lang: 0x1d5, region: 0x97},
  1206  	47:  {lang: 0x135, region: 0xa9},
  1207  	48:  {lang: 0x2c0, region: 0x52},
  1208  	49:  {lang: 0xe8, region: 0xe5},
  1209  	50:  {lang: 0x2c0, region: 0x52},
  1210  	51:  {lang: 0x2c0, region: 0x12c},
  1211  	52:  {lang: 0x18a, region: 0x99},
  1212  	53:  {lang: 0xdf, region: 0x95},
  1213  	54:  {lang: 0x106, region: 0xa0},
  1214  	55:  {lang: 0xe3, region: 0x129},
  1215  	56:  {lang: 0xe7, region: 0xad},
  1216  	58:  {lang: 0xf1, region: 0x90},
  1217  	60:  {lang: 0x9f, region: 0x9c},
  1218  	61:  {lang: 0x10e, region: 0x93},
  1219  	62:  {lang: 0x106, region: 0xa0},
  1220  	64:  {lang: 0x98, region: 0xc2},
  1221  	65:  {lang: 0x106, region: 0xa0},
  1222  	66:  {lang: 0x1e9, region: 0xe6},
  1223  	67:  {lang: 0x132, region: 0xa4},
  1224  	68:  {lang: 0x218, region: 0x97},
  1225  	71:  {lang: 0x134, region: 0x97},
  1226  	72:  {lang: 0x135, region: 0xa9},
  1227  	74:  {lang: 0x3c, region: 0x97},
  1228  	75:  {lang: 0x1c1, region: 0x121},
  1229  	76:  {lang: 0x164, region: 0xad},
  1230  	80:  {lang: 0x157, region: 0x97},
  1231  	81:  {lang: 0x15b, region: 0x97},
  1232  	82:  {lang: 0x14e, region: 0x85},
  1233  	83:  {lang: 0xcf, region: 0x85},
  1234  	84:  {lang: 0x15d, region: 0x52},
  1235  	86:  {lang: 0x2a7, region: 0x129},
  1236  	87:  {lang: 0x2a8, region: 0x129},
  1237  	88:  {lang: 0xe0, region: 0x97},
  1238  	89:  {lang: 0x1a7, region: 0x9a},
  1239  	90:  {lang: 0x2aa, region: 0x52},
  1240  	93:  {lang: 0x17e, region: 0x110},
  1241  	94:  {lang: 0x2ab, region: 0x109},
  1242  	95:  {lang: 0x2ab, region: 0x109},
  1243  	96:  {lang: 0x18c, region: 0x97},
  1244  	97:  {lang: 0x195, region: 0x97},
  1245  	98:  {lang: 0x18e, region: 0x52},
  1246  	100: {lang: 0x198, region: 0x34},
  1247  	101: {lang: 0x18f, region: 0x97},
  1248  	102: {lang: 0x229, region: 0xe6},
  1249  	103: {lang: 0x1a4, region: 0xc2},
  1250  	104: {lang: 0x2ac, region: 0x106},
  1251  	105: {lang: 0x16, region: 0x9f},
  1252  	107: {lang: 0x178, region: 0x82},
  1253  	109: {lang: 0x221, region: 0x94},
  1254  	110: {lang: 0x210, region: 0x97},
  1255  	111: {lang: 0x1d4, region: 0xc3},
  1256  	112: {lang: 0x1d2, region: 0x97},
  1257  	114: {lang: 0x236, region: 0x113},
  1258  	115: {lang: 0x16, region: 0x11a},
  1259  	116: {lang: 0x7c, region: 0xc2},
  1260  	117: {lang: 0x146, region: 0x104},
  1261  	118: {lang: 0x171, region: 0x52},
  1262  	119: {lang: 0x1d7, region: 0x9a},
  1263  	120: {lang: 0x1d7, region: 0x52},
  1264  	122: {lang: 0x1e1, region: 0xae},
  1265  	123: {lang: 0xe4, region: 0x52},
  1266  	124: {lang: 0x2af, region: 0x9a},
  1267  	175: {lang: 0x1f4, region: 0x93},
  1268  	177: {lang: 0x1c3, region: 0x10a},
  1269  	178: {lang: 0x232, region: 0x95},
  1270  	180: {lang: 0x2b0, region: 0x15b},
  1271  	181: {lang: 0x211, region: 0x97},
  1272  	182: {lang: 0x1e, region: 0x132},
  1273  	183: {lang: 0x9a, region: 0x79},
  1274  	184: {lang: 0x20b, region: 0x97},
  1275  	185: {lang: 0x20b, region: 0x97},
  1276  	186: {lang: 0x218, region: 0x97},
  1277  	187: {lang: 0x226, region: 0xb1},
  1278  	188: {lang: 0x23a, region: 0x97},
  1279  	189: {lang: 0x242, region: 0x93},
  1280  	190: {lang: 0x24c, region: 0x34},
  1281  	191: {lang: 0x24d, region: 0x99},
  1282  	195: {lang: 0x251, region: 0xe5},
  1283  	196: {lang: 0x8a, region: 0x97},
  1284  	197: {lang: 0x253, region: 0x52},
  1285  	198: {lang: 0x125, region: 0x52},
  1286  	199: {lang: 0x24f, region: 0x97},
  1287  	201: {lang: 0x48, region: 0x13b},
  1288  	202: {lang: 0x256, region: 0x97},
  1289  	204: {lang: 0x2bf, region: 0xb8},
  1290  	205: {lang: 0xa9, region: 0xe5},
  1291  	206: {lang: 0x8f, region: 0xcb},
  1292  	207: {lang: 0x25b, region: 0x121},
  1293  	208: {lang: 0x4c, region: 0x52},
  1294  	209: {lang: 0x176, region: 0x97},
  1295  	210: {lang: 0x282, region: 0x11a},
  1296  	211: {lang: 0x28b, region: 0xb2},
  1297  	213: {lang: 0xeb, region: 0x97},
  1298  	215: {lang: 0x1df, region: 0x9a},
  1299  	216: {lang: 0xe, region: 0x99},
  1300  	217: {lang: 0xfa, region: 0x52},
  1301  }
  1302  
  1303  type likelyScriptRegion struct {
  1304  	region uint16
  1305  	script uint8
  1306  	flags  uint8
  1307  }
  1308  
  1309  // likelyLang is a lookup table, indexed by langID, for the most likely
  1310  // scripts and regions given incomplete information. If more entries exist for a
  1311  // given language, region and script are the index and size respectively
  1312  // of the list in likelyLangList.
  1313  // Size: 2836 bytes, 709 elements
  1314  var likelyLang = [709]likelyScriptRegion{
  1315  	0:   {region: 0x132, script: 0x4f, flags: 0x0},
  1316  	1:   {region: 0x6e, script: 0x4f, flags: 0x0},
  1317  	2:   {region: 0x7b, script: 0x1d, flags: 0x0},
  1318  	3:   {region: 0x7e, script: 0x4f, flags: 0x0},
  1319  	4:   {region: 0x93, script: 0x4f, flags: 0x0},
  1320  	5:   {region: 0x12f, script: 0x4f, flags: 0x0},
  1321  	6:   {region: 0x7e, script: 0x4f, flags: 0x0},
  1322  	7:   {region: 0x104, script: 0x1d, flags: 0x0},
  1323  	8:   {region: 0x9a, script: 0x9, flags: 0x0},
  1324  	9:   {region: 0x126, script: 0x5, flags: 0x0},
  1325  	10:  {region: 0x15e, script: 0x4f, flags: 0x0},
  1326  	11:  {region: 0x51, script: 0x4f, flags: 0x0},
  1327  	12:  {region: 0x97, script: 0x4, flags: 0x0},
  1328  	13:  {region: 0x7e, script: 0x4f, flags: 0x0},
  1329  	14:  {region: 0x99, script: 0xd8, flags: 0x0},
  1330  	15:  {region: 0x14a, script: 0x4f, flags: 0x0},
  1331  	16:  {region: 0x104, script: 0x1d, flags: 0x0},
  1332  	17:  {region: 0x6e, script: 0x26, flags: 0x0},
  1333  	18:  {region: 0xd4, script: 0x4f, flags: 0x0},
  1334  	20:  {region: 0x93, script: 0x4f, flags: 0x0},
  1335  	21:  {region: 0x6a, script: 0x5, flags: 0x0},
  1336  	22:  {region: 0x0, script: 0x3, flags: 0x1},
  1337  	23:  {region: 0x50, script: 0x4f, flags: 0x0},
  1338  	24:  {region: 0x3e, script: 0x4f, flags: 0x0},
  1339  	25:  {region: 0x66, script: 0x5, flags: 0x0},
  1340  	26:  {region: 0xb8, script: 0x5, flags: 0x0},
  1341  	27:  {region: 0x6a, script: 0x5, flags: 0x0},
  1342  	28:  {region: 0x97, script: 0xe, flags: 0x0},
  1343  	29:  {region: 0x12d, script: 0x4f, flags: 0x0},
  1344  	30:  {region: 0x132, script: 0xb6, flags: 0x0},
  1345  	31:  {region: 0x6d, script: 0x4f, flags: 0x0},
  1346  	32:  {region: 0x48, script: 0x4f, flags: 0x0},
  1347  	33:  {region: 0x104, script: 0x1d, flags: 0x0},
  1348  	34:  {region: 0x97, script: 0x1f, flags: 0x0},
  1349  	35:  {region: 0x3e, script: 0x4f, flags: 0x0},
  1350  	36:  {region: 0x3, script: 0x5, flags: 0x1},
  1351  	37:  {region: 0x104, script: 0x1d, flags: 0x0},
  1352  	38:  {region: 0xe6, script: 0x5, flags: 0x0},
  1353  	39:  {region: 0x93, script: 0x4f, flags: 0x0},
  1354  	40:  {region: 0xd9, script: 0x1f, flags: 0x0},
  1355  	41:  {region: 0x2d, script: 0x4f, flags: 0x0},
  1356  	42:  {region: 0x51, script: 0x4f, flags: 0x0},
  1357  	43:  {region: 0x51, script: 0xb, flags: 0x0},
  1358  	44:  {region: 0x93, script: 0x4f, flags: 0x0},
  1359  	45:  {region: 0x51, script: 0x4f, flags: 0x0},
  1360  	46:  {region: 0x4e, script: 0x4f, flags: 0x0},
  1361  	47:  {region: 0x46, script: 0x1d, flags: 0x0},
  1362  	48:  {region: 0x109, script: 0x5, flags: 0x0},
  1363  	49:  {region: 0x15f, script: 0x4f, flags: 0x0},
  1364  	50:  {region: 0x93, script: 0x4f, flags: 0x0},
  1365  	51:  {region: 0x12d, script: 0x4f, flags: 0x0},
  1366  	52:  {region: 0x51, script: 0x4f, flags: 0x0},
  1367  	53:  {region: 0x97, script: 0xc7, flags: 0x0},
  1368  	54:  {region: 0xe6, script: 0x5, flags: 0x0},
  1369  	55:  {region: 0x97, script: 0x1f, flags: 0x0},
  1370  	56:  {region: 0x37, script: 0x1d, flags: 0x0},
  1371  	57:  {region: 0x97, script: 0x1f, flags: 0x0},
  1372  	58:  {region: 0xe6, script: 0x5, flags: 0x0},
  1373  	59:  {region: 0x129, script: 0x2c, flags: 0x0},
  1374  	60:  {region: 0x97, script: 0x4a, flags: 0x0},
  1375  	61:  {region: 0x97, script: 0x1f, flags: 0x0},
  1376  	62:  {region: 0x97, script: 0x1f, flags: 0x0},
  1377  	63:  {region: 0xe5, script: 0x4f, flags: 0x0},
  1378  	64:  {region: 0x97, script: 0x1f, flags: 0x0},
  1379  	65:  {region: 0x13c, script: 0x4f, flags: 0x0},
  1380  	66:  {region: 0xe5, script: 0x4f, flags: 0x0},
  1381  	67:  {region: 0xd4, script: 0x4f, flags: 0x0},
  1382  	68:  {region: 0x97, script: 0x1f, flags: 0x0},
  1383  	69:  {region: 0x93, script: 0x4f, flags: 0x0},
  1384  	70:  {region: 0x51, script: 0x4f, flags: 0x0},
  1385  	71:  {region: 0xe5, script: 0x4f, flags: 0x0},
  1386  	72:  {region: 0x13b, script: 0xc9, flags: 0x0},
  1387  	73:  {region: 0xc1, script: 0x4f, flags: 0x0},
  1388  	74:  {region: 0xc1, script: 0x4f, flags: 0x0},
  1389  	75:  {region: 0x34, script: 0xe, flags: 0x0},
  1390  	76:  {region: 0x52, script: 0xd0, flags: 0x0},
  1391  	77:  {region: 0x97, script: 0xe, flags: 0x0},
  1392  	78:  {region: 0x9a, script: 0x5, flags: 0x0},
  1393  	79:  {region: 0x4e, script: 0x4f, flags: 0x0},
  1394  	80:  {region: 0x76, script: 0x4f, flags: 0x0},
  1395  	81:  {region: 0x97, script: 0x1f, flags: 0x0},
  1396  	82:  {region: 0xe6, script: 0x5, flags: 0x0},
  1397  	83:  {region: 0x97, script: 0x1f, flags: 0x0},
  1398  	84:  {region: 0x32, script: 0x4f, flags: 0x0},
  1399  	85:  {region: 0xb2, script: 0xc, flags: 0x0},
  1400  	86:  {region: 0x51, script: 0x4f, flags: 0x0},
  1401  	87:  {region: 0xe5, script: 0x4f, flags: 0x0},
  1402  	88:  {region: 0xe6, script: 0x1f, flags: 0x0},
  1403  	89:  {region: 0x104, script: 0x1d, flags: 0x0},
  1404  	90:  {region: 0x15c, script: 0x4f, flags: 0x0},
  1405  	91:  {region: 0x93, script: 0x4f, flags: 0x0},
  1406  	92:  {region: 0x51, script: 0x4f, flags: 0x0},
  1407  	93:  {region: 0x84, script: 0x4f, flags: 0x0},
  1408  	94:  {region: 0x6c, script: 0x26, flags: 0x0},
  1409  	95:  {region: 0x51, script: 0x4f, flags: 0x0},
  1410  	96:  {region: 0xc1, script: 0x4f, flags: 0x0},
  1411  	97:  {region: 0x6d, script: 0x4f, flags: 0x0},
  1412  	98:  {region: 0xd4, script: 0x4f, flags: 0x0},
  1413  	99:  {region: 0x8, script: 0x2, flags: 0x1},
  1414  	100: {region: 0x104, script: 0x1d, flags: 0x0},
  1415  	101: {region: 0xe5, script: 0x4f, flags: 0x0},
  1416  	102: {region: 0x12f, script: 0x4f, flags: 0x0},
  1417  	103: {region: 0x88, script: 0x4f, flags: 0x0},
  1418  	104: {region: 0x73, script: 0x4f, flags: 0x0},
  1419  	105: {region: 0x104, script: 0x1d, flags: 0x0},
  1420  	106: {region: 0x132, script: 0x4f, flags: 0x0},
  1421  	107: {region: 0x48, script: 0x4f, flags: 0x0},
  1422  	108: {region: 0x132, script: 0x19, flags: 0x0},
  1423  	109: {region: 0xa4, script: 0x5, flags: 0x0},
  1424  	110: {region: 0x13b, script: 0x18, flags: 0x0},
  1425  	111: {region: 0x99, script: 0x5, flags: 0x0},
  1426  	112: {region: 0x76, script: 0x4f, flags: 0x0},
  1427  	113: {region: 0x6a, script: 0x1b, flags: 0x0},
  1428  	114: {region: 0xe5, script: 0x4f, flags: 0x0},
  1429  	115: {region: 0x48, script: 0x16, flags: 0x0},
  1430  	116: {region: 0x48, script: 0x16, flags: 0x0},
  1431  	117: {region: 0x48, script: 0x16, flags: 0x0},
  1432  	118: {region: 0x48, script: 0x16, flags: 0x0},
  1433  	119: {region: 0x48, script: 0x16, flags: 0x0},
  1434  	120: {region: 0x108, script: 0x4f, flags: 0x0},
  1435  	121: {region: 0x5d, script: 0x4f, flags: 0x0},
  1436  	122: {region: 0xe7, script: 0x4f, flags: 0x0},
  1437  	123: {region: 0x48, script: 0x16, flags: 0x0},
  1438  	124: {region: 0xc2, script: 0x74, flags: 0x0},
  1439  	125: {region: 0xa, script: 0x2, flags: 0x1},
  1440  	126: {region: 0x104, script: 0x1d, flags: 0x0},
  1441  	127: {region: 0x79, script: 0x4f, flags: 0x0},
  1442  	128: {region: 0x62, script: 0x4f, flags: 0x0},
  1443  	129: {region: 0x132, script: 0x4f, flags: 0x0},
  1444  	130: {region: 0x104, script: 0x1d, flags: 0x0},
  1445  	131: {region: 0xa2, script: 0x4f, flags: 0x0},
  1446  	132: {region: 0x97, script: 0x5, flags: 0x0},
  1447  	133: {region: 0x5f, script: 0x4f, flags: 0x0},
  1448  	134: {region: 0x48, script: 0x4f, flags: 0x0},
  1449  	135: {region: 0x48, script: 0x4f, flags: 0x0},
  1450  	136: {region: 0xd2, script: 0x4f, flags: 0x0},
  1451  	137: {region: 0x4e, script: 0x4f, flags: 0x0},
  1452  	138: {region: 0x97, script: 0x5, flags: 0x0},
  1453  	139: {region: 0x5f, script: 0x4f, flags: 0x0},
  1454  	140: {region: 0xc1, script: 0x4f, flags: 0x0},
  1455  	141: {region: 0xce, script: 0x4f, flags: 0x0},
  1456  	142: {region: 0x51, script: 0x4f, flags: 0x0},
  1457  	143: {region: 0xcb, script: 0xce, flags: 0x0},
  1458  	144: {region: 0x112, script: 0x4f, flags: 0x0},
  1459  	145: {region: 0x36, script: 0x4f, flags: 0x0},
  1460  	146: {region: 0x42, script: 0xd0, flags: 0x0},
  1461  	147: {region: 0xa2, script: 0x4f, flags: 0x0},
  1462  	148: {region: 0x7e, script: 0x4f, flags: 0x0},
  1463  	149: {region: 0xd4, script: 0x4f, flags: 0x0},
  1464  	150: {region: 0x9c, script: 0x4f, flags: 0x0},
  1465  	151: {region: 0x6a, script: 0x24, flags: 0x0},
  1466  	152: {region: 0xc2, script: 0x40, flags: 0x0},
  1467  	153: {region: 0x85, script: 0x2c, flags: 0x0},
  1468  	154: {region: 0xc, script: 0x2, flags: 0x1},
  1469  	155: {region: 0x1, script: 0x4f, flags: 0x0},
  1470  	156: {region: 0x6d, script: 0x4f, flags: 0x0},
  1471  	157: {region: 0x132, script: 0x4f, flags: 0x0},
  1472  	158: {region: 0x69, script: 0x4f, flags: 0x0},
  1473  	159: {region: 0x9c, script: 0x3c, flags: 0x0},
  1474  	160: {region: 0x6d, script: 0x4f, flags: 0x0},
  1475  	161: {region: 0x51, script: 0x4f, flags: 0x0},
  1476  	162: {region: 0x6d, script: 0x4f, flags: 0x0},
  1477  	163: {region: 0x9a, script: 0x5, flags: 0x0},
  1478  	164: {region: 0x84, script: 0x4f, flags: 0x0},
  1479  	165: {region: 0x112, script: 0x4f, flags: 0x0},
  1480  	166: {region: 0xc1, script: 0x4f, flags: 0x0},
  1481  	167: {region: 0x70, script: 0x4f, flags: 0x0},
  1482  	168: {region: 0x109, script: 0x5, flags: 0x0},
  1483  	169: {region: 0xe5, script: 0x4f, flags: 0x0},
  1484  	170: {region: 0x10a, script: 0x4f, flags: 0x0},
  1485  	171: {region: 0x71, script: 0x4f, flags: 0x0},
  1486  	172: {region: 0x74, script: 0x4f, flags: 0x0},
  1487  	173: {region: 0x3a, script: 0x4f, flags: 0x0},
  1488  	174: {region: 0x76, script: 0x4f, flags: 0x0},
  1489  	175: {region: 0x132, script: 0x4f, flags: 0x0},
  1490  	176: {region: 0x76, script: 0x4f, flags: 0x0},
  1491  	177: {region: 0x5f, script: 0x4f, flags: 0x0},
  1492  	178: {region: 0x5f, script: 0x4f, flags: 0x0},
  1493  	179: {region: 0x13d, script: 0x4f, flags: 0x0},
  1494  	180: {region: 0xd2, script: 0x4f, flags: 0x0},
  1495  	181: {region: 0x9c, script: 0x4f, flags: 0x0},
  1496  	182: {region: 0xd4, script: 0x4f, flags: 0x0},
  1497  	183: {region: 0x109, script: 0x4f, flags: 0x0},
  1498  	184: {region: 0xd7, script: 0x4f, flags: 0x0},
  1499  	185: {region: 0x94, script: 0x4f, flags: 0x0},
  1500  	186: {region: 0x7e, script: 0x4f, flags: 0x0},
  1501  	187: {region: 0xba, script: 0x4f, flags: 0x0},
  1502  	188: {region: 0x52, script: 0x32, flags: 0x0},
  1503  	189: {region: 0x93, script: 0x4f, flags: 0x0},
  1504  	190: {region: 0x97, script: 0x1f, flags: 0x0},
  1505  	191: {region: 0x9a, script: 0x5, flags: 0x0},
  1506  	192: {region: 0x7c, script: 0x4f, flags: 0x0},
  1507  	193: {region: 0x79, script: 0x4f, flags: 0x0},
  1508  	194: {region: 0x6e, script: 0x26, flags: 0x0},
  1509  	195: {region: 0xd9, script: 0x1f, flags: 0x0},
  1510  	196: {region: 0xa5, script: 0x4f, flags: 0x0},
  1511  	197: {region: 0xe6, script: 0x5, flags: 0x0},
  1512  	198: {region: 0xe6, script: 0x5, flags: 0x0},
  1513  	199: {region: 0x6d, script: 0x4f, flags: 0x0},
  1514  	200: {region: 0x9a, script: 0x5, flags: 0x0},
  1515  	201: {region: 0xef, script: 0x4f, flags: 0x0},
  1516  	202: {region: 0x97, script: 0x1f, flags: 0x0},
  1517  	203: {region: 0x97, script: 0xca, flags: 0x0},
  1518  	204: {region: 0x93, script: 0x4f, flags: 0x0},
  1519  	205: {region: 0xd7, script: 0x4f, flags: 0x0},
  1520  	206: {region: 0x12e, script: 0x2a, flags: 0x0},
  1521  	207: {region: 0xe, script: 0x2, flags: 0x1},
  1522  	208: {region: 0x97, script: 0xe, flags: 0x0},
  1523  	209: {region: 0x4d, script: 0x4f, flags: 0x0},
  1524  	210: {region: 0x97, script: 0x2d, flags: 0x0},
  1525  	211: {region: 0x40, script: 0x4f, flags: 0x0},
  1526  	212: {region: 0x53, script: 0x4f, flags: 0x0},
  1527  	213: {region: 0x7e, script: 0x4f, flags: 0x0},
  1528  	215: {region: 0xa2, script: 0x4f, flags: 0x0},
  1529  	216: {region: 0x96, script: 0x4f, flags: 0x0},
  1530  	217: {region: 0xd9, script: 0x1f, flags: 0x0},
  1531  	218: {region: 0x48, script: 0x4f, flags: 0x0},
  1532  	219: {region: 0x10, script: 0x3, flags: 0x1},
  1533  	220: {region: 0x52, script: 0x32, flags: 0x0},
  1534  	221: {region: 0x132, script: 0x4f, flags: 0x0},
  1535  	222: {region: 0x23, script: 0x5, flags: 0x0},
  1536  	223: {region: 0x95, script: 0x35, flags: 0x0},
  1537  	224: {region: 0x97, script: 0x1f, flags: 0x0},
  1538  	225: {region: 0x71, script: 0x4f, flags: 0x0},
  1539  	226: {region: 0xe5, script: 0x4f, flags: 0x0},
  1540  	227: {region: 0x129, script: 0x37, flags: 0x0},
  1541  	228: {region: 0x52, script: 0x7b, flags: 0x0},
  1542  	229: {region: 0xe6, script: 0x5, flags: 0x0},
  1543  	230: {region: 0x97, script: 0x1f, flags: 0x0},
  1544  	231: {region: 0xad, script: 0x38, flags: 0x0},
  1545  	232: {region: 0xe5, script: 0x4f, flags: 0x0},
  1546  	233: {region: 0xe6, script: 0x5, flags: 0x0},
  1547  	234: {region: 0xe4, script: 0x4f, flags: 0x0},
  1548  	235: {region: 0x97, script: 0x1f, flags: 0x0},
  1549  	236: {region: 0x97, script: 0x1f, flags: 0x0},
  1550  	237: {region: 0x8e, script: 0x4f, flags: 0x0},
  1551  	238: {region: 0x5f, script: 0x4f, flags: 0x0},
  1552  	239: {region: 0x52, script: 0x32, flags: 0x0},
  1553  	240: {region: 0x8f, script: 0x4f, flags: 0x0},
  1554  	241: {region: 0x90, script: 0x4f, flags: 0x0},
  1555  	242: {region: 0x27, script: 0x8, flags: 0x0},
  1556  	243: {region: 0xd0, script: 0x4f, flags: 0x0},
  1557  	244: {region: 0x76, script: 0x4f, flags: 0x0},
  1558  	245: {region: 0xce, script: 0x4f, flags: 0x0},
  1559  	246: {region: 0xd4, script: 0x4f, flags: 0x0},
  1560  	247: {region: 0x93, script: 0x4f, flags: 0x0},
  1561  	249: {region: 0xd4, script: 0x4f, flags: 0x0},
  1562  	250: {region: 0x52, script: 0xd9, flags: 0x0},
  1563  	251: {region: 0x132, script: 0x4f, flags: 0x0},
  1564  	252: {region: 0x48, script: 0x4f, flags: 0x0},
  1565  	253: {region: 0xe5, script: 0x4f, flags: 0x0},
  1566  	254: {region: 0x93, script: 0x4f, flags: 0x0},
  1567  	255: {region: 0x104, script: 0x1d, flags: 0x0},
  1568  	257: {region: 0x9b, script: 0x4f, flags: 0x0},
  1569  	258: {region: 0x9c, script: 0x4f, flags: 0x0},
  1570  	259: {region: 0x48, script: 0x16, flags: 0x0},
  1571  	260: {region: 0x95, script: 0x35, flags: 0x0},
  1572  	261: {region: 0x104, script: 0x4f, flags: 0x0},
  1573  	262: {region: 0xa0, script: 0x3e, flags: 0x0},
  1574  	263: {region: 0x9e, script: 0x4f, flags: 0x0},
  1575  	265: {region: 0x51, script: 0x4f, flags: 0x0},
  1576  	266: {region: 0x12e, script: 0x35, flags: 0x0},
  1577  	267: {region: 0x12d, script: 0x4f, flags: 0x0},
  1578  	268: {region: 0xd9, script: 0x1f, flags: 0x0},
  1579  	269: {region: 0x62, script: 0x4f, flags: 0x0},
  1580  	270: {region: 0x93, script: 0x4f, flags: 0x0},
  1581  	271: {region: 0x93, script: 0x4f, flags: 0x0},
  1582  	272: {region: 0x7b, script: 0x28, flags: 0x0},
  1583  	273: {region: 0x134, script: 0x1d, flags: 0x0},
  1584  	274: {region: 0x66, script: 0x4f, flags: 0x0},
  1585  	275: {region: 0xc2, script: 0x4f, flags: 0x0},
  1586  	276: {region: 0xd4, script: 0x4f, flags: 0x0},
  1587  	277: {region: 0xa2, script: 0x4f, flags: 0x0},
  1588  	278: {region: 0xc1, script: 0x4f, flags: 0x0},
  1589  	279: {region: 0x104, script: 0x1d, flags: 0x0},
  1590  	280: {region: 0xd4, script: 0x4f, flags: 0x0},
  1591  	281: {region: 0x161, script: 0x4f, flags: 0x0},
  1592  	282: {region: 0x12d, script: 0x4f, flags: 0x0},
  1593  	283: {region: 0x121, script: 0xcf, flags: 0x0},
  1594  	284: {region: 0x59, script: 0x4f, flags: 0x0},
  1595  	285: {region: 0x51, script: 0x4f, flags: 0x0},
  1596  	286: {region: 0x4e, script: 0x4f, flags: 0x0},
  1597  	287: {region: 0x97, script: 0x1f, flags: 0x0},
  1598  	288: {region: 0x97, script: 0x1f, flags: 0x0},
  1599  	289: {region: 0x4a, script: 0x4f, flags: 0x0},
  1600  	290: {region: 0x93, script: 0x4f, flags: 0x0},
  1601  	291: {region: 0x40, script: 0x4f, flags: 0x0},
  1602  	292: {region: 0x97, script: 0x4f, flags: 0x0},
  1603  	293: {region: 0x52, script: 0xc6, flags: 0x0},
  1604  	294: {region: 0x97, script: 0x1f, flags: 0x0},
  1605  	295: {region: 0xc1, script: 0x4f, flags: 0x0},
  1606  	296: {region: 0x97, script: 0x67, flags: 0x0},
  1607  	297: {region: 0xe6, script: 0x5, flags: 0x0},
  1608  	298: {region: 0xa2, script: 0x4f, flags: 0x0},
  1609  	299: {region: 0x129, script: 0x4f, flags: 0x0},
  1610  	300: {region: 0xd0, script: 0x4f, flags: 0x0},
  1611  	301: {region: 0xad, script: 0x4c, flags: 0x0},
  1612  	302: {region: 0x13, script: 0x6, flags: 0x1},
  1613  	303: {region: 0x51, script: 0x4f, flags: 0x0},
  1614  	304: {region: 0x80, script: 0x4f, flags: 0x0},
  1615  	305: {region: 0xa2, script: 0x4f, flags: 0x0},
  1616  	306: {region: 0xa4, script: 0x43, flags: 0x0},
  1617  	307: {region: 0x29, script: 0x4f, flags: 0x0},
  1618  	308: {region: 0x97, script: 0x47, flags: 0x0},
  1619  	309: {region: 0xa9, script: 0x48, flags: 0x0},
  1620  	310: {region: 0x104, script: 0x1d, flags: 0x0},
  1621  	311: {region: 0x97, script: 0x1f, flags: 0x0},
  1622  	312: {region: 0x73, script: 0x4f, flags: 0x0},
  1623  	313: {region: 0xb2, script: 0x4f, flags: 0x0},
  1624  	315: {region: 0x104, script: 0x1d, flags: 0x0},
  1625  	316: {region: 0x110, script: 0x4f, flags: 0x0},
  1626  	317: {region: 0xe5, script: 0x4f, flags: 0x0},
  1627  	318: {region: 0x104, script: 0x4f, flags: 0x0},
  1628  	319: {region: 0x97, script: 0x1f, flags: 0x0},
  1629  	320: {region: 0x97, script: 0x5, flags: 0x0},
  1630  	321: {region: 0x12d, script: 0x4f, flags: 0x0},
  1631  	322: {region: 0x51, script: 0x4f, flags: 0x0},
  1632  	323: {region: 0x5f, script: 0x4f, flags: 0x0},
  1633  	324: {region: 0x19, script: 0x3, flags: 0x1},
  1634  	325: {region: 0x104, script: 0x1d, flags: 0x0},
  1635  	326: {region: 0x104, script: 0x1d, flags: 0x0},
  1636  	327: {region: 0x93, script: 0x4f, flags: 0x0},
  1637  	328: {region: 0xe6, script: 0x5, flags: 0x0},
  1638  	329: {region: 0x79, script: 0x4f, flags: 0x0},
  1639  	330: {region: 0x121, script: 0xcf, flags: 0x0},
  1640  	331: {region: 0xe6, script: 0x5, flags: 0x0},
  1641  	332: {region: 0x1c, script: 0x5, flags: 0x1},
  1642  	333: {region: 0x135, script: 0x4f, flags: 0x0},
  1643  	334: {region: 0x85, script: 0x52, flags: 0x0},
  1644  	335: {region: 0x95, script: 0x35, flags: 0x0},
  1645  	336: {region: 0x12d, script: 0x4f, flags: 0x0},
  1646  	337: {region: 0xe6, script: 0x5, flags: 0x0},
  1647  	338: {region: 0x12f, script: 0x4f, flags: 0x0},
  1648  	339: {region: 0xb5, script: 0x4f, flags: 0x0},
  1649  	340: {region: 0x104, script: 0x1d, flags: 0x0},
  1650  	341: {region: 0x93, script: 0x4f, flags: 0x0},
  1651  	342: {region: 0x52, script: 0xcf, flags: 0x0},
  1652  	343: {region: 0x97, script: 0x50, flags: 0x0},
  1653  	344: {region: 0x104, script: 0x1d, flags: 0x0},
  1654  	345: {region: 0x12f, script: 0x4f, flags: 0x0},
  1655  	346: {region: 0xd7, script: 0x4f, flags: 0x0},
  1656  	347: {region: 0x21, script: 0x2, flags: 0x1},
  1657  	348: {region: 0x9c, script: 0x4f, flags: 0x0},
  1658  	349: {region: 0x52, script: 0x54, flags: 0x0},
  1659  	350: {region: 0x93, script: 0x4f, flags: 0x0},
  1660  	351: {region: 0x9a, script: 0x5, flags: 0x0},
  1661  	352: {region: 0x132, script: 0x4f, flags: 0x0},
  1662  	353: {region: 0x97, script: 0xca, flags: 0x0},
  1663  	354: {region: 0x9c, script: 0x4f, flags: 0x0},
  1664  	355: {region: 0x4a, script: 0x4f, flags: 0x0},
  1665  	356: {region: 0xad, script: 0x4c, flags: 0x0},
  1666  	357: {region: 0x4a, script: 0x4f, flags: 0x0},
  1667  	358: {region: 0x15f, script: 0x4f, flags: 0x0},
  1668  	359: {region: 0x9a, script: 0x5, flags: 0x0},
  1669  	360: {region: 0xb4, script: 0x4f, flags: 0x0},
  1670  	361: {region: 0xb6, script: 0x4f, flags: 0x0},
  1671  	362: {region: 0x4a, script: 0x4f, flags: 0x0},
  1672  	363: {region: 0x4a, script: 0x4f, flags: 0x0},
  1673  	364: {region: 0xa2, script: 0x4f, flags: 0x0},
  1674  	365: {region: 0xa2, script: 0x4f, flags: 0x0},
  1675  	366: {region: 0x9a, script: 0x5, flags: 0x0},
  1676  	367: {region: 0xb6, script: 0x4f, flags: 0x0},
  1677  	368: {region: 0x121, script: 0xcf, flags: 0x0},
  1678  	369: {region: 0x52, script: 0x32, flags: 0x0},
  1679  	370: {region: 0x129, script: 0x4f, flags: 0x0},
  1680  	371: {region: 0x93, script: 0x4f, flags: 0x0},
  1681  	372: {region: 0x51, script: 0x4f, flags: 0x0},
  1682  	373: {region: 0x97, script: 0x1f, flags: 0x0},
  1683  	374: {region: 0x97, script: 0x1f, flags: 0x0},
  1684  	375: {region: 0x93, script: 0x4f, flags: 0x0},
  1685  	376: {region: 0x23, script: 0x3, flags: 0x1},
  1686  	377: {region: 0xa2, script: 0x4f, flags: 0x0},
  1687  	378: {region: 0xcd, script: 0x4f, flags: 0x0},
  1688  	379: {region: 0x104, script: 0x1d, flags: 0x0},
  1689  	380: {region: 0xe5, script: 0x4f, flags: 0x0},
  1690  	381: {region: 0x93, script: 0x4f, flags: 0x0},
  1691  	382: {region: 0x110, script: 0x4f, flags: 0x0},
  1692  	383: {region: 0xa2, script: 0x4f, flags: 0x0},
  1693  	384: {region: 0x121, script: 0x5, flags: 0x0},
  1694  	385: {region: 0xca, script: 0x4f, flags: 0x0},
  1695  	386: {region: 0xbd, script: 0x4f, flags: 0x0},
  1696  	387: {region: 0xcf, script: 0x4f, flags: 0x0},
  1697  	388: {region: 0x51, script: 0x4f, flags: 0x0},
  1698  	389: {region: 0xd9, script: 0x1f, flags: 0x0},
  1699  	390: {region: 0x12d, script: 0x4f, flags: 0x0},
  1700  	391: {region: 0xbe, script: 0x4f, flags: 0x0},
  1701  	392: {region: 0xde, script: 0x4f, flags: 0x0},
  1702  	393: {region: 0x93, script: 0x4f, flags: 0x0},
  1703  	394: {region: 0x99, script: 0x34, flags: 0x0},
  1704  	395: {region: 0xc0, script: 0x1d, flags: 0x0},
  1705  	396: {region: 0x97, script: 0x60, flags: 0x0},
  1706  	397: {region: 0x109, script: 0x4f, flags: 0x0},
  1707  	398: {region: 0x26, script: 0x3, flags: 0x1},
  1708  	399: {region: 0x97, script: 0xe, flags: 0x0},
  1709  	400: {region: 0xc2, script: 0x67, flags: 0x0},
  1710  	402: {region: 0x48, script: 0x4f, flags: 0x0},
  1711  	403: {region: 0x48, script: 0x4f, flags: 0x0},
  1712  	404: {region: 0x36, script: 0x4f, flags: 0x0},
  1713  	405: {region: 0x97, script: 0x1f, flags: 0x0},
  1714  	406: {region: 0xd9, script: 0x1f, flags: 0x0},
  1715  	407: {region: 0x104, script: 0x1d, flags: 0x0},
  1716  	408: {region: 0x34, script: 0x64, flags: 0x0},
  1717  	409: {region: 0x29, script: 0x3, flags: 0x1},
  1718  	410: {region: 0xc9, script: 0x4f, flags: 0x0},
  1719  	411: {region: 0x97, script: 0x1f, flags: 0x0},
  1720  	412: {region: 0x51, script: 0x4f, flags: 0x0},
  1721  	414: {region: 0x132, script: 0x4f, flags: 0x0},
  1722  	415: {region: 0xe6, script: 0x5, flags: 0x0},
  1723  	416: {region: 0xc1, script: 0x4f, flags: 0x0},
  1724  	417: {region: 0x97, script: 0x1f, flags: 0x0},
  1725  	418: {region: 0x93, script: 0x4f, flags: 0x0},
  1726  	419: {region: 0x161, script: 0x4f, flags: 0x0},
  1727  	420: {region: 0xc2, script: 0x67, flags: 0x0},
  1728  	421: {region: 0x104, script: 0x1d, flags: 0x0},
  1729  	422: {region: 0x12f, script: 0x4f, flags: 0x0},
  1730  	423: {region: 0x9a, script: 0x59, flags: 0x0},
  1731  	424: {region: 0x9a, script: 0x5, flags: 0x0},
  1732  	425: {region: 0xdb, script: 0x4f, flags: 0x0},
  1733  	427: {region: 0x52, script: 0x32, flags: 0x0},
  1734  	428: {region: 0x9c, script: 0x4f, flags: 0x0},
  1735  	429: {region: 0xd0, script: 0x4f, flags: 0x0},
  1736  	430: {region: 0xd8, script: 0x4f, flags: 0x0},
  1737  	431: {region: 0xcd, script: 0x4f, flags: 0x0},
  1738  	432: {region: 0x161, script: 0x4f, flags: 0x0},
  1739  	433: {region: 0xcf, script: 0x4f, flags: 0x0},
  1740  	434: {region: 0x5f, script: 0x4f, flags: 0x0},
  1741  	435: {region: 0xd9, script: 0x1f, flags: 0x0},
  1742  	436: {region: 0xd9, script: 0x1f, flags: 0x0},
  1743  	437: {region: 0xd0, script: 0x4f, flags: 0x0},
  1744  	438: {region: 0xcf, script: 0x4f, flags: 0x0},
  1745  	439: {region: 0xcd, script: 0x4f, flags: 0x0},
  1746  	440: {region: 0xcd, script: 0x4f, flags: 0x0},
  1747  	441: {region: 0x93, script: 0x4f, flags: 0x0},
  1748  	442: {region: 0xdd, script: 0x4f, flags: 0x0},
  1749  	443: {region: 0x97, script: 0x4f, flags: 0x0},
  1750  	444: {region: 0xd7, script: 0x4f, flags: 0x0},
  1751  	445: {region: 0x51, script: 0x4f, flags: 0x0},
  1752  	446: {region: 0xd8, script: 0x4f, flags: 0x0},
  1753  	447: {region: 0x51, script: 0x4f, flags: 0x0},
  1754  	448: {region: 0xd8, script: 0x4f, flags: 0x0},
  1755  	449: {region: 0x121, script: 0x4b, flags: 0x0},
  1756  	450: {region: 0x97, script: 0x1f, flags: 0x0},
  1757  	451: {region: 0x10a, script: 0xb1, flags: 0x0},
  1758  	452: {region: 0x82, script: 0x6b, flags: 0x0},
  1759  	453: {region: 0x15e, script: 0x4f, flags: 0x0},
  1760  	454: {region: 0x48, script: 0x16, flags: 0x0},
  1761  	455: {region: 0x15e, script: 0x4f, flags: 0x0},
  1762  	456: {region: 0x115, script: 0x4f, flags: 0x0},
  1763  	457: {region: 0x132, script: 0x4f, flags: 0x0},
  1764  	458: {region: 0x52, script: 0x4f, flags: 0x0},
  1765  	459: {region: 0xcc, script: 0x4f, flags: 0x0},
  1766  	460: {region: 0x12d, script: 0x4f, flags: 0x0},
  1767  	461: {region: 0x12f, script: 0x4f, flags: 0x0},
  1768  	462: {region: 0x7e, script: 0x4f, flags: 0x0},
  1769  	463: {region: 0x76, script: 0x4f, flags: 0x0},
  1770  	465: {region: 0x6e, script: 0x4f, flags: 0x0},
  1771  	466: {region: 0x97, script: 0x70, flags: 0x0},
  1772  	467: {region: 0x7b, script: 0x1d, flags: 0x0},
  1773  	468: {region: 0xc3, script: 0x6f, flags: 0x0},
  1774  	469: {region: 0x2c, script: 0x3, flags: 0x1},
  1775  	470: {region: 0xe5, script: 0x4f, flags: 0x0},
  1776  	471: {region: 0x2f, script: 0x2, flags: 0x1},
  1777  	472: {region: 0xe5, script: 0x4f, flags: 0x0},
  1778  	473: {region: 0x2f, script: 0x4f, flags: 0x0},
  1779  	474: {region: 0xee, script: 0x4f, flags: 0x0},
  1780  	475: {region: 0x76, script: 0x4f, flags: 0x0},
  1781  	476: {region: 0xd4, script: 0x4f, flags: 0x0},
  1782  	477: {region: 0x132, script: 0x4f, flags: 0x0},
  1783  	478: {region: 0x48, script: 0x4f, flags: 0x0},
  1784  	479: {region: 0x9a, script: 0xd7, flags: 0x0},
  1785  	480: {region: 0x5f, script: 0x4f, flags: 0x0},
  1786  	481: {region: 0xae, script: 0x7a, flags: 0x0},
  1787  	483: {region: 0x97, script: 0x11, flags: 0x0},
  1788  	484: {region: 0xa2, script: 0x4f, flags: 0x0},
  1789  	485: {region: 0xe7, script: 0x4f, flags: 0x0},
  1790  	486: {region: 0x9c, script: 0x4f, flags: 0x0},
  1791  	487: {region: 0x85, script: 0x2c, flags: 0x0},
  1792  	488: {region: 0x73, script: 0x4f, flags: 0x0},
  1793  	489: {region: 0xe6, script: 0x42, flags: 0x0},
  1794  	490: {region: 0x9a, script: 0x5, flags: 0x0},
  1795  	491: {region: 0x1, script: 0x4f, flags: 0x0},
  1796  	492: {region: 0x23, script: 0x5, flags: 0x0},
  1797  	493: {region: 0x40, script: 0x4f, flags: 0x0},
  1798  	494: {region: 0x78, script: 0x4f, flags: 0x0},
  1799  	495: {region: 0xe2, script: 0x4f, flags: 0x0},
  1800  	496: {region: 0x87, script: 0x4f, flags: 0x0},
  1801  	497: {region: 0x68, script: 0x4f, flags: 0x0},
  1802  	498: {region: 0x97, script: 0x1f, flags: 0x0},
  1803  	499: {region: 0x100, script: 0x4f, flags: 0x0},
  1804  	500: {region: 0x93, script: 0x4f, flags: 0x0},
  1805  	501: {region: 0x9c, script: 0x4f, flags: 0x0},
  1806  	502: {region: 0x97, script: 0x4f, flags: 0x0},
  1807  	503: {region: 0x31, script: 0x2, flags: 0x1},
  1808  	504: {region: 0xd9, script: 0x1f, flags: 0x0},
  1809  	505: {region: 0x34, script: 0xe, flags: 0x0},
  1810  	506: {region: 0x4d, script: 0x4f, flags: 0x0},
  1811  	507: {region: 0x70, script: 0x4f, flags: 0x0},
  1812  	508: {region: 0x4d, script: 0x4f, flags: 0x0},
  1813  	509: {region: 0x9a, script: 0x5, flags: 0x0},
  1814  	510: {region: 0x10a, script: 0x4f, flags: 0x0},
  1815  	511: {region: 0x39, script: 0x4f, flags: 0x0},
  1816  	512: {region: 0xcf, script: 0x4f, flags: 0x0},
  1817  	513: {region: 0x102, script: 0x4f, flags: 0x0},
  1818  	514: {region: 0x93, script: 0x4f, flags: 0x0},
  1819  	515: {region: 0x12d, script: 0x4f, flags: 0x0},
  1820  	516: {region: 0x71, script: 0x4f, flags: 0x0},
  1821  	517: {region: 0x104, script: 0x1d, flags: 0x0},
  1822  	518: {region: 0x12e, script: 0x1d, flags: 0x0},
  1823  	519: {region: 0x107, script: 0x4f, flags: 0x0},
  1824  	520: {region: 0x105, script: 0x4f, flags: 0x0},
  1825  	521: {region: 0x12d, script: 0x4f, flags: 0x0},
  1826  	522: {region: 0xa0, script: 0x41, flags: 0x0},
  1827  	523: {region: 0x97, script: 0x1f, flags: 0x0},
  1828  	524: {region: 0x7e, script: 0x4f, flags: 0x0},
  1829  	525: {region: 0x104, script: 0x1d, flags: 0x0},
  1830  	526: {region: 0xa2, script: 0x4f, flags: 0x0},
  1831  	527: {region: 0x93, script: 0x4f, flags: 0x0},
  1832  	528: {region: 0x97, script: 0x4f, flags: 0x0},
  1833  	529: {region: 0x97, script: 0xb5, flags: 0x0},
  1834  	530: {region: 0x12d, script: 0x4f, flags: 0x0},
  1835  	531: {region: 0x9c, script: 0x4f, flags: 0x0},
  1836  	532: {region: 0x97, script: 0x1f, flags: 0x0},
  1837  	533: {region: 0x9c, script: 0x4f, flags: 0x0},
  1838  	534: {region: 0x79, script: 0x4f, flags: 0x0},
  1839  	535: {region: 0x48, script: 0x4f, flags: 0x0},
  1840  	536: {region: 0x33, script: 0x4, flags: 0x1},
  1841  	537: {region: 0x9c, script: 0x4f, flags: 0x0},
  1842  	538: {region: 0x9a, script: 0x5, flags: 0x0},
  1843  	539: {region: 0xd8, script: 0x4f, flags: 0x0},
  1844  	540: {region: 0x4e, script: 0x4f, flags: 0x0},
  1845  	541: {region: 0xcf, script: 0x4f, flags: 0x0},
  1846  	542: {region: 0xcd, script: 0x4f, flags: 0x0},
  1847  	543: {region: 0xc1, script: 0x4f, flags: 0x0},
  1848  	544: {region: 0x4b, script: 0x4f, flags: 0x0},
  1849  	545: {region: 0x94, script: 0x6d, flags: 0x0},
  1850  	546: {region: 0xb4, script: 0x4f, flags: 0x0},
  1851  	548: {region: 0xb8, script: 0xcc, flags: 0x0},
  1852  	549: {region: 0xc2, script: 0x67, flags: 0x0},
  1853  	550: {region: 0xb1, script: 0xbb, flags: 0x0},
  1854  	551: {region: 0x6e, script: 0x4f, flags: 0x0},
  1855  	552: {region: 0x10f, script: 0x4f, flags: 0x0},
  1856  	553: {region: 0xe6, script: 0x5, flags: 0x0},
  1857  	554: {region: 0x10d, script: 0x4f, flags: 0x0},
  1858  	555: {region: 0xe7, script: 0x4f, flags: 0x0},
  1859  	556: {region: 0x93, script: 0x4f, flags: 0x0},
  1860  	557: {region: 0x13f, script: 0x4f, flags: 0x0},
  1861  	558: {region: 0x10a, script: 0x4f, flags: 0x0},
  1862  	560: {region: 0x10a, script: 0x4f, flags: 0x0},
  1863  	561: {region: 0x70, script: 0x4f, flags: 0x0},
  1864  	562: {region: 0x95, script: 0xb2, flags: 0x0},
  1865  	563: {region: 0x70, script: 0x4f, flags: 0x0},
  1866  	564: {region: 0x161, script: 0x4f, flags: 0x0},
  1867  	565: {region: 0xc1, script: 0x4f, flags: 0x0},
  1868  	566: {region: 0x113, script: 0x4f, flags: 0x0},
  1869  	567: {region: 0x121, script: 0xcf, flags: 0x0},
  1870  	568: {region: 0x26, script: 0x4f, flags: 0x0},
  1871  	569: {region: 0x37, script: 0x5, flags: 0x1},
  1872  	570: {region: 0x97, script: 0xbc, flags: 0x0},
  1873  	571: {region: 0x114, script: 0x4f, flags: 0x0},
  1874  	572: {region: 0x112, script: 0x4f, flags: 0x0},
  1875  	573: {region: 0x97, script: 0x1f, flags: 0x0},
  1876  	574: {region: 0x15e, script: 0x4f, flags: 0x0},
  1877  	575: {region: 0x6c, script: 0x4f, flags: 0x0},
  1878  	576: {region: 0x15e, script: 0x4f, flags: 0x0},
  1879  	577: {region: 0x5f, script: 0x4f, flags: 0x0},
  1880  	578: {region: 0x93, script: 0x4f, flags: 0x0},
  1881  	579: {region: 0x12d, script: 0x4f, flags: 0x0},
  1882  	580: {region: 0x82, script: 0x4f, flags: 0x0},
  1883  	581: {region: 0x10a, script: 0x4f, flags: 0x0},
  1884  	582: {region: 0x12d, script: 0x4f, flags: 0x0},
  1885  	583: {region: 0x15c, script: 0x5, flags: 0x0},
  1886  	584: {region: 0x4a, script: 0x4f, flags: 0x0},
  1887  	585: {region: 0x5f, script: 0x4f, flags: 0x0},
  1888  	586: {region: 0x97, script: 0x1f, flags: 0x0},
  1889  	587: {region: 0x93, script: 0x4f, flags: 0x0},
  1890  	588: {region: 0x34, script: 0xe, flags: 0x0},
  1891  	589: {region: 0x99, script: 0xbf, flags: 0x0},
  1892  	590: {region: 0xe7, script: 0x4f, flags: 0x0},
  1893  	591: {region: 0x97, script: 0xc7, flags: 0x0},
  1894  	592: {region: 0xd9, script: 0x1f, flags: 0x0},
  1895  	593: {region: 0xe5, script: 0x4f, flags: 0x0},
  1896  	594: {region: 0x97, script: 0x47, flags: 0x0},
  1897  	595: {region: 0x52, script: 0xc5, flags: 0x0},
  1898  	596: {region: 0xd9, script: 0x1f, flags: 0x0},
  1899  	597: {region: 0xd9, script: 0x1f, flags: 0x0},
  1900  	598: {region: 0x97, script: 0xca, flags: 0x0},
  1901  	599: {region: 0x110, script: 0x4f, flags: 0x0},
  1902  	600: {region: 0x12f, script: 0x4f, flags: 0x0},
  1903  	601: {region: 0x124, script: 0x4f, flags: 0x0},
  1904  	602: {region: 0x3c, script: 0x3, flags: 0x1},
  1905  	603: {region: 0x121, script: 0xcf, flags: 0x0},
  1906  	604: {region: 0xd9, script: 0x1f, flags: 0x0},
  1907  	605: {region: 0xd9, script: 0x1f, flags: 0x0},
  1908  	606: {region: 0xd9, script: 0x1f, flags: 0x0},
  1909  	607: {region: 0x6e, script: 0x26, flags: 0x0},
  1910  	608: {region: 0x6c, script: 0x26, flags: 0x0},
  1911  	609: {region: 0xd4, script: 0x4f, flags: 0x0},
  1912  	610: {region: 0x125, script: 0x4f, flags: 0x0},
  1913  	611: {region: 0x123, script: 0x4f, flags: 0x0},
  1914  	612: {region: 0x31, script: 0x4f, flags: 0x0},
  1915  	613: {region: 0xd9, script: 0x1f, flags: 0x0},
  1916  	614: {region: 0xe5, script: 0x4f, flags: 0x0},
  1917  	615: {region: 0x31, script: 0x4f, flags: 0x0},
  1918  	616: {region: 0xd2, script: 0x4f, flags: 0x0},
  1919  	617: {region: 0x15e, script: 0x4f, flags: 0x0},
  1920  	618: {region: 0x127, script: 0x4f, flags: 0x0},
  1921  	619: {region: 0xcc, script: 0x4f, flags: 0x0},
  1922  	620: {region: 0xe4, script: 0x4f, flags: 0x0},
  1923  	621: {region: 0x129, script: 0x4f, flags: 0x0},
  1924  	622: {region: 0x129, script: 0x4f, flags: 0x0},
  1925  	623: {region: 0x12c, script: 0x4f, flags: 0x0},
  1926  	624: {region: 0x15e, script: 0x4f, flags: 0x0},
  1927  	625: {region: 0x85, script: 0x2c, flags: 0x0},
  1928  	626: {region: 0xd9, script: 0x1f, flags: 0x0},
  1929  	627: {region: 0xe5, script: 0x4f, flags: 0x0},
  1930  	628: {region: 0x42, script: 0xd0, flags: 0x0},
  1931  	629: {region: 0x104, script: 0x1d, flags: 0x0},
  1932  	630: {region: 0x12f, script: 0x4f, flags: 0x0},
  1933  	631: {region: 0x121, script: 0xcf, flags: 0x0},
  1934  	632: {region: 0x31, script: 0x4f, flags: 0x0},
  1935  	633: {region: 0xcc, script: 0x4f, flags: 0x0},
  1936  	634: {region: 0x12b, script: 0x4f, flags: 0x0},
  1937  	636: {region: 0xd2, script: 0x4f, flags: 0x0},
  1938  	637: {region: 0xe3, script: 0x4f, flags: 0x0},
  1939  	638: {region: 0x104, script: 0x1d, flags: 0x0},
  1940  	639: {region: 0xb8, script: 0x4f, flags: 0x0},
  1941  	640: {region: 0x104, script: 0x1d, flags: 0x0},
  1942  	641: {region: 0x3f, script: 0x4, flags: 0x1},
  1943  	642: {region: 0x11a, script: 0xd2, flags: 0x0},
  1944  	643: {region: 0x12e, script: 0x1d, flags: 0x0},
  1945  	644: {region: 0x73, script: 0x4f, flags: 0x0},
  1946  	645: {region: 0x29, script: 0x4f, flags: 0x0},
  1947  	647: {region: 0x43, script: 0x3, flags: 0x1},
  1948  	648: {region: 0x97, script: 0xe, flags: 0x0},
  1949  	649: {region: 0xe6, script: 0x5, flags: 0x0},
  1950  	650: {region: 0x46, script: 0x4, flags: 0x1},
  1951  	651: {region: 0xb2, script: 0xd3, flags: 0x0},
  1952  	652: {region: 0x15e, script: 0x4f, flags: 0x0},
  1953  	653: {region: 0x9c, script: 0x4f, flags: 0x0},
  1954  	654: {region: 0x104, script: 0x4f, flags: 0x0},
  1955  	655: {region: 0x13b, script: 0x4f, flags: 0x0},
  1956  	656: {region: 0x119, script: 0x4f, flags: 0x0},
  1957  	657: {region: 0x35, script: 0x4f, flags: 0x0},
  1958  	658: {region: 0x5f, script: 0x4f, flags: 0x0},
  1959  	659: {region: 0xcf, script: 0x4f, flags: 0x0},
  1960  	660: {region: 0x1, script: 0x4f, flags: 0x0},
  1961  	661: {region: 0x104, script: 0x4f, flags: 0x0},
  1962  	662: {region: 0x69, script: 0x4f, flags: 0x0},
  1963  	663: {region: 0x12d, script: 0x4f, flags: 0x0},
  1964  	664: {region: 0x35, script: 0x4f, flags: 0x0},
  1965  	665: {region: 0x4d, script: 0x4f, flags: 0x0},
  1966  	666: {region: 0x6e, script: 0x26, flags: 0x0},
  1967  	667: {region: 0xe5, script: 0x4f, flags: 0x0},
  1968  	668: {region: 0x2e, script: 0x4f, flags: 0x0},
  1969  	669: {region: 0x97, script: 0xca, flags: 0x0},
  1970  	670: {region: 0x97, script: 0x1f, flags: 0x0},
  1971  	671: {region: 0x13d, script: 0x4f, flags: 0x0},
  1972  	672: {region: 0xa6, script: 0x5, flags: 0x0},
  1973  	673: {region: 0x112, script: 0x4f, flags: 0x0},
  1974  	674: {region: 0x97, script: 0x1f, flags: 0x0},
  1975  	675: {region: 0x52, script: 0x32, flags: 0x0},
  1976  	676: {region: 0x40, script: 0x4f, flags: 0x0},
  1977  	677: {region: 0x129, script: 0x17, flags: 0x0},
  1978  	678: {region: 0x15e, script: 0x4f, flags: 0x0},
  1979  	679: {region: 0x129, script: 0x56, flags: 0x0},
  1980  	680: {region: 0x129, script: 0x57, flags: 0x0},
  1981  	681: {region: 0x7b, script: 0x28, flags: 0x0},
  1982  	682: {region: 0x52, script: 0x5a, flags: 0x0},
  1983  	683: {region: 0x109, script: 0x5e, flags: 0x0},
  1984  	684: {region: 0x106, script: 0x68, flags: 0x0},
  1985  	685: {region: 0x97, script: 0x1f, flags: 0x0},
  1986  	686: {region: 0x12f, script: 0x4f, flags: 0x0},
  1987  	687: {region: 0x9a, script: 0x7c, flags: 0x0},
  1988  	688: {region: 0x15b, script: 0xb4, flags: 0x0},
  1989  	689: {region: 0xd9, script: 0x1f, flags: 0x0},
  1990  	690: {region: 0xcf, script: 0x4f, flags: 0x0},
  1991  	691: {region: 0x73, script: 0x4f, flags: 0x0},
  1992  	692: {region: 0x51, script: 0x4f, flags: 0x0},
  1993  	693: {region: 0x51, script: 0x4f, flags: 0x0},
  1994  	694: {region: 0x1, script: 0x35, flags: 0x0},
  1995  	695: {region: 0xd4, script: 0x4f, flags: 0x0},
  1996  	696: {region: 0x40, script: 0x4f, flags: 0x0},
  1997  	697: {region: 0xcd, script: 0x4f, flags: 0x0},
  1998  	698: {region: 0x52, script: 0x4f, flags: 0x0},
  1999  	699: {region: 0x109, script: 0x4f, flags: 0x0},
  2000  	701: {region: 0xa6, script: 0x5, flags: 0x0},
  2001  	702: {region: 0xd7, script: 0x4f, flags: 0x0},
  2002  	703: {region: 0xb8, script: 0xcc, flags: 0x0},
  2003  	704: {region: 0x4a, script: 0x13, flags: 0x1},
  2004  	705: {region: 0xce, script: 0x4f, flags: 0x0},
  2005  	706: {region: 0x15e, script: 0x4f, flags: 0x0},
  2006  	708: {region: 0x129, script: 0x4f, flags: 0x0},
  2007  }
  2008  
  2009  // likelyLangList holds lists info associated with likelyLang.
  2010  // Size: 372 bytes, 93 elements
  2011  var likelyLangList = [93]likelyScriptRegion{
  2012  	0:  {region: 0x9a, script: 0x7, flags: 0x0},
  2013  	1:  {region: 0x9f, script: 0x69, flags: 0x2},
  2014  	2:  {region: 0x11a, script: 0x73, flags: 0x2},
  2015  	3:  {region: 0x31, script: 0x4f, flags: 0x0},
  2016  	4:  {region: 0x99, script: 0x5, flags: 0x4},
  2017  	5:  {region: 0x9a, script: 0x5, flags: 0x4},
  2018  	6:  {region: 0x104, script: 0x1d, flags: 0x4},
  2019  	7:  {region: 0x9a, script: 0x5, flags: 0x2},
  2020  	8:  {region: 0x97, script: 0xe, flags: 0x0},
  2021  	9:  {region: 0x34, script: 0x15, flags: 0x2},
  2022  	10: {region: 0x104, script: 0x1d, flags: 0x0},
  2023  	11: {region: 0x37, script: 0x29, flags: 0x2},
  2024  	12: {region: 0x132, script: 0x4f, flags: 0x0},
  2025  	13: {region: 0x79, script: 0xb7, flags: 0x2},
  2026  	14: {region: 0x5c, script: 0x1c, flags: 0x0},
  2027  	15: {region: 0x85, script: 0x53, flags: 0x2},
  2028  	16: {region: 0xd4, script: 0x4f, flags: 0x0},
  2029  	17: {region: 0x51, script: 0x5, flags: 0x4},
  2030  	18: {region: 0x109, script: 0x5, flags: 0x4},
  2031  	19: {region: 0xac, script: 0x1d, flags: 0x0},
  2032  	20: {region: 0x23, script: 0x5, flags: 0x4},
  2033  	21: {region: 0x52, script: 0x5, flags: 0x4},
  2034  	22: {region: 0x9a, script: 0x5, flags: 0x4},
  2035  	23: {region: 0xc3, script: 0x5, flags: 0x4},
  2036  	24: {region: 0x52, script: 0x5, flags: 0x2},
  2037  	25: {region: 0x129, script: 0x4f, flags: 0x0},
  2038  	26: {region: 0xae, script: 0x5, flags: 0x4},
  2039  	27: {region: 0x99, script: 0x5, flags: 0x2},
  2040  	28: {region: 0xa3, script: 0x1d, flags: 0x0},
  2041  	29: {region: 0x52, script: 0x5, flags: 0x4},
  2042  	30: {region: 0x129, script: 0x4f, flags: 0x4},
  2043  	31: {region: 0x52, script: 0x5, flags: 0x2},
  2044  	32: {region: 0x129, script: 0x4f, flags: 0x2},
  2045  	33: {region: 0xd9, script: 0x1f, flags: 0x0},
  2046  	34: {region: 0x97, script: 0x51, flags: 0x2},
  2047  	35: {region: 0x81, script: 0x4f, flags: 0x0},
  2048  	36: {region: 0x82, script: 0x6b, flags: 0x4},
  2049  	37: {region: 0x82, script: 0x6b, flags: 0x2},
  2050  	38: {region: 0xc3, script: 0x1d, flags: 0x0},
  2051  	39: {region: 0x52, script: 0x62, flags: 0x4},
  2052  	40: {region: 0x52, script: 0x62, flags: 0x2},
  2053  	41: {region: 0xce, script: 0x4f, flags: 0x0},
  2054  	42: {region: 0x49, script: 0x5, flags: 0x4},
  2055  	43: {region: 0x93, script: 0x5, flags: 0x4},
  2056  	44: {region: 0x97, script: 0x2e, flags: 0x0},
  2057  	45: {region: 0xe6, script: 0x5, flags: 0x4},
  2058  	46: {region: 0xe6, script: 0x5, flags: 0x2},
  2059  	47: {region: 0x9a, script: 0x77, flags: 0x0},
  2060  	48: {region: 0x52, script: 0x78, flags: 0x2},
  2061  	49: {region: 0xb8, script: 0xcc, flags: 0x0},
  2062  	50: {region: 0xd7, script: 0x4f, flags: 0x4},
  2063  	51: {region: 0xe6, script: 0x5, flags: 0x0},
  2064  	52: {region: 0x97, script: 0x1f, flags: 0x2},
  2065  	53: {region: 0x97, script: 0x44, flags: 0x2},
  2066  	54: {region: 0x97, script: 0xba, flags: 0x2},
  2067  	55: {region: 0x103, script: 0x1d, flags: 0x0},
  2068  	56: {region: 0xbb, script: 0x4f, flags: 0x4},
  2069  	57: {region: 0x102, script: 0x4f, flags: 0x4},
  2070  	58: {region: 0x104, script: 0x4f, flags: 0x4},
  2071  	59: {region: 0x129, script: 0x4f, flags: 0x4},
  2072  	60: {region: 0x122, script: 0x1d, flags: 0x0},
  2073  	61: {region: 0xe6, script: 0x5, flags: 0x4},
  2074  	62: {region: 0xe6, script: 0x5, flags: 0x2},
  2075  	63: {region: 0x52, script: 0x5, flags: 0x0},
  2076  	64: {region: 0xac, script: 0x1d, flags: 0x4},
  2077  	65: {region: 0xc3, script: 0x1d, flags: 0x4},
  2078  	66: {region: 0xac, script: 0x1d, flags: 0x2},
  2079  	67: {region: 0x97, script: 0xe, flags: 0x0},
  2080  	68: {region: 0xd9, script: 0x1f, flags: 0x4},
  2081  	69: {region: 0xd9, script: 0x1f, flags: 0x2},
  2082  	70: {region: 0x134, script: 0x4f, flags: 0x0},
  2083  	71: {region: 0x23, script: 0x5, flags: 0x4},
  2084  	72: {region: 0x52, script: 0x1d, flags: 0x4},
  2085  	73: {region: 0x23, script: 0x5, flags: 0x2},
  2086  	74: {region: 0x52, script: 0x32, flags: 0x0},
  2087  	75: {region: 0x2e, script: 0x33, flags: 0x4},
  2088  	76: {region: 0x3d, script: 0x33, flags: 0x4},
  2089  	77: {region: 0x79, script: 0x33, flags: 0x4},
  2090  	78: {region: 0x7c, script: 0x33, flags: 0x4},
  2091  	79: {region: 0x8b, script: 0x33, flags: 0x4},
  2092  	80: {region: 0x93, script: 0x33, flags: 0x4},
  2093  	81: {region: 0xc4, script: 0x33, flags: 0x4},
  2094  	82: {region: 0xce, script: 0x33, flags: 0x4},
  2095  	83: {region: 0xe0, script: 0x33, flags: 0x4},
  2096  	84: {region: 0xe3, script: 0x33, flags: 0x4},
  2097  	85: {region: 0xe5, script: 0x33, flags: 0x4},
  2098  	86: {region: 0x114, script: 0x33, flags: 0x4},
  2099  	87: {region: 0x121, script: 0x33, flags: 0x4},
  2100  	88: {region: 0x12c, script: 0x33, flags: 0x4},
  2101  	89: {region: 0x132, script: 0x33, flags: 0x4},
  2102  	90: {region: 0x13b, script: 0x33, flags: 0x4},
  2103  	91: {region: 0x12c, script: 0x10, flags: 0x2},
  2104  	92: {region: 0x12c, script: 0x33, flags: 0x2},
  2105  }
  2106  
  2107  type likelyLangScript struct {
  2108  	lang   uint16
  2109  	script uint8
  2110  	flags  uint8
  2111  }
  2112  
  2113  // likelyRegion is a lookup table, indexed by regionID, for the most likely
  2114  // languages and scripts given incomplete information. If more entries exist
  2115  // for a given regionID, lang and script are the index and size respectively
  2116  // of the list in likelyRegionList.
  2117  // TODO: exclude containers and user-definable regions from the list.
  2118  // Size: 1420 bytes, 355 elements
  2119  var likelyRegion = [355]likelyLangScript{
  2120  	33:  {lang: 0x61, script: 0x4f, flags: 0x0},
  2121  	34:  {lang: 0x15, script: 0x5, flags: 0x0},
  2122  	35:  {lang: 0x0, script: 0x2, flags: 0x1},
  2123  	38:  {lang: 0x2, script: 0x2, flags: 0x1},
  2124  	39:  {lang: 0x4, script: 0x2, flags: 0x1},
  2125  	41:  {lang: 0x1ed, script: 0x4f, flags: 0x0},
  2126  	42:  {lang: 0x0, script: 0x4f, flags: 0x0},
  2127  	43:  {lang: 0x9c, script: 0x4f, flags: 0x0},
  2128  	44:  {lang: 0x22d, script: 0x4f, flags: 0x0},
  2129  	45:  {lang: 0x85, script: 0x4f, flags: 0x0},
  2130  	47:  {lang: 0x1bc, script: 0x4f, flags: 0x0},
  2131  	48:  {lang: 0x245, script: 0x4f, flags: 0x0},
  2132  	49:  {lang: 0x24, script: 0x4f, flags: 0x0},
  2133  	50:  {lang: 0x6, script: 0x2, flags: 0x1},
  2134  	52:  {lang: 0x4b, script: 0xe, flags: 0x0},
  2135  	53:  {lang: 0x1bc, script: 0x4f, flags: 0x0},
  2136  	54:  {lang: 0xae, script: 0x4f, flags: 0x0},
  2137  	55:  {lang: 0x38, script: 0x1d, flags: 0x0},
  2138  	56:  {lang: 0x15, script: 0x5, flags: 0x0},
  2139  	57:  {lang: 0x1ff, script: 0x4f, flags: 0x0},
  2140  	58:  {lang: 0xae, script: 0x4f, flags: 0x0},
  2141  	59:  {lang: 0xae, script: 0x4f, flags: 0x0},
  2142  	61:  {lang: 0x199, script: 0x4f, flags: 0x0},
  2143  	62:  {lang: 0x9c, script: 0x4f, flags: 0x0},
  2144  	63:  {lang: 0x1d9, script: 0x4f, flags: 0x0},
  2145  	64:  {lang: 0x1ed, script: 0x4f, flags: 0x0},
  2146  	66:  {lang: 0x8, script: 0x2, flags: 0x1},
  2147  	68:  {lang: 0x0, script: 0x4f, flags: 0x0},
  2148  	70:  {lang: 0x2f, script: 0x1d, flags: 0x0},
  2149  	72:  {lang: 0x2b6, script: 0x35, flags: 0x2},
  2150  	73:  {lang: 0x199, script: 0x5, flags: 0x2},
  2151  	74:  {lang: 0x246, script: 0x4f, flags: 0x0},
  2152  	75:  {lang: 0xae, script: 0x4f, flags: 0x0},
  2153  	76:  {lang: 0xae, script: 0x4f, flags: 0x0},
  2154  	77:  {lang: 0x85, script: 0x4f, flags: 0x0},
  2155  	78:  {lang: 0xae, script: 0x4f, flags: 0x0},
  2156  	80:  {lang: 0x9c, script: 0x4f, flags: 0x0},
  2157  	81:  {lang: 0xae, script: 0x4f, flags: 0x0},
  2158  	82:  {lang: 0xa, script: 0x4, flags: 0x1},
  2159  	83:  {lang: 0x9c, script: 0x4f, flags: 0x0},
  2160  	84:  {lang: 0x0, script: 0x4f, flags: 0x0},
  2161  	85:  {lang: 0x9c, script: 0x4f, flags: 0x0},
  2162  	88:  {lang: 0x9c, script: 0x4f, flags: 0x0},
  2163  	89:  {lang: 0x1ed, script: 0x4f, flags: 0x0},
  2164  	90:  {lang: 0x1d9, script: 0x4f, flags: 0x0},
  2165  	92:  {lang: 0xe, script: 0x2, flags: 0x1},
  2166  	93:  {lang: 0x79, script: 0x4f, flags: 0x0},
  2167  	95:  {lang: 0x85, script: 0x4f, flags: 0x0},
  2168  	97:  {lang: 0x1, script: 0x4f, flags: 0x0},
  2169  	98:  {lang: 0x80, script: 0x4f, flags: 0x0},
  2170  	100: {lang: 0x9c, script: 0x4f, flags: 0x0},
  2171  	102: {lang: 0x10, script: 0x2, flags: 0x1},
  2172  	103: {lang: 0x9c, script: 0x4f, flags: 0x0},
  2173  	104: {lang: 0x9c, script: 0x4f, flags: 0x0},
  2174  	105: {lang: 0x9e, script: 0x4f, flags: 0x0},
  2175  	106: {lang: 0x15, script: 0x5, flags: 0x0},
  2176  	107: {lang: 0x15, script: 0x5, flags: 0x0},
  2177  	108: {lang: 0x25f, script: 0x26, flags: 0x0},
  2178  	109: {lang: 0x9c, script: 0x4f, flags: 0x0},
  2179  	110: {lang: 0x12, script: 0x2, flags: 0x1},
  2180  	112: {lang: 0xa7, script: 0x4f, flags: 0x0},
  2181  	113: {lang: 0xe1, script: 0x1f, flags: 0x2},
  2182  	116: {lang: 0xac, script: 0x4f, flags: 0x0},
  2183  	118: {lang: 0xae, script: 0x4f, flags: 0x0},
  2184  	120: {lang: 0xae, script: 0x4f, flags: 0x0},
  2185  	121: {lang: 0x14, script: 0x2, flags: 0x1},
  2186  	123: {lang: 0x16, script: 0x3, flags: 0x1},
  2187  	124: {lang: 0xae, script: 0x4f, flags: 0x0},
  2188  	126: {lang: 0xd, script: 0x4f, flags: 0x0},
  2189  	128: {lang: 0x130, script: 0x4f, flags: 0x0},
  2190  	130: {lang: 0xae, script: 0x4f, flags: 0x0},
  2191  	131: {lang: 0xae, script: 0x4f, flags: 0x0},
  2192  	132: {lang: 0x9c, script: 0x4f, flags: 0x0},
  2193  	133: {lang: 0x19, script: 0x2, flags: 0x1},
  2194  	134: {lang: 0x0, script: 0x4f, flags: 0x0},
  2195  	135: {lang: 0x9c, script: 0x4f, flags: 0x0},
  2196  	137: {lang: 0x1ed, script: 0x4f, flags: 0x0},
  2197  	139: {lang: 0x2c0, script: 0x33, flags: 0x0},
  2198  	140: {lang: 0x0, script: 0x4f, flags: 0x0},
  2199  	141: {lang: 0x9c, script: 0x4f, flags: 0x0},
  2200  	142: {lang: 0xed, script: 0x4f, flags: 0x0},
  2201  	143: {lang: 0xf0, script: 0x4f, flags: 0x0},
  2202  	144: {lang: 0xf1, script: 0x4f, flags: 0x0},
  2203  	146: {lang: 0x9c, script: 0x4f, flags: 0x0},
  2204  	147: {lang: 0x1b, script: 0x2, flags: 0x1},
  2205  	149: {lang: 0xdf, script: 0x35, flags: 0x0},
  2206  	151: {lang: 0x1d, script: 0x3, flags: 0x1},
  2207  	153: {lang: 0x15, script: 0x5, flags: 0x0},
  2208  	154: {lang: 0x20, script: 0x2, flags: 0x1},
  2209  	155: {lang: 0x101, script: 0x4f, flags: 0x0},
  2210  	156: {lang: 0x102, script: 0x4f, flags: 0x0},
  2211  	159: {lang: 0x15, script: 0x5, flags: 0x0},
  2212  	160: {lang: 0x106, script: 0x3e, flags: 0x0},
  2213  	162: {lang: 0x246, script: 0x4f, flags: 0x0},
  2214  	163: {lang: 0x14c, script: 0x1d, flags: 0x0},
  2215  	164: {lang: 0x22, script: 0x3, flags: 0x1},
  2216  	166: {lang: 0x25, script: 0x2, flags: 0x1},
  2217  	168: {lang: 0x135, script: 0x48, flags: 0x0},
  2218  	169: {lang: 0x135, script: 0x48, flags: 0x0},
  2219  	170: {lang: 0x15, script: 0x5, flags: 0x0},
  2220  	172: {lang: 0x205, script: 0x1d, flags: 0x0},
  2221  	173: {lang: 0x27, script: 0x2, flags: 0x1},
  2222  	174: {lang: 0x15, script: 0x5, flags: 0x0},
  2223  	176: {lang: 0x85, script: 0x4f, flags: 0x0},
  2224  	177: {lang: 0x226, script: 0xbb, flags: 0x0},
  2225  	179: {lang: 0x240, script: 0x4f, flags: 0x0},
  2226  	180: {lang: 0x168, script: 0x4f, flags: 0x0},
  2227  	181: {lang: 0xae, script: 0x4f, flags: 0x0},
  2228  	182: {lang: 0x16f, script: 0x4f, flags: 0x0},
  2229  	183: {lang: 0x15, script: 0x5, flags: 0x0},
  2230  	184: {lang: 0x29, script: 0x2, flags: 0x1},
  2231  	185: {lang: 0xae, script: 0x4f, flags: 0x0},
  2232  	186: {lang: 0x2b, script: 0x2, flags: 0x1},
  2233  	187: {lang: 0x239, script: 0x4f, flags: 0x0},
  2234  	188: {lang: 0xae, script: 0x4f, flags: 0x0},
  2235  	189: {lang: 0x182, script: 0x4f, flags: 0x0},
  2236  	192: {lang: 0x2d, script: 0x2, flags: 0x1},
  2237  	193: {lang: 0x49, script: 0x4f, flags: 0x0},
  2238  	194: {lang: 0x2f, script: 0x2, flags: 0x1},
  2239  	195: {lang: 0x31, script: 0x2, flags: 0x1},
  2240  	196: {lang: 0x33, script: 0x2, flags: 0x1},
  2241  	198: {lang: 0xae, script: 0x4f, flags: 0x0},
  2242  	199: {lang: 0x35, script: 0x2, flags: 0x1},
  2243  	201: {lang: 0x19a, script: 0x4f, flags: 0x0},
  2244  	202: {lang: 0x37, script: 0x3, flags: 0x1},
  2245  	203: {lang: 0x8f, script: 0xce, flags: 0x0},
  2246  	205: {lang: 0x9c, script: 0x4f, flags: 0x0},
  2247  	206: {lang: 0x199, script: 0x4f, flags: 0x0},
  2248  	207: {lang: 0x1ed, script: 0x4f, flags: 0x0},
  2249  	208: {lang: 0xa, script: 0x4f, flags: 0x0},
  2250  	209: {lang: 0xae, script: 0x4f, flags: 0x0},
  2251  	210: {lang: 0xdb, script: 0x4f, flags: 0x0},
  2252  	212: {lang: 0xdb, script: 0x5, flags: 0x2},
  2253  	214: {lang: 0x9c, script: 0x4f, flags: 0x0},
  2254  	215: {lang: 0x1bc, script: 0x4f, flags: 0x0},
  2255  	216: {lang: 0x1ae, script: 0x4f, flags: 0x0},
  2256  	217: {lang: 0x1b3, script: 0x1f, flags: 0x0},
  2257  	223: {lang: 0x15, script: 0x5, flags: 0x0},
  2258  	224: {lang: 0x9c, script: 0x4f, flags: 0x0},
  2259  	226: {lang: 0x9c, script: 0x4f, flags: 0x0},
  2260  	227: {lang: 0xae, script: 0x4f, flags: 0x0},
  2261  	228: {lang: 0x26c, script: 0x4f, flags: 0x0},
  2262  	229: {lang: 0xa9, script: 0x4f, flags: 0x0},
  2263  	230: {lang: 0x3a, script: 0x3, flags: 0x1},
  2264  	231: {lang: 0x3d, script: 0x2, flags: 0x1},
  2265  	232: {lang: 0xae, script: 0x4f, flags: 0x0},
  2266  	234: {lang: 0x9c, script: 0x4f, flags: 0x0},
  2267  	235: {lang: 0x15, script: 0x5, flags: 0x0},
  2268  	236: {lang: 0x1ed, script: 0x4f, flags: 0x0},
  2269  	238: {lang: 0x1da, script: 0x4f, flags: 0x0},
  2270  	239: {lang: 0xc9, script: 0x4f, flags: 0x0},
  2271  	241: {lang: 0x15, script: 0x5, flags: 0x0},
  2272  	256: {lang: 0xae, script: 0x4f, flags: 0x0},
  2273  	258: {lang: 0x3f, script: 0x2, flags: 0x1},
  2274  	259: {lang: 0x239, script: 0x1d, flags: 0x0},
  2275  	260: {lang: 0x41, script: 0x2, flags: 0x1},
  2276  	261: {lang: 0x208, script: 0x4f, flags: 0x0},
  2277  	262: {lang: 0x15, script: 0x5, flags: 0x0},
  2278  	264: {lang: 0xae, script: 0x4f, flags: 0x0},
  2279  	265: {lang: 0x15, script: 0x5, flags: 0x0},
  2280  	266: {lang: 0x43, script: 0x2, flags: 0x1},
  2281  	269: {lang: 0x22a, script: 0x4f, flags: 0x0},
  2282  	270: {lang: 0x1ae, script: 0x4f, flags: 0x0},
  2283  	271: {lang: 0x45, script: 0x2, flags: 0x1},
  2284  	273: {lang: 0x102, script: 0x4f, flags: 0x0},
  2285  	274: {lang: 0xae, script: 0x4f, flags: 0x0},
  2286  	275: {lang: 0x236, script: 0x4f, flags: 0x0},
  2287  	276: {lang: 0x1bc, script: 0x4f, flags: 0x0},
  2288  	278: {lang: 0x1ed, script: 0x4f, flags: 0x0},
  2289  	280: {lang: 0x9c, script: 0x4f, flags: 0x0},
  2290  	282: {lang: 0x47, script: 0x2, flags: 0x1},
  2291  	286: {lang: 0xae, script: 0x4f, flags: 0x0},
  2292  	287: {lang: 0xae, script: 0x4f, flags: 0x0},
  2293  	288: {lang: 0xae, script: 0x4f, flags: 0x0},
  2294  	289: {lang: 0x49, script: 0x3, flags: 0x1},
  2295  	290: {lang: 0x4c, script: 0x2, flags: 0x1},
  2296  	291: {lang: 0x263, script: 0x4f, flags: 0x0},
  2297  	292: {lang: 0x1ed, script: 0x4f, flags: 0x0},
  2298  	293: {lang: 0x262, script: 0x4f, flags: 0x0},
  2299  	294: {lang: 0x4e, script: 0x2, flags: 0x1},
  2300  	295: {lang: 0x26a, script: 0x4f, flags: 0x0},
  2301  	297: {lang: 0x50, script: 0x4, flags: 0x1},
  2302  	299: {lang: 0x27a, script: 0x4f, flags: 0x0},
  2303  	300: {lang: 0x54, script: 0x2, flags: 0x1},
  2304  	301: {lang: 0x246, script: 0x4f, flags: 0x0},
  2305  	302: {lang: 0x56, script: 0x3, flags: 0x1},
  2306  	303: {lang: 0x246, script: 0x4f, flags: 0x0},
  2307  	306: {lang: 0x2b6, script: 0x35, flags: 0x2},
  2308  	307: {lang: 0x9c, script: 0x4f, flags: 0x0},
  2309  	308: {lang: 0x28a, script: 0x4f, flags: 0x0},
  2310  	309: {lang: 0x102, script: 0x4f, flags: 0x0},
  2311  	312: {lang: 0x9c, script: 0x4f, flags: 0x0},
  2312  	315: {lang: 0x28f, script: 0x4f, flags: 0x0},
  2313  	316: {lang: 0x41, script: 0x4f, flags: 0x0},
  2314  	317: {lang: 0xae, script: 0x4f, flags: 0x0},
  2315  	319: {lang: 0x22d, script: 0x4f, flags: 0x0},
  2316  	330: {lang: 0x59, script: 0x2, flags: 0x1},
  2317  	347: {lang: 0x15, script: 0x5, flags: 0x0},
  2318  	348: {lang: 0x5b, script: 0x2, flags: 0x1},
  2319  	353: {lang: 0x234, script: 0x4f, flags: 0x0},
  2320  }
  2321  
  2322  // likelyRegionList holds lists info associated with likelyRegion.
  2323  // Size: 372 bytes, 93 elements
  2324  var likelyRegionList = [93]likelyLangScript{
  2325  	0:  {lang: 0xa3, script: 0x5, flags: 0x0},
  2326  	1:  {lang: 0x262, script: 0x4f, flags: 0x0},
  2327  	2:  {lang: 0x238, script: 0x4f, flags: 0x0},
  2328  	3:  {lang: 0x18b, script: 0x1d, flags: 0x0},
  2329  	4:  {lang: 0xf2, script: 0x8, flags: 0x0},
  2330  	5:  {lang: 0x144, script: 0x4f, flags: 0x0},
  2331  	6:  {lang: 0x54, script: 0x4f, flags: 0x0},
  2332  	7:  {lang: 0x239, script: 0x1d, flags: 0x0},
  2333  	8:  {lang: 0x92, script: 0xd0, flags: 0x0},
  2334  	9:  {lang: 0x1b3, script: 0x1f, flags: 0x0},
  2335  	10: {lang: 0x2c0, script: 0x32, flags: 0x0},
  2336  	11: {lang: 0x281, script: 0x5, flags: 0x0},
  2337  	12: {lang: 0x2ba, script: 0x4f, flags: 0x0},
  2338  	13: {lang: 0x156, script: 0xcf, flags: 0x0},
  2339  	14: {lang: 0x99, script: 0x2c, flags: 0x0},
  2340  	15: {lang: 0x26d, script: 0x4f, flags: 0x0},
  2341  	16: {lang: 0x15, script: 0x5, flags: 0x0},
  2342  	17: {lang: 0xae, script: 0x4f, flags: 0x0},
  2343  	18: {lang: 0x11, script: 0x26, flags: 0x0},
  2344  	19: {lang: 0x9a, script: 0x4f, flags: 0x0},
  2345  	20: {lang: 0x140, script: 0x5, flags: 0x2},
  2346  	21: {lang: 0x2b6, script: 0x35, flags: 0x2},
  2347  	22: {lang: 0x110, script: 0x28, flags: 0x0},
  2348  	23: {lang: 0x2, script: 0x1d, flags: 0x0},
  2349  	24: {lang: 0x144, script: 0x4f, flags: 0x0},
  2350  	25: {lang: 0x99, script: 0x2c, flags: 0x0},
  2351  	26: {lang: 0x18b, script: 0x1d, flags: 0x0},
  2352  	27: {lang: 0xf7, script: 0x4f, flags: 0x0},
  2353  	28: {lang: 0x199, script: 0x5, flags: 0x0},
  2354  	29: {lang: 0xe0, script: 0x1f, flags: 0x0},
  2355  	30: {lang: 0x289, script: 0x5, flags: 0x0},
  2356  	31: {lang: 0x128, script: 0x67, flags: 0x0},
  2357  	32: {lang: 0xa3, script: 0x5, flags: 0x0},
  2358  	33: {lang: 0x262, script: 0x4f, flags: 0x0},
  2359  	34: {lang: 0x132, script: 0x43, flags: 0x0},
  2360  	35: {lang: 0x6d, script: 0x5, flags: 0x0},
  2361  	36: {lang: 0x11b, script: 0xcf, flags: 0x0},
  2362  	37: {lang: 0x15, script: 0x5, flags: 0x0},
  2363  	38: {lang: 0xae, script: 0x4f, flags: 0x0},
  2364  	39: {lang: 0x164, script: 0x4c, flags: 0x0},
  2365  	40: {lang: 0x11b, script: 0xcf, flags: 0x0},
  2366  	41: {lang: 0x15, script: 0x5, flags: 0x0},
  2367  	42: {lang: 0xae, script: 0x4f, flags: 0x0},
  2368  	43: {lang: 0x201, script: 0x4f, flags: 0x0},
  2369  	44: {lang: 0x283, script: 0x1d, flags: 0x0},
  2370  	45: {lang: 0x18b, script: 0x1d, flags: 0x0},
  2371  	46: {lang: 0x238, script: 0x4f, flags: 0x0},
  2372  	47: {lang: 0x1a4, script: 0x67, flags: 0x0},
  2373  	48: {lang: 0x113, script: 0x4f, flags: 0x0},
  2374  	49: {lang: 0x18e, script: 0x1d, flags: 0x0},
  2375  	50: {lang: 0x12e, script: 0x5, flags: 0x0},
  2376  	51: {lang: 0x2c0, script: 0x33, flags: 0x0},
  2377  	52: {lang: 0x1ed, script: 0x4f, flags: 0x0},
  2378  	53: {lang: 0x15, script: 0x5, flags: 0x0},
  2379  	54: {lang: 0xae, script: 0x4f, flags: 0x0},
  2380  	55: {lang: 0x181, script: 0x4f, flags: 0x0},
  2381  	56: {lang: 0x289, script: 0x5, flags: 0x0},
  2382  	57: {lang: 0x40, script: 0x1f, flags: 0x0},
  2383  	58: {lang: 0x289, script: 0x5, flags: 0x0},
  2384  	59: {lang: 0x289, script: 0x5, flags: 0x0},
  2385  	60: {lang: 0x58, script: 0x1f, flags: 0x0},
  2386  	61: {lang: 0x1e5, script: 0x4f, flags: 0x0},
  2387  	62: {lang: 0x2f, script: 0x1d, flags: 0x0},
  2388  	63: {lang: 0x201, script: 0x4f, flags: 0x0},
  2389  	64: {lang: 0x38, script: 0x1d, flags: 0x0},
  2390  	65: {lang: 0x205, script: 0x1d, flags: 0x0},
  2391  	66: {lang: 0x13e, script: 0x4f, flags: 0x0},
  2392  	67: {lang: 0x245, script: 0x4f, flags: 0x0},
  2393  	68: {lang: 0x2b6, script: 0x35, flags: 0x0},
  2394  	69: {lang: 0x228, script: 0x4f, flags: 0x0},
  2395  	70: {lang: 0x283, script: 0x1d, flags: 0x0},
  2396  	71: {lang: 0x15, script: 0x5, flags: 0x0},
  2397  	72: {lang: 0xae, script: 0x4f, flags: 0x0},
  2398  	73: {lang: 0x25b, script: 0xcf, flags: 0x0},
  2399  	74: {lang: 0x180, script: 0x5, flags: 0x0},
  2400  	75: {lang: 0x190, script: 0x67, flags: 0x0},
  2401  	76: {lang: 0x25a, script: 0x1d, flags: 0x0},
  2402  	77: {lang: 0xa3, script: 0x5, flags: 0x0},
  2403  	78: {lang: 0x15, script: 0x5, flags: 0x0},
  2404  	79: {lang: 0xae, script: 0x4f, flags: 0x0},
  2405  	80: {lang: 0x26d, script: 0x4f, flags: 0x0},
  2406  	81: {lang: 0x24, script: 0x5, flags: 0x0},
  2407  	82: {lang: 0x117, script: 0x1d, flags: 0x0},
  2408  	83: {lang: 0x3b, script: 0x2c, flags: 0x0},
  2409  	84: {lang: 0x2c0, script: 0x33, flags: 0x0},
  2410  	85: {lang: 0x26f, script: 0x4f, flags: 0x0},
  2411  	86: {lang: 0x283, script: 0x1d, flags: 0x0},
  2412  	87: {lang: 0x2b6, script: 0x35, flags: 0x0},
  2413  	88: {lang: 0x1e5, script: 0x4f, flags: 0x0},
  2414  	89: {lang: 0x238, script: 0x4f, flags: 0x0},
  2415  	90: {lang: 0x239, script: 0x1d, flags: 0x0},
  2416  	91: {lang: 0xae, script: 0x4f, flags: 0x0},
  2417  	92: {lang: 0x247, script: 0x5, flags: 0x0},
  2418  }
  2419  
  2420  type likelyTag struct {
  2421  	lang   uint16
  2422  	region uint16
  2423  	script uint8
  2424  }
  2425  
  2426  // Size: 192 bytes, 32 elements
  2427  var likelyRegionGroup = [32]likelyTag{
  2428  	1:  {lang: 0x9a, region: 0xd4, script: 0x4f},
  2429  	2:  {lang: 0x9a, region: 0x132, script: 0x4f},
  2430  	3:  {lang: 0x1ed, region: 0x40, script: 0x4f},
  2431  	4:  {lang: 0x9a, region: 0x2e, script: 0x4f},
  2432  	5:  {lang: 0x9a, region: 0xd4, script: 0x4f},
  2433  	6:  {lang: 0x9c, region: 0xcd, script: 0x4f},
  2434  	7:  {lang: 0x246, region: 0x12d, script: 0x4f},
  2435  	8:  {lang: 0x15, region: 0x6a, script: 0x5},
  2436  	9:  {lang: 0x246, region: 0x4a, script: 0x4f},
  2437  	10: {lang: 0x9a, region: 0x15e, script: 0x4f},
  2438  	11: {lang: 0x9a, region: 0x132, script: 0x4f},
  2439  	12: {lang: 0x9a, region: 0x132, script: 0x4f},
  2440  	13: {lang: 0x9c, region: 0x58, script: 0x4f},
  2441  	14: {lang: 0x2c0, region: 0x52, script: 0x32},
  2442  	15: {lang: 0xe0, region: 0x97, script: 0x1f},
  2443  	16: {lang: 0xf7, region: 0x93, script: 0x4f},
  2444  	17: {lang: 0x102, region: 0x9c, script: 0x4f},
  2445  	18: {lang: 0x9a, region: 0x2e, script: 0x4f},
  2446  	19: {lang: 0x9a, region: 0xe4, script: 0x4f},
  2447  	20: {lang: 0x9a, region: 0x88, script: 0x4f},
  2448  	21: {lang: 0x22d, region: 0x13f, script: 0x4f},
  2449  	22: {lang: 0x2c0, region: 0x52, script: 0x32},
  2450  	23: {lang: 0x28a, region: 0x134, script: 0x4f},
  2451  	24: {lang: 0x15, region: 0x106, script: 0x5},
  2452  	25: {lang: 0x205, region: 0x104, script: 0x1d},
  2453  	26: {lang: 0x205, region: 0x104, script: 0x1d},
  2454  	27: {lang: 0x9a, region: 0x79, script: 0x4f},
  2455  	28: {lang: 0x85, region: 0x5f, script: 0x4f},
  2456  	29: {lang: 0x9c, region: 0x1e, script: 0x4f},
  2457  	30: {lang: 0x9a, region: 0x98, script: 0x4f},
  2458  	31: {lang: 0x9a, region: 0x79, script: 0x4f},
  2459  }
  2460  
  2461  type mutualIntelligibility struct {
  2462  	want   uint16
  2463  	have   uint16
  2464  	conf   uint8
  2465  	oneway bool
  2466  }
  2467  
  2468  type scriptIntelligibility struct {
  2469  	lang uint16
  2470  	want uint8
  2471  	have uint8
  2472  	conf uint8
  2473  }
  2474  
  2475  // matchLang holds pairs of langIDs of base languages that are typically
  2476  // mutually intelligible. Each pair is associated with a confidence and
  2477  // whether the intelligibility goes one or both ways.
  2478  // Size: 708 bytes, 118 elements
  2479  var matchLang = [118]mutualIntelligibility{
  2480  	0:   {want: 0x1c0, have: 0x1ae, conf: 0x2, oneway: false},
  2481  	1:   {want: 0x144, have: 0x6f, conf: 0x2, oneway: false},
  2482  	2:   {want: 0xed, have: 0x54, conf: 0x2, oneway: false},
  2483  	3:   {want: 0x223, have: 0x54, conf: 0x2, oneway: false},
  2484  	4:   {want: 0x239, have: 0x54, conf: 0x2, oneway: false},
  2485  	5:   {want: 0x223, have: 0xed, conf: 0x2, oneway: false},
  2486  	6:   {want: 0x239, have: 0xed, conf: 0x2, oneway: false},
  2487  	7:   {want: 0x223, have: 0x239, conf: 0x2, oneway: false},
  2488  	8:   {want: 0x23f, have: 0x1, conf: 0x2, oneway: false},
  2489  	9:   {want: 0xd1, have: 0x85, conf: 0x2, oneway: true},
  2490  	10:  {want: 0x153, have: 0x85, conf: 0x2, oneway: true},
  2491  	11:  {want: 0x80, have: 0x1c0, conf: 0x2, oneway: false},
  2492  	12:  {want: 0x80, have: 0x1ae, conf: 0x2, oneway: false},
  2493  	13:  {want: 0x6f, have: 0x144, conf: 0x2, oneway: false},
  2494  	14:  {want: 0x2, have: 0x205, conf: 0x2, oneway: true},
  2495  	15:  {want: 0x5, have: 0x9a, conf: 0x2, oneway: true},
  2496  	16:  {want: 0xa, have: 0x1bc, conf: 0x2, oneway: true},
  2497  	17:  {want: 0xd, have: 0x9a, conf: 0x2, oneway: true},
  2498  	18:  {want: 0x23, have: 0x9c, conf: 0x2, oneway: true},
  2499  	19:  {want: 0x24, have: 0x205, conf: 0x2, oneway: true},
  2500  	20:  {want: 0x2f, have: 0x205, conf: 0x2, oneway: true},
  2501  	21:  {want: 0x31, have: 0x9a, conf: 0x2, oneway: true},
  2502  	22:  {want: 0x3c, have: 0xe0, conf: 0x2, oneway: true},
  2503  	23:  {want: 0x4b, have: 0x9a, conf: 0x2, oneway: true},
  2504  	24:  {want: 0x50, have: 0xae, conf: 0x2, oneway: true},
  2505  	25:  {want: 0x65, have: 0xa9, conf: 0x2, oneway: true},
  2506  	26:  {want: 0x6c, have: 0x9a, conf: 0x2, oneway: true},
  2507  	27:  {want: 0x6f, have: 0x15, conf: 0x2, oneway: true},
  2508  	28:  {want: 0x70, have: 0xae, conf: 0x2, oneway: true},
  2509  	29:  {want: 0x78, have: 0xae, conf: 0x2, oneway: true},
  2510  	30:  {want: 0x7f, have: 0x9a, conf: 0x2, oneway: true},
  2511  	31:  {want: 0x94, have: 0x9a, conf: 0x2, oneway: true},
  2512  	32:  {want: 0x9b, have: 0x9a, conf: 0x2, oneway: true},
  2513  	33:  {want: 0x9e, have: 0xa7, conf: 0x2, oneway: true},
  2514  	34:  {want: 0xa0, have: 0x9c, conf: 0x2, oneway: true},
  2515  	35:  {want: 0xac, have: 0x80, conf: 0x2, oneway: true},
  2516  	36:  {want: 0xb8, have: 0x1bc, conf: 0x2, oneway: true},
  2517  	37:  {want: 0xb9, have: 0x9a, conf: 0x2, oneway: true},
  2518  	38:  {want: 0xba, have: 0x9a, conf: 0x2, oneway: true},
  2519  	39:  {want: 0xc1, have: 0x9a, conf: 0x2, oneway: true},
  2520  	40:  {want: 0xc7, have: 0x9c, conf: 0x2, oneway: true},
  2521  	41:  {want: 0xc9, have: 0x9c, conf: 0x2, oneway: true},
  2522  	42:  {want: 0xd2, have: 0xe0, conf: 0x2, oneway: true},
  2523  	43:  {want: 0xdb, have: 0x9a, conf: 0x2, oneway: true},
  2524  	44:  {want: 0xdd, have: 0x9a, conf: 0x2, oneway: true},
  2525  	45:  {want: 0xf0, have: 0xae, conf: 0x2, oneway: true},
  2526  	46:  {want: 0xf2, have: 0x205, conf: 0x2, oneway: true},
  2527  	47:  {want: 0xf4, have: 0x9a, conf: 0x2, oneway: true},
  2528  	48:  {want: 0xf9, have: 0x9a, conf: 0x2, oneway: true},
  2529  	49:  {want: 0x101, have: 0x9a, conf: 0x2, oneway: true},
  2530  	50:  {want: 0x10e, have: 0xf7, conf: 0x2, oneway: true},
  2531  	51:  {want: 0x110, have: 0x9a, conf: 0x2, oneway: true},
  2532  	52:  {want: 0x121, have: 0xae, conf: 0x2, oneway: true},
  2533  	53:  {want: 0x12e, have: 0x205, conf: 0x2, oneway: true},
  2534  	54:  {want: 0x132, have: 0x9a, conf: 0x2, oneway: true},
  2535  	55:  {want: 0x134, have: 0x9a, conf: 0x2, oneway: true},
  2536  	56:  {want: 0x13c, have: 0x9a, conf: 0x2, oneway: true},
  2537  	57:  {want: 0x144, have: 0x26d, conf: 0x2, oneway: true},
  2538  	58:  {want: 0x14c, have: 0x205, conf: 0x2, oneway: true},
  2539  	59:  {want: 0x14d, have: 0x102, conf: 0x2, oneway: true},
  2540  	60:  {want: 0x159, have: 0x9a, conf: 0x2, oneway: true},
  2541  	61:  {want: 0x163, have: 0xae, conf: 0x2, oneway: true},
  2542  	62:  {want: 0x164, have: 0x9a, conf: 0x2, oneway: true},
  2543  	63:  {want: 0x166, have: 0x9a, conf: 0x2, oneway: true},
  2544  	64:  {want: 0x16b, have: 0xae, conf: 0x2, oneway: true},
  2545  	65:  {want: 0x181, have: 0x9a, conf: 0x2, oneway: true},
  2546  	66:  {want: 0x182, have: 0xae, conf: 0x2, oneway: true},
  2547  	67:  {want: 0x188, have: 0x9a, conf: 0x2, oneway: true},
  2548  	68:  {want: 0x18b, have: 0x38, conf: 0x2, oneway: true},
  2549  	69:  {want: 0x18c, have: 0x9a, conf: 0x2, oneway: true},
  2550  	70:  {want: 0x18e, have: 0x205, conf: 0x2, oneway: true},
  2551  	71:  {want: 0x195, have: 0xe0, conf: 0x2, oneway: true},
  2552  	72:  {want: 0x199, have: 0xf7, conf: 0x2, oneway: true},
  2553  	73:  {want: 0x19a, have: 0x9a, conf: 0x2, oneway: true},
  2554  	74:  {want: 0x1a4, have: 0x9a, conf: 0x2, oneway: true},
  2555  	75:  {want: 0x1b3, have: 0x9a, conf: 0x2, oneway: true},
  2556  	76:  {want: 0x1be, have: 0x1ae, conf: 0x2, oneway: false},
  2557  	77:  {want: 0x1be, have: 0x1c0, conf: 0x2, oneway: true},
  2558  	78:  {want: 0x1c7, have: 0x9a, conf: 0x2, oneway: true},
  2559  	79:  {want: 0x1cb, have: 0x9a, conf: 0x2, oneway: true},
  2560  	80:  {want: 0x1cd, have: 0x9a, conf: 0x2, oneway: true},
  2561  	81:  {want: 0x1cf, have: 0xae, conf: 0x2, oneway: true},
  2562  	82:  {want: 0x1d1, have: 0x9a, conf: 0x2, oneway: true},
  2563  	83:  {want: 0x1d2, have: 0x9a, conf: 0x2, oneway: true},
  2564  	84:  {want: 0x1d5, have: 0x9a, conf: 0x2, oneway: true},
  2565  	85:  {want: 0x1dc, have: 0x9a, conf: 0x2, oneway: true},
  2566  	86:  {want: 0x1ec, have: 0x9a, conf: 0x2, oneway: true},
  2567  	87:  {want: 0x1ef, have: 0x9c, conf: 0x2, oneway: true},
  2568  	88:  {want: 0x1fa, have: 0x85, conf: 0x2, oneway: true},
  2569  	89:  {want: 0x1ff, have: 0x9a, conf: 0x2, oneway: true},
  2570  	90:  {want: 0x208, have: 0xae, conf: 0x2, oneway: true},
  2571  	91:  {want: 0x20b, have: 0xe0, conf: 0x2, oneway: true},
  2572  	92:  {want: 0x218, have: 0x9a, conf: 0x2, oneway: true},
  2573  	93:  {want: 0x226, have: 0x9a, conf: 0x2, oneway: true},
  2574  	94:  {want: 0x234, have: 0x9a, conf: 0x2, oneway: true},
  2575  	95:  {want: 0x236, have: 0x9a, conf: 0x2, oneway: true},
  2576  	96:  {want: 0x238, have: 0x9a, conf: 0x2, oneway: true},
  2577  	97:  {want: 0x240, have: 0x9a, conf: 0x2, oneway: true},
  2578  	98:  {want: 0x242, have: 0xf7, conf: 0x2, oneway: true},
  2579  	99:  {want: 0x246, have: 0x9a, conf: 0x2, oneway: true},
  2580  	100: {want: 0x24f, have: 0x9a, conf: 0x2, oneway: true},
  2581  	101: {want: 0x256, have: 0x9a, conf: 0x2, oneway: true},
  2582  	102: {want: 0x25a, have: 0x205, conf: 0x2, oneway: true},
  2583  	103: {want: 0x25f, have: 0x9a, conf: 0x2, oneway: true},
  2584  	104: {want: 0x262, have: 0x205, conf: 0x2, oneway: true},
  2585  	105: {want: 0x3616, have: 0x9a, conf: 0x2, oneway: true},
  2586  	106: {want: 0x269, have: 0x9a, conf: 0x2, oneway: true},
  2587  	107: {want: 0x26a, have: 0x9a, conf: 0x2, oneway: true},
  2588  	108: {want: 0x275, have: 0x205, conf: 0x2, oneway: true},
  2589  	109: {want: 0x279, have: 0x9a, conf: 0x2, oneway: true},
  2590  	110: {want: 0x281, have: 0x2c0, conf: 0x2, oneway: true},
  2591  	111: {want: 0x289, have: 0x9a, conf: 0x2, oneway: true},
  2592  	112: {want: 0x28a, have: 0x205, conf: 0x2, oneway: true},
  2593  	113: {want: 0x2a1, have: 0xae, conf: 0x2, oneway: true},
  2594  	114: {want: 0x2a6, have: 0x9a, conf: 0x2, oneway: true},
  2595  	115: {want: 0x2b6, have: 0x9a, conf: 0x2, oneway: true},
  2596  	116: {want: 0x2b7, have: 0x9a, conf: 0x2, oneway: true},
  2597  	117: {want: 0x2c2, have: 0x9a, conf: 0x2, oneway: true},
  2598  }
  2599  
  2600  // matchScript holds pairs of scriptIDs where readers of one script
  2601  // can typically also read the other. Each is associated with a confidence.
  2602  // Size: 24 bytes, 4 elements
  2603  var matchScript = [4]scriptIntelligibility{
  2604  	0: {lang: 0x239, want: 0x4f, have: 0x1d, conf: 0x2},
  2605  	1: {lang: 0x239, want: 0x1d, have: 0x4f, conf: 0x2},
  2606  	2: {lang: 0x0, want: 0x32, have: 0x33, conf: 0x1},
  2607  	3: {lang: 0x0, want: 0x33, have: 0x32, conf: 0x1},
  2608  }
  2609  
  2610  // Size: 128 bytes, 32 elements
  2611  var regionContainment = [32]uint32{
  2612  	0xffffffff, 0x000007a2, 0x00003044, 0x00000008,
  2613  	0x403c0010, 0x00000020, 0x00000040, 0x00000080,
  2614  	0x00000100, 0x00000200, 0x00000400, 0x2000384c,
  2615  	0x00001000, 0x00002000, 0x00004000, 0x00008000,
  2616  	0x00010000, 0x00020000, 0x00040000, 0x00080000,
  2617  	0x00100000, 0x00200000, 0x01c1c000, 0x00800000,
  2618  	0x01000000, 0x1e020000, 0x04000000, 0x08000000,
  2619  	0x10000000, 0x20002048, 0x40000000, 0x80000000,
  2620  }
  2621  
  2622  // regionInclusion maps region identifiers to sets of regions in regionInclusionBits,
  2623  // where each set holds all groupings that are directly connected in a region
  2624  // containment graph.
  2625  // Size: 355 bytes, 355 elements
  2626  var regionInclusion = [355]uint8{
  2627  	// Entry 0 - 3F
  2628  	0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06,
  2629  	0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e,
  2630  	0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16,
  2631  	0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x20,
  2632  	0x21, 0x22, 0x23, 0x24, 0x25, 0x25, 0x22, 0x23,
  2633  	0x25, 0x26, 0x21, 0x27, 0x28, 0x29, 0x2a, 0x25,
  2634  	0x2b, 0x23, 0x22, 0x25, 0x24, 0x29, 0x2c, 0x2d,
  2635  	0x23, 0x2e, 0x2c, 0x25, 0x2f, 0x30, 0x27, 0x25,
  2636  	// Entry 40 - 7F
  2637  	0x27, 0x25, 0x24, 0x30, 0x21, 0x31, 0x32, 0x33,
  2638  	0x2f, 0x21, 0x26, 0x26, 0x26, 0x34, 0x2c, 0x28,
  2639  	0x27, 0x26, 0x35, 0x27, 0x21, 0x33, 0x22, 0x20,
  2640  	0x25, 0x2c, 0x25, 0x21, 0x36, 0x2d, 0x34, 0x29,
  2641  	0x21, 0x2e, 0x37, 0x25, 0x25, 0x20, 0x38, 0x38,
  2642  	0x27, 0x37, 0x38, 0x38, 0x2e, 0x39, 0x2e, 0x1f,
  2643  	0x37, 0x3a, 0x27, 0x3b, 0x2b, 0x20, 0x29, 0x34,
  2644  	0x26, 0x37, 0x25, 0x23, 0x27, 0x2b, 0x2c, 0x22,
  2645  	// Entry 80 - BF
  2646  	0x2f, 0x2c, 0x2c, 0x25, 0x26, 0x39, 0x21, 0x33,
  2647  	0x3b, 0x2c, 0x27, 0x35, 0x21, 0x33, 0x39, 0x25,
  2648  	0x2d, 0x20, 0x38, 0x30, 0x37, 0x23, 0x2b, 0x24,
  2649  	0x21, 0x23, 0x24, 0x2b, 0x39, 0x2b, 0x25, 0x23,
  2650  	0x35, 0x20, 0x2e, 0x3c, 0x30, 0x3b, 0x2e, 0x25,
  2651  	0x35, 0x35, 0x23, 0x25, 0x3c, 0x30, 0x23, 0x25,
  2652  	0x34, 0x24, 0x2c, 0x31, 0x37, 0x29, 0x37, 0x38,
  2653  	0x38, 0x34, 0x32, 0x22, 0x25, 0x2e, 0x3b, 0x20,
  2654  	// Entry C0 - FF
  2655  	0x22, 0x2c, 0x30, 0x35, 0x35, 0x3b, 0x25, 0x2c,
  2656  	0x25, 0x39, 0x2e, 0x24, 0x2e, 0x33, 0x30, 0x2e,
  2657  	0x31, 0x3a, 0x2c, 0x2a, 0x2c, 0x20, 0x33, 0x29,
  2658  	0x2b, 0x24, 0x20, 0x3b, 0x23, 0x28, 0x2a, 0x23,
  2659  	0x33, 0x20, 0x27, 0x28, 0x3a, 0x30, 0x24, 0x2d,
  2660  	0x2f, 0x28, 0x25, 0x23, 0x39, 0x20, 0x3b, 0x27,
  2661  	0x20, 0x23, 0x20, 0x20, 0x1e, 0x20, 0x20, 0x20,
  2662  	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
  2663  	// Entry 100 - 13F
  2664  	0x2e, 0x20, 0x2d, 0x22, 0x32, 0x2e, 0x23, 0x3a,
  2665  	0x2e, 0x38, 0x37, 0x30, 0x2c, 0x39, 0x2b, 0x2d,
  2666  	0x2c, 0x22, 0x2c, 0x2e, 0x27, 0x38, 0x26, 0x32,
  2667  	0x33, 0x25, 0x23, 0x31, 0x21, 0x25, 0x26, 0x21,
  2668  	0x2c, 0x30, 0x3c, 0x28, 0x30, 0x3c, 0x38, 0x28,
  2669  	0x30, 0x23, 0x25, 0x28, 0x35, 0x2e, 0x32, 0x2e,
  2670  	0x20, 0x21, 0x2f, 0x27, 0x3c, 0x22, 0x25, 0x20,
  2671  	0x27, 0x25, 0x25, 0x30, 0x3a, 0x28, 0x20, 0x28,
  2672  	// Entry 140 - 17F
  2673  	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
  2674  	0x20, 0x20, 0x22, 0x20, 0x20, 0x20, 0x20, 0x20,
  2675  	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
  2676  	0x20, 0x20, 0x23, 0x23, 0x2e, 0x22, 0x31, 0x2e,
  2677  	0x26, 0x2e, 0x20,
  2678  }
  2679  
  2680  // regionInclusionBits is an array of bit vectors where every vector represents
  2681  // a set of region groupings.  These sets are used to compute the distance
  2682  // between two regions for the purpose of language matching.
  2683  // Size: 288 bytes, 72 elements
  2684  var regionInclusionBits = [72]uint32{
  2685  	// Entry 0 - 1F
  2686  	0x82400813, 0x000007a3, 0x00003844, 0x20000808,
  2687  	0x403c0011, 0x00000022, 0x20000844, 0x00000082,
  2688  	0x00000102, 0x00000202, 0x00000402, 0x2000384d,
  2689  	0x00001804, 0x20002804, 0x00404000, 0x00408000,
  2690  	0x00410000, 0x02020000, 0x00040010, 0x00080010,
  2691  	0x00100010, 0x00200010, 0x01c1c001, 0x00c00000,
  2692  	0x01400000, 0x1e020001, 0x06000000, 0x0a000000,
  2693  	0x12000000, 0x20002848, 0x40000010, 0x80000001,
  2694  	// Entry 20 - 3F
  2695  	0x00000001, 0x40000000, 0x00020000, 0x01000000,
  2696  	0x00008000, 0x00002000, 0x00000200, 0x00000008,
  2697  	0x00200000, 0x90000000, 0x00040000, 0x08000000,
  2698  	0x00000020, 0x84000000, 0x00000080, 0x00001000,
  2699  	0x00010000, 0x00000400, 0x04000000, 0x00000040,
  2700  	0x10000000, 0x00004000, 0x81000000, 0x88000000,
  2701  	0x00000100, 0x80020000, 0x00080000, 0x00100000,
  2702  	0x00800000, 0xffffffff, 0x82400fb3, 0xc27c0813,
  2703  	// Entry 40 - 5F
  2704  	0xa240385f, 0x83c1c813, 0x9e420813, 0x92000001,
  2705  	0x86000001, 0x81400001, 0x8a000001, 0x82020001,
  2706  }
  2707  
  2708  // regionInclusionNext marks, for each entry in regionInclusionBits, the set of
  2709  // all groups that are reachable from the groups set in the respective entry.
  2710  // Size: 72 bytes, 72 elements
  2711  var regionInclusionNext = [72]uint8{
  2712  	// Entry 0 - 3F
  2713  	0x3d, 0x3e, 0x0b, 0x0b, 0x3f, 0x01, 0x0b, 0x01,
  2714  	0x01, 0x01, 0x01, 0x40, 0x0b, 0x0b, 0x16, 0x16,
  2715  	0x16, 0x19, 0x04, 0x04, 0x04, 0x04, 0x41, 0x16,
  2716  	0x16, 0x42, 0x19, 0x19, 0x19, 0x0b, 0x04, 0x00,
  2717  	0x00, 0x1e, 0x11, 0x18, 0x0f, 0x0d, 0x09, 0x03,
  2718  	0x15, 0x43, 0x12, 0x1b, 0x05, 0x44, 0x07, 0x0c,
  2719  	0x10, 0x0a, 0x1a, 0x06, 0x1c, 0x0e, 0x45, 0x46,
  2720  	0x08, 0x47, 0x13, 0x14, 0x17, 0x3d, 0x3d, 0x3d,
  2721  	// Entry 40 - 7F
  2722  	0x3d, 0x3d, 0x3d, 0x42, 0x42, 0x41, 0x42, 0x42,
  2723  }
  2724  
  2725  type parentRel struct {
  2726  	lang       uint16
  2727  	script     uint8
  2728  	maxScript  uint8
  2729  	toRegion   uint16
  2730  	fromRegion []uint16
  2731  }
  2732  
  2733  // Size: 404 bytes, 5 elements
  2734  var parents = [5]parentRel{
  2735  	0: {lang: 0x9a, script: 0x0, maxScript: 0x4f, toRegion: 0x1, fromRegion: []uint16{0x1a, 0x24, 0x25, 0x2e, 0x33, 0x35, 0x3c, 0x41, 0x45, 0x47, 0x48, 0x49, 0x4f, 0x51, 0x5b, 0x5c, 0x60, 0x63, 0x6c, 0x71, 0x72, 0x73, 0x79, 0x7a, 0x7d, 0x7e, 0x7f, 0x81, 0x8a, 0x8b, 0x94, 0x95, 0x96, 0x97, 0x98, 0x9d, 0x9e, 0xa2, 0xa5, 0xa7, 0xab, 0xaf, 0xb2, 0xb3, 0xbd, 0xc4, 0xc8, 0xc9, 0xca, 0xcc, 0xce, 0xd0, 0xd3, 0xd4, 0xdb, 0xdd, 0xde, 0xe4, 0xe5, 0xe6, 0xe9, 0xee, 0x105, 0x107, 0x108, 0x109, 0x10b, 0x10c, 0x110, 0x115, 0x119, 0x11b, 0x11d, 0x123, 0x127, 0x12a, 0x12b, 0x12d, 0x12f, 0x136, 0x139, 0x13c, 0x13f, 0x15e, 0x15f, 0x161}},
  2736  	1: {lang: 0x9a, script: 0x0, maxScript: 0x4f, toRegion: 0x1a, fromRegion: []uint16{0x2d, 0x4d, 0x5f, 0x62, 0x70, 0xd7, 0x10a, 0x10d}},
  2737  	2: {lang: 0x9c, script: 0x0, maxScript: 0x4f, toRegion: 0x1e, fromRegion: []uint16{0x2b, 0x3e, 0x50, 0x53, 0x55, 0x58, 0x64, 0x68, 0x87, 0x8d, 0xcd, 0xd6, 0xe0, 0xe2, 0xea, 0xef, 0x118, 0x132, 0x133, 0x138}},
  2738  	3: {lang: 0x1ed, script: 0x0, maxScript: 0x4f, toRegion: 0xec, fromRegion: []uint16{0x29, 0x59, 0x89, 0xc4, 0xcf, 0x116, 0x124}},
  2739  	4: {lang: 0x2c0, script: 0x33, maxScript: 0x33, toRegion: 0x8b, fromRegion: []uint16{0xc4}},
  2740  }
  2741  
  2742  // Total table size 19949 bytes (19KiB); checksum: 13F4A4EF