changeset 14152:c5273d4d49b3

Update to Unicode 5.2.0. * lib/gen-uni-tables.c (output_predicate, output_category, output_combclass, output_bidi_category, output_decimal_digit_test, output_decimal_digit, output_digit_test, output_digit, output_numeric_test, output_numeric, output_mirror, output_scripts, output_scripts_byname, output_blocks, output_ident_category): Fix comment header. (is_WBP_MIDNUMLET, is_WBP_MIDLETTER): New functions, extracted from get_wbp. (PROP_CASED, PROP_CASE_IGNORABLE, PROP_CHANGES_WHEN_*): New enumeration items. (fill_properties): Also fill the peoperties Cased, Case_Ignorable, Changes_When_Lowercased, Changes_When_Uppercased, Changes_When_Titlecased, Changes_When_Casefolded, Changes_When_Casemapped. (is_property_alphabetic, is_property_default_ignorable_code_point): Update for Unicode 5.2.0. (is_property_cased, is_property_case_ignorable, is_property_changes_when_lowercased, is_property_changes_when_uppercased, is_property_changes_when_titlecased, is_property_changes_when_casefolded, is_property_changes_when_casemapped): New functions. (output_properties): Output also the properties cased, case_ignorable, changes_when_lowercased, changes_when_uppercased, changes_when_titlecased, changes_when_casefolded, changes_when_casemapped. (symbolic_width): Update for Unicode 5.2.0, incorporating changes from Unicode TR#11 revision 17 -> 19. (LBP_CP): New enumeration value. (LBP_*): Adjust values accordingly. (get_lbp): Update for Unicode 5.2.0, incorporating changes from Unicode TR#14 revision 22 -> 24. (debug_output_lbp): Allow for LBP_* bits >= 32. Support LBP_CP. (fill_org_lbp, debug_output_org_lbp, output_lbp): Support LBP_CP. (get_wbp): Update for Unicode 5.2.0, incorporating changes from Unicode TR#29 revision 13 -> 15. Use functions is_WBP_MIDNUMLET, is_WBP_MIDLETTER. (output_composition_tables): Allow for 24 bits instead of 16 bits in the code1 and code2 of each composition rule. * lib/unicase/cased.h: Regenerated for Unicode 5.2.0. * lib/unicase/ignorable.h: Likewise. * lib/unicase/tocasefold.h: Likewise. * lib/unicase/tolower.h: Likewise. * lib/unicase/totitle.h: Likewise. * lib/unicase/toupper.h: Likewise. * lib/unictype/bidi_of.h: Likewise. * lib/unictype/blocks.h: Likewise. * lib/unictype/categ_C.h: Likewise. * lib/unictype/categ_Cf.h: Likewise. * lib/unictype/categ_Cn.h: Likewise. * lib/unictype/categ_L.h: Likewise. * lib/unictype/categ_Ll.h: Likewise. * lib/unictype/categ_Lm.h: Likewise. * lib/unictype/categ_Lo.h: Likewise. * lib/unictype/categ_Lu.h: Likewise. * lib/unictype/categ_M.h: Likewise. * lib/unictype/categ_Mc.h: Likewise. * lib/unictype/categ_Mn.h: Likewise. * lib/unictype/categ_N.h: Likewise. * lib/unictype/categ_Nd.h: Likewise. * lib/unictype/categ_Nl.h: Likewise. * lib/unictype/categ_No.h: Likewise. * lib/unictype/categ_P.h: Likewise. * lib/unictype/categ_Pd.h: Likewise. * lib/unictype/categ_Po.h: Likewise. * lib/unictype/categ_S.h: Likewise. * lib/unictype/categ_Sc.h: Likewise. * lib/unictype/categ_So.h: Likewise. * lib/unictype/categ_of.h: Likewise. * lib/unictype/combining.h: Likewise. * lib/unictype/ctype_alnum.h: Likewise. * lib/unictype/ctype_alpha.h: Likewise. * lib/unictype/ctype_graph.h: Likewise. * lib/unictype/ctype_lower.h: Likewise. * lib/unictype/ctype_print.h: Likewise. * lib/unictype/ctype_punct.h: Likewise. * lib/unictype/ctype_upper.h: Likewise. * lib/unictype/decdigit.h: Likewise. * lib/unictype/digit.h: Likewise. * lib/unictype/numeric.h: Likewise. * lib/unictype/pr_alphabetic.h: Likewise. * lib/unictype/pr_bidi_arabic_digit.h: Likewise. * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise. * lib/unictype/pr_bidi_european_digit.h: Likewise. * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise. * lib/unictype/pr_bidi_left_to_right.h: Likewise. * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise. * lib/unictype/pr_bidi_other_neutral.h: Likewise. * lib/unictype/pr_combining.h: Likewise. * lib/unictype/pr_composite.h: Likewise. * lib/unictype/pr_currency_symbol.h: Likewise. * lib/unictype/pr_dash.h: Likewise. * lib/unictype/pr_decimal_digit.h: Likewise. * lib/unictype/pr_deprecated.h: Likewise. * lib/unictype/pr_diacritic.h: Likewise. * lib/unictype/pr_extender.h: Likewise. * lib/unictype/pr_grapheme_base.h: Likewise. * lib/unictype/pr_grapheme_extend.h: Likewise. * lib/unictype/pr_grapheme_link.h: Likewise. * lib/unictype/pr_id_continue.h: Likewise. * lib/unictype/pr_id_start.h: Likewise. * lib/unictype/pr_ideographic.h: Likewise. * lib/unictype/pr_ignorable_control.h: Likewise. * lib/unictype/pr_logical_order_exception.h: Likewise. * lib/unictype/pr_lowercase.h: Likewise. * lib/unictype/pr_numeric.h: Likewise. * lib/unictype/pr_other_alphabetic.h: Likewise. * lib/unictype/pr_punctuation.h: Likewise. * lib/unictype/pr_sentence_terminal.h: Likewise. * lib/unictype/pr_terminal_punctuation.h: Likewise. * lib/unictype/pr_unassigned_code_value.h: Likewise. * lib/unictype/pr_unified_ideograph.h: Likewise. * lib/unictype/pr_uppercase.h: Likewise. * lib/unictype/pr_xid_continue.h: Likewise. * lib/unictype/pr_xid_start.h: Likewise. * lib/unictype/pr_zero_width.h: Likewise. * lib/unictype/scripts.h: Likewise. * lib/unictype/scripts_byname.gperf: Likewise. * lib/unictype/sy_java_ident.h: Likewise. * lib/unigbrk/gbrkprop.h: Likewise. * lib/unilbrk/lbrkprop1.h: Likewise. * lib/unilbrk/lbrkprop2.h: Likewise. * lib/unilbrk/lbrktables.h: Likewise. * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column for LBP_CP. Implement rule LB30. * lib/uniwidth/width.c (nonspacing_table_data): Add U+0816..U+0819, U+081B..U+0823, U+0825..U+0827, U+0829..U+082D, U+0900, U+0955, U+109D, U+1A56, U+1A58..U+1A5E, U+1A60, U+1A62, U+1A65..U+1A6C, U+1A73..U+1A7C, U+1A7F, U+1CD0..U+1CD2, U+1CD4..U+1CE0, U+1CE2..U+1CE8, U+1CED, U+1DFD, U+2CEF..U+2CF1, U+A6F0..U+A6F1, U+A8E0..U+A8F1, U+A980..U+A982, U+A9B3, U+A9B6..U+A9B9, U+A9BC, U+AAB0, U+AAB2..U+AAB4, U+AAB7..U+AAB8, U+AABE..U+AABF, U+AAC1, U+ABE5, U+ABE8, U+ABED, U+11080..U+11081, U+110B3..U+110B6, U+110B9..U+110BA, U+110BD. (uc_width): Return 2 also for unassigned code points of planes 2 and 3. * lib/uninorm/composition-table.gperf: Regenerated for Unicode 5.2.0. * lib/uninorm/composition.c (struct composition_rule): Allow for 24 bits instead of 16 bits in the code1 and code2 of each composition rule. (uc_composition): Update for Unicode 5.2.0. * lib/uninorm/decomposition-table1.h: Regenerated for Unicode 5.2.0. * lib/uninorm/decomposition-table2.h: Likewise. * lib/uniwbrk/wbrkprop.h: Likewise. * tests/unicase/test-cased.c: Likewise. * tests/unicase/test-ignorable.c: Likewise. * tests/unicase/test-uc_tolower.c: Likewise. * tests/unicase/test-uc_totitle.c: Likewise. * tests/unicase/test-uc_toupper.c: Likewise. * tests/unictype/test-categ_C.c: Likewise. * tests/unictype/test-categ_Cf.c: Likewise. * tests/unictype/test-categ_Cn.c: Likewise. * tests/unictype/test-categ_L.c: Likewise. * tests/unictype/test-categ_Ll.c: Likewise. * tests/unictype/test-categ_Lm.c: Likewise. * tests/unictype/test-categ_Lo.c: Likewise. * tests/unictype/test-categ_Lu.c: Likewise. * tests/unictype/test-categ_M.c: Likewise. * tests/unictype/test-categ_Mc.c: Likewise. * tests/unictype/test-categ_Mn.c: Likewise. * tests/unictype/test-categ_N.c: Likewise. * tests/unictype/test-categ_Nd.c: Likewise. * tests/unictype/test-categ_Nl.c: Likewise. * tests/unictype/test-categ_No.c: Likewise. * tests/unictype/test-categ_P.c: Likewise. * tests/unictype/test-categ_Pd.c: Likewise. * tests/unictype/test-categ_Po.c: Likewise. * tests/unictype/test-categ_S.c: Likewise. * tests/unictype/test-categ_Sc.c: Likewise. * tests/unictype/test-categ_So.c: Likewise. * tests/unictype/test-ctype_alnum.c: Likewise. * tests/unictype/test-ctype_alpha.c: Likewise. * tests/unictype/test-ctype_graph.c: Likewise. * tests/unictype/test-ctype_lower.c: Likewise. * tests/unictype/test-ctype_print.c: Likewise. * tests/unictype/test-ctype_punct.c: Likewise. * tests/unictype/test-ctype_upper.c: Likewise. * tests/unictype/test-decdigit.h: Likewise. * tests/unictype/test-digit.h: Likewise. * tests/unictype/test-numeric.h: Likewise. * tests/unictype/test-pr_alphabetic.c: Likewise. * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise. * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise. * tests/unictype/test-pr_bidi_european_digit.c: Likewise. * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise. * tests/unictype/test-pr_bidi_left_to_right.c: Likewise. * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise. * tests/unictype/test-pr_bidi_other_neutral.c: Likewise. * tests/unictype/test-pr_combining.c: Likewise. * tests/unictype/test-pr_composite.c: Likewise. * tests/unictype/test-pr_currency_symbol.c: Likewise. * tests/unictype/test-pr_dash.c: Likewise. * tests/unictype/test-pr_decimal_digit.c: Likewise. * tests/unictype/test-pr_deprecated.c: Likewise. * tests/unictype/test-pr_diacritic.c: Likewise. * tests/unictype/test-pr_extender.c: Likewise. * tests/unictype/test-pr_grapheme_base.c: Likewise. * tests/unictype/test-pr_grapheme_extend.c: Likewise. * tests/unictype/test-pr_grapheme_link.c: Likewise. * tests/unictype/test-pr_id_continue.c: Likewise. * tests/unictype/test-pr_id_start.c: Likewise. * tests/unictype/test-pr_ideographic.c: Likewise. * tests/unictype/test-pr_ignorable_control.c: Likewise. * tests/unictype/test-pr_logical_order_exception.c: Likewise. * tests/unictype/test-pr_lowercase.c: Likewise. * tests/unictype/test-pr_numeric.c: Likewise. * tests/unictype/test-pr_other_alphabetic.c: Likewise. * tests/unictype/test-pr_punctuation.c: Likewise. * tests/unictype/test-pr_sentence_terminal.c: Likewise. * tests/unictype/test-pr_terminal_punctuation.c: Likewise. * tests/unictype/test-pr_unassigned_code_value.c: Likewise. * tests/unictype/test-pr_unified_ideograph.c: Likewise. * tests/unictype/test-pr_uppercase.c: Likewise. * tests/unictype/test-pr_xid_continue.c: Likewise. * tests/unictype/test-pr_xid_start.c: Likewise. * tests/unictype/test-pr_zero_width.c: Likewise. * tests/unigbrk/test-uc-gbrk-prop.h: Likewise. * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update for changed behaviour: line breaking is now disallowed between a letter or '=' and '('. * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise. * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise. * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise. * tests/unilbrk/test-ulc-width-linebreaks.c (main): Likewise. * tests/uniwidth/test-uc_width2.sh: Same updates as in lib/uniwidth/width.c. * tests/uninorm/NormalizationTest.txt: Update from Unicode 5.2.0, without comments, but with the original copyright notice. * lib/unicase/special-casing-table.gperf: Regenerated; only comment changes. * lib/unictype/categ_Cc.h: Likewise. * lib/unictype/categ_Co.h: Likewise. * lib/unictype/categ_Cs.h: Likewise. * lib/unictype/categ_Lt.h: Likewise. * lib/unictype/categ_Me.h: Likewise. * lib/unictype/categ_Pc.h: Likewise. * lib/unictype/categ_Pe.h: Likewise. * lib/unictype/categ_Pf.h: Likewise. * lib/unictype/categ_Pi.h: Likewise. * lib/unictype/categ_Ps.h: Likewise. * lib/unictype/categ_Sk.h: Likewise. * lib/unictype/categ_Sm.h: Likewise. * lib/unictype/categ_Z.h: Likewise. * lib/unictype/categ_Zl.h: Likewise. * lib/unictype/categ_Zp.h: Likewise. * lib/unictype/categ_Zs.h: Likewise. * lib/unictype/ctype_blank.h: Likewise. * lib/unictype/ctype_cntrl.h: Likewise. * lib/unictype/ctype_digit.h: Likewise. * lib/unictype/ctype_space.h: Likewise. * lib/unictype/ctype_xdigit.h: Likewise. * lib/unictype/mirror.h: Likewise. * lib/unictype/pr_ascii_hex_digit.h: Likewise. * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise. * lib/unictype/pr_bidi_block_separator.h: Likewise. * lib/unictype/pr_bidi_boundary_neutral.h: Likewise. * lib/unictype/pr_bidi_common_separator.h: Likewise. * lib/unictype/pr_bidi_control.h: Likewise. * lib/unictype/pr_bidi_embedding_or_override.h: Likewise. * lib/unictype/pr_bidi_eur_num_separator.h: Likewise. * lib/unictype/pr_bidi_pdf.h: Likewise. * lib/unictype/pr_bidi_segment_separator.h: Likewise. * lib/unictype/pr_bidi_whitespace.h: Likewise. * lib/unictype/pr_default_ignorable_code_point.h: Likewise. * lib/unictype/pr_format_control.h: Likewise. * lib/unictype/pr_hex_digit.h: Likewise. * lib/unictype/pr_hyphen.h: Likewise. * lib/unictype/pr_ids_binary_operator.h: Likewise. * lib/unictype/pr_ids_trinary_operator.h: Likewise. * lib/unictype/pr_iso_control.h: Likewise. * lib/unictype/pr_join_control.h: Likewise. * lib/unictype/pr_left_of_pair.h: Likewise. * lib/unictype/pr_line_separator.h: Likewise. * lib/unictype/pr_math.h: Likewise. * lib/unictype/pr_non_break.h: Likewise. * lib/unictype/pr_not_a_character.h: Likewise. * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise. * lib/unictype/pr_other_grapheme_extend.h: Likewise. * lib/unictype/pr_other_id_continue.h: Likewise. * lib/unictype/pr_other_id_start.h: Likewise. * lib/unictype/pr_other_lowercase.h: Likewise. * lib/unictype/pr_other_math.h: Likewise. * lib/unictype/pr_other_uppercase.h: Likewise. * lib/unictype/pr_paired_punctuation.h: Likewise. * lib/unictype/pr_paragraph_separator.h: Likewise. * lib/unictype/pr_pattern_syntax.h: Likewise. * lib/unictype/pr_pattern_white_space.h: Likewise. * lib/unictype/pr_private_use.h: Likewise. * lib/unictype/pr_quotation_mark.h: Likewise. * lib/unictype/pr_radical.h: Likewise. * lib/unictype/pr_soft_dotted.h: Likewise. * lib/unictype/pr_space.h: Likewise. * lib/unictype/pr_titlecase.h: Likewise. * lib/unictype/pr_variation_selector.h: Likewise. * lib/unictype/pr_white_space.h: Likewise. * lib/unictype/sy_c_ident.h: Likewise. * lib/unictype/sy_c_whitespace.h: Likewise. * lib/unictype/sy_java_whitespace.h: Likewise. * modules/uni*/*: Bump version number of expected libunistring version. Reported by Simon Josefsson.
author Bruno Haible <bruno@clisp.org>
date Sun, 09 Jan 2011 11:09:25 +0100
parents 69b92624775e
children 0f2b09130fa4
files ChangeLog lib/gen-uni-tables.c lib/unicase/cased.h lib/unicase/ignorable.h lib/unicase/special-casing-table.gperf lib/unicase/tocasefold.h lib/unicase/tolower.h lib/unicase/totitle.h lib/unicase/toupper.h lib/unictype/bidi_of.h lib/unictype/blocks.h lib/unictype/categ_C.h lib/unictype/categ_Cc.h lib/unictype/categ_Cf.h lib/unictype/categ_Cn.h lib/unictype/categ_Co.h lib/unictype/categ_Cs.h lib/unictype/categ_L.h lib/unictype/categ_Ll.h lib/unictype/categ_Lm.h lib/unictype/categ_Lo.h lib/unictype/categ_Lt.h lib/unictype/categ_Lu.h lib/unictype/categ_M.h lib/unictype/categ_Mc.h lib/unictype/categ_Me.h lib/unictype/categ_Mn.h lib/unictype/categ_N.h lib/unictype/categ_Nd.h lib/unictype/categ_Nl.h lib/unictype/categ_No.h lib/unictype/categ_P.h lib/unictype/categ_Pc.h lib/unictype/categ_Pd.h lib/unictype/categ_Pe.h lib/unictype/categ_Pf.h lib/unictype/categ_Pi.h lib/unictype/categ_Po.h lib/unictype/categ_Ps.h lib/unictype/categ_S.h lib/unictype/categ_Sc.h lib/unictype/categ_Sk.h lib/unictype/categ_Sm.h lib/unictype/categ_So.h lib/unictype/categ_Z.h lib/unictype/categ_Zl.h lib/unictype/categ_Zp.h lib/unictype/categ_Zs.h lib/unictype/categ_of.h lib/unictype/combining.h lib/unictype/ctype_alnum.h lib/unictype/ctype_alpha.h lib/unictype/ctype_blank.h lib/unictype/ctype_cntrl.h lib/unictype/ctype_digit.h lib/unictype/ctype_graph.h lib/unictype/ctype_lower.h lib/unictype/ctype_print.h lib/unictype/ctype_punct.h lib/unictype/ctype_space.h lib/unictype/ctype_upper.h lib/unictype/ctype_xdigit.h lib/unictype/decdigit.h lib/unictype/digit.h lib/unictype/mirror.h lib/unictype/numeric.h lib/unictype/pr_alphabetic.h lib/unictype/pr_ascii_hex_digit.h lib/unictype/pr_bidi_arabic_digit.h lib/unictype/pr_bidi_arabic_right_to_left.h lib/unictype/pr_bidi_block_separator.h lib/unictype/pr_bidi_boundary_neutral.h lib/unictype/pr_bidi_common_separator.h lib/unictype/pr_bidi_control.h lib/unictype/pr_bidi_embedding_or_override.h lib/unictype/pr_bidi_eur_num_separator.h lib/unictype/pr_bidi_eur_num_terminator.h lib/unictype/pr_bidi_european_digit.h lib/unictype/pr_bidi_hebrew_right_to_left.h lib/unictype/pr_bidi_left_to_right.h lib/unictype/pr_bidi_non_spacing_mark.h lib/unictype/pr_bidi_other_neutral.h lib/unictype/pr_bidi_pdf.h lib/unictype/pr_bidi_segment_separator.h lib/unictype/pr_bidi_whitespace.h lib/unictype/pr_combining.h lib/unictype/pr_composite.h lib/unictype/pr_currency_symbol.h lib/unictype/pr_dash.h lib/unictype/pr_decimal_digit.h lib/unictype/pr_default_ignorable_code_point.h lib/unictype/pr_deprecated.h lib/unictype/pr_diacritic.h lib/unictype/pr_extender.h lib/unictype/pr_format_control.h lib/unictype/pr_grapheme_base.h lib/unictype/pr_grapheme_extend.h lib/unictype/pr_grapheme_link.h lib/unictype/pr_hex_digit.h lib/unictype/pr_hyphen.h lib/unictype/pr_id_continue.h lib/unictype/pr_id_start.h lib/unictype/pr_ideographic.h lib/unictype/pr_ids_binary_operator.h lib/unictype/pr_ids_trinary_operator.h lib/unictype/pr_ignorable_control.h lib/unictype/pr_iso_control.h lib/unictype/pr_join_control.h lib/unictype/pr_left_of_pair.h lib/unictype/pr_line_separator.h lib/unictype/pr_logical_order_exception.h lib/unictype/pr_lowercase.h lib/unictype/pr_math.h lib/unictype/pr_non_break.h lib/unictype/pr_not_a_character.h lib/unictype/pr_numeric.h lib/unictype/pr_other_alphabetic.h lib/unictype/pr_other_default_ignorable_code_point.h lib/unictype/pr_other_grapheme_extend.h lib/unictype/pr_other_id_continue.h lib/unictype/pr_other_id_start.h lib/unictype/pr_other_lowercase.h lib/unictype/pr_other_math.h lib/unictype/pr_other_uppercase.h lib/unictype/pr_paired_punctuation.h lib/unictype/pr_paragraph_separator.h lib/unictype/pr_pattern_syntax.h lib/unictype/pr_pattern_white_space.h lib/unictype/pr_private_use.h lib/unictype/pr_punctuation.h lib/unictype/pr_quotation_mark.h lib/unictype/pr_radical.h lib/unictype/pr_sentence_terminal.h lib/unictype/pr_soft_dotted.h lib/unictype/pr_space.h lib/unictype/pr_terminal_punctuation.h lib/unictype/pr_titlecase.h lib/unictype/pr_unassigned_code_value.h lib/unictype/pr_unified_ideograph.h lib/unictype/pr_uppercase.h lib/unictype/pr_variation_selector.h lib/unictype/pr_white_space.h lib/unictype/pr_xid_continue.h lib/unictype/pr_xid_start.h lib/unictype/pr_zero_width.h lib/unictype/scripts.h lib/unictype/scripts_byname.gperf lib/unictype/sy_c_ident.h lib/unictype/sy_c_whitespace.h lib/unictype/sy_java_ident.h lib/unictype/sy_java_whitespace.h lib/unigbrk/gbrkprop.h lib/unilbrk/lbrkprop1.h lib/unilbrk/lbrkprop2.h lib/unilbrk/lbrktables.c lib/unilbrk/lbrktables.h lib/uninorm/composition-table.gperf lib/uninorm/composition.c lib/uninorm/decomposition-table1.h lib/uninorm/decomposition-table2.h lib/uniwbrk/wbrkprop.h lib/uniwidth/width.c modules/unicase/tolower modules/unicase/totitle modules/unicase/toupper modules/unicase/u16-casecmp modules/unicase/u16-casecoll modules/unicase/u16-casefold modules/unicase/u16-casexfrm modules/unicase/u16-ct-casefold modules/unicase/u16-ct-tolower modules/unicase/u16-ct-totitle modules/unicase/u16-ct-toupper modules/unicase/u16-is-cased modules/unicase/u16-is-casefolded modules/unicase/u16-is-lowercase modules/unicase/u16-is-titlecase modules/unicase/u16-is-uppercase modules/unicase/u16-prefix-context modules/unicase/u16-suffix-context modules/unicase/u16-tolower modules/unicase/u16-totitle modules/unicase/u16-toupper modules/unicase/u32-casecmp modules/unicase/u32-casecoll modules/unicase/u32-casefold modules/unicase/u32-casexfrm modules/unicase/u32-ct-casefold modules/unicase/u32-ct-tolower modules/unicase/u32-ct-totitle modules/unicase/u32-ct-toupper modules/unicase/u32-is-cased modules/unicase/u32-is-casefolded modules/unicase/u32-is-lowercase modules/unicase/u32-is-titlecase modules/unicase/u32-is-uppercase modules/unicase/u32-prefix-context modules/unicase/u32-suffix-context modules/unicase/u32-tolower modules/unicase/u32-totitle modules/unicase/u32-toupper modules/unicase/u8-casecmp modules/unicase/u8-casecoll modules/unicase/u8-casefold modules/unicase/u8-casexfrm modules/unicase/u8-ct-casefold modules/unicase/u8-ct-tolower modules/unicase/u8-ct-totitle modules/unicase/u8-ct-toupper modules/unicase/u8-is-cased modules/unicase/u8-is-casefolded modules/unicase/u8-is-lowercase modules/unicase/u8-is-titlecase modules/unicase/u8-is-uppercase modules/unicase/u8-prefix-context modules/unicase/u8-suffix-context modules/unicase/u8-tolower modules/unicase/u8-totitle modules/unicase/u8-toupper modules/unicase/ulc-casecmp modules/unicase/ulc-casecoll modules/unicase/ulc-casexfrm modules/unictype/bidicategory-of modules/unictype/bidicategory-test modules/unictype/block-list modules/unictype/block-test modules/unictype/category-C modules/unictype/category-Cf modules/unictype/category-Cn modules/unictype/category-L modules/unictype/category-Ll modules/unictype/category-Lm modules/unictype/category-Lo modules/unictype/category-Lu modules/unictype/category-M modules/unictype/category-Mc modules/unictype/category-Mn modules/unictype/category-N modules/unictype/category-Nd modules/unictype/category-Nl modules/unictype/category-No modules/unictype/category-P modules/unictype/category-Pd modules/unictype/category-Po modules/unictype/category-S modules/unictype/category-Sc modules/unictype/category-So modules/unictype/category-byname modules/unictype/category-of modules/unictype/category-test modules/unictype/combining-class modules/unictype/ctype-alnum modules/unictype/ctype-alpha modules/unictype/ctype-graph modules/unictype/ctype-lower modules/unictype/ctype-print modules/unictype/ctype-punct modules/unictype/ctype-upper modules/unictype/decimal-digit modules/unictype/digit modules/unictype/numeric modules/unictype/property-alphabetic modules/unictype/property-bidi-arabic-digit modules/unictype/property-bidi-eur-num-terminator modules/unictype/property-bidi-european-digit modules/unictype/property-bidi-hebrew-right-to-left modules/unictype/property-bidi-left-to-right modules/unictype/property-bidi-non-spacing-mark modules/unictype/property-bidi-other-neutral modules/unictype/property-byname modules/unictype/property-combining modules/unictype/property-composite modules/unictype/property-currency-symbol modules/unictype/property-dash modules/unictype/property-decimal-digit modules/unictype/property-deprecated modules/unictype/property-diacritic modules/unictype/property-extender modules/unictype/property-grapheme-base modules/unictype/property-grapheme-extend modules/unictype/property-grapheme-link modules/unictype/property-id-continue modules/unictype/property-id-start modules/unictype/property-ideographic modules/unictype/property-ignorable-control modules/unictype/property-logical-order-exception modules/unictype/property-lowercase modules/unictype/property-numeric modules/unictype/property-other-alphabetic modules/unictype/property-punctuation modules/unictype/property-sentence-terminal modules/unictype/property-terminal-punctuation modules/unictype/property-unassigned-code-value modules/unictype/property-unified-ideograph modules/unictype/property-uppercase modules/unictype/property-xid-continue modules/unictype/property-xid-start modules/unictype/property-zero-width modules/unictype/scripts modules/unictype/syntax-java-ident modules/unilbrk/u16-possible-linebreaks modules/unilbrk/u32-possible-linebreaks modules/unilbrk/u8-possible-linebreaks modules/unilbrk/ulc-possible-linebreaks modules/uninorm/canonical-decomposition modules/uninorm/composition modules/uninorm/decomposing-form modules/uninorm/decomposition modules/uninorm/filter modules/uninorm/nfc modules/uninorm/nfd modules/uninorm/nfkc modules/uninorm/nfkd modules/uninorm/u16-normalize modules/uninorm/u16-normcmp modules/uninorm/u16-normcoll modules/uninorm/u16-normxfrm modules/uninorm/u32-normalize modules/uninorm/u32-normcmp modules/uninorm/u32-normcoll modules/uninorm/u32-normxfrm modules/uninorm/u8-normalize modules/uninorm/u8-normcmp modules/uninorm/u8-normcoll modules/uninorm/u8-normxfrm modules/uniwbrk/u16-wordbreaks modules/uniwbrk/u32-wordbreaks modules/uniwbrk/u8-wordbreaks modules/uniwbrk/ulc-wordbreaks modules/uniwbrk/wordbreak-property tests/unicase/test-cased.c tests/unicase/test-ignorable.c tests/unicase/test-uc_tolower.c tests/unicase/test-uc_totitle.c tests/unicase/test-uc_toupper.c tests/unictype/test-categ_C.c tests/unictype/test-categ_Cf.c tests/unictype/test-categ_Cn.c tests/unictype/test-categ_L.c tests/unictype/test-categ_Ll.c tests/unictype/test-categ_Lm.c tests/unictype/test-categ_Lo.c tests/unictype/test-categ_Lu.c tests/unictype/test-categ_M.c tests/unictype/test-categ_Mc.c tests/unictype/test-categ_Mn.c tests/unictype/test-categ_N.c tests/unictype/test-categ_Nd.c tests/unictype/test-categ_Nl.c tests/unictype/test-categ_No.c tests/unictype/test-categ_P.c tests/unictype/test-categ_Pd.c tests/unictype/test-categ_Po.c tests/unictype/test-categ_S.c tests/unictype/test-categ_Sc.c tests/unictype/test-categ_So.c tests/unictype/test-ctype_alnum.c tests/unictype/test-ctype_alpha.c tests/unictype/test-ctype_graph.c tests/unictype/test-ctype_lower.c tests/unictype/test-ctype_print.c tests/unictype/test-ctype_punct.c tests/unictype/test-ctype_upper.c tests/unictype/test-decdigit.h tests/unictype/test-digit.h tests/unictype/test-numeric.h tests/unictype/test-pr_alphabetic.c tests/unictype/test-pr_bidi_arabic_digit.c tests/unictype/test-pr_bidi_eur_num_terminator.c tests/unictype/test-pr_bidi_european_digit.c tests/unictype/test-pr_bidi_hebrew_right_to_left.c tests/unictype/test-pr_bidi_left_to_right.c tests/unictype/test-pr_bidi_non_spacing_mark.c tests/unictype/test-pr_bidi_other_neutral.c tests/unictype/test-pr_combining.c tests/unictype/test-pr_composite.c tests/unictype/test-pr_currency_symbol.c tests/unictype/test-pr_dash.c tests/unictype/test-pr_decimal_digit.c tests/unictype/test-pr_deprecated.c tests/unictype/test-pr_diacritic.c tests/unictype/test-pr_extender.c tests/unictype/test-pr_grapheme_base.c tests/unictype/test-pr_grapheme_extend.c tests/unictype/test-pr_grapheme_link.c tests/unictype/test-pr_id_continue.c tests/unictype/test-pr_id_start.c tests/unictype/test-pr_ideographic.c tests/unictype/test-pr_ignorable_control.c tests/unictype/test-pr_logical_order_exception.c tests/unictype/test-pr_lowercase.c tests/unictype/test-pr_numeric.c tests/unictype/test-pr_other_alphabetic.c tests/unictype/test-pr_punctuation.c tests/unictype/test-pr_sentence_terminal.c tests/unictype/test-pr_terminal_punctuation.c tests/unictype/test-pr_unassigned_code_value.c tests/unictype/test-pr_unified_ideograph.c tests/unictype/test-pr_uppercase.c tests/unictype/test-pr_xid_continue.c tests/unictype/test-pr_xid_start.c tests/unictype/test-pr_zero_width.c tests/unigbrk/test-uc-gbrk-prop.h tests/unilbrk/test-u16-possible-linebreaks.c tests/unilbrk/test-u32-possible-linebreaks.c tests/unilbrk/test-u8-possible-linebreaks.c tests/unilbrk/test-ulc-possible-linebreaks.c tests/unilbrk/test-ulc-width-linebreaks.c tests/uninorm/NormalizationTest.txt tests/uniwidth/test-uc_width2.sh
diffstat 410 files changed, 14418 insertions(+), 9785 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,305 @@
+2011-01-09  Bruno Haible  <bruno@clisp.org>
+
+	Update to Unicode 5.2.0.
+	* lib/gen-uni-tables.c (output_predicate, output_category,
+	output_combclass, output_bidi_category, output_decimal_digit_test,
+	output_decimal_digit, output_digit_test, output_digit,
+	output_numeric_test, output_numeric, output_mirror, output_scripts,
+	output_scripts_byname, output_blocks, output_ident_category): Fix
+	comment header.
+	(is_WBP_MIDNUMLET, is_WBP_MIDLETTER): New functions, extracted from
+	get_wbp.
+	(PROP_CASED, PROP_CASE_IGNORABLE, PROP_CHANGES_WHEN_*): New enumeration
+	items.
+	(fill_properties): Also fill the peoperties Cased, Case_Ignorable,
+	Changes_When_Lowercased, Changes_When_Uppercased,
+	Changes_When_Titlecased, Changes_When_Casefolded,
+	Changes_When_Casemapped.
+	(is_property_alphabetic, is_property_default_ignorable_code_point):
+	Update for Unicode 5.2.0.
+	(is_property_cased, is_property_case_ignorable,
+	is_property_changes_when_lowercased,
+	is_property_changes_when_uppercased,
+	is_property_changes_when_titlecased,
+	is_property_changes_when_casefolded,
+	is_property_changes_when_casemapped): New functions.
+	(output_properties): Output also the properties cased, case_ignorable,
+	changes_when_lowercased, changes_when_uppercased,
+	changes_when_titlecased, changes_when_casefolded,
+	changes_when_casemapped.
+	(symbolic_width): Update for Unicode 5.2.0, incorporating changes from
+	Unicode TR#11 revision 17 -> 19.
+	(LBP_CP): New enumeration value.
+	(LBP_*): Adjust values accordingly.
+	(get_lbp): Update for Unicode 5.2.0, incorporating changes from Unicode
+	TR#14 revision 22 -> 24.
+	(debug_output_lbp): Allow for LBP_* bits >= 32. Support LBP_CP.
+	(fill_org_lbp, debug_output_org_lbp, output_lbp): Support LBP_CP.
+	(get_wbp): Update for Unicode 5.2.0, incorporating changes from Unicode
+	TR#29 revision 13 -> 15. Use functions is_WBP_MIDNUMLET,
+	is_WBP_MIDLETTER.
+	(output_composition_tables): Allow for 24 bits instead of 16 bits in
+	the code1 and code2 of each composition rule.
+	* lib/unicase/cased.h: Regenerated for Unicode 5.2.0.
+	* lib/unicase/ignorable.h: Likewise.
+	* lib/unicase/tocasefold.h: Likewise.
+	* lib/unicase/tolower.h: Likewise.
+	* lib/unicase/totitle.h: Likewise.
+	* lib/unicase/toupper.h: Likewise.
+	* lib/unictype/bidi_of.h: Likewise.
+	* lib/unictype/blocks.h: Likewise.
+	* lib/unictype/categ_C.h: Likewise.
+	* lib/unictype/categ_Cf.h: Likewise.
+	* lib/unictype/categ_Cn.h: Likewise.
+	* lib/unictype/categ_L.h: Likewise.
+	* lib/unictype/categ_Ll.h: Likewise.
+	* lib/unictype/categ_Lm.h: Likewise.
+	* lib/unictype/categ_Lo.h: Likewise.
+	* lib/unictype/categ_Lu.h: Likewise.
+	* lib/unictype/categ_M.h: Likewise.
+	* lib/unictype/categ_Mc.h: Likewise.
+	* lib/unictype/categ_Mn.h: Likewise.
+	* lib/unictype/categ_N.h: Likewise.
+	* lib/unictype/categ_Nd.h: Likewise.
+	* lib/unictype/categ_Nl.h: Likewise.
+	* lib/unictype/categ_No.h: Likewise.
+	* lib/unictype/categ_P.h: Likewise.
+	* lib/unictype/categ_Pd.h: Likewise.
+	* lib/unictype/categ_Po.h: Likewise.
+	* lib/unictype/categ_S.h: Likewise.
+	* lib/unictype/categ_Sc.h: Likewise.
+	* lib/unictype/categ_So.h: Likewise.
+	* lib/unictype/categ_of.h: Likewise.
+	* lib/unictype/combining.h: Likewise.
+	* lib/unictype/ctype_alnum.h: Likewise.
+	* lib/unictype/ctype_alpha.h: Likewise.
+	* lib/unictype/ctype_graph.h: Likewise.
+	* lib/unictype/ctype_lower.h: Likewise.
+	* lib/unictype/ctype_print.h: Likewise.
+	* lib/unictype/ctype_punct.h: Likewise.
+	* lib/unictype/ctype_upper.h: Likewise.
+	* lib/unictype/decdigit.h: Likewise.
+	* lib/unictype/digit.h: Likewise.
+	* lib/unictype/numeric.h: Likewise.
+	* lib/unictype/pr_alphabetic.h: Likewise.
+	* lib/unictype/pr_bidi_arabic_digit.h: Likewise.
+	* lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
+	* lib/unictype/pr_bidi_european_digit.h: Likewise.
+	* lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
+	* lib/unictype/pr_bidi_left_to_right.h: Likewise.
+	* lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
+	* lib/unictype/pr_bidi_other_neutral.h: Likewise.
+	* lib/unictype/pr_combining.h: Likewise.
+	* lib/unictype/pr_composite.h: Likewise.
+	* lib/unictype/pr_currency_symbol.h: Likewise.
+	* lib/unictype/pr_dash.h: Likewise.
+	* lib/unictype/pr_decimal_digit.h: Likewise.
+	* lib/unictype/pr_deprecated.h: Likewise.
+	* lib/unictype/pr_diacritic.h: Likewise.
+	* lib/unictype/pr_extender.h: Likewise.
+	* lib/unictype/pr_grapheme_base.h: Likewise.
+	* lib/unictype/pr_grapheme_extend.h: Likewise.
+	* lib/unictype/pr_grapheme_link.h: Likewise.
+	* lib/unictype/pr_id_continue.h: Likewise.
+	* lib/unictype/pr_id_start.h: Likewise.
+	* lib/unictype/pr_ideographic.h: Likewise.
+	* lib/unictype/pr_ignorable_control.h: Likewise.
+	* lib/unictype/pr_logical_order_exception.h: Likewise.
+	* lib/unictype/pr_lowercase.h: Likewise.
+	* lib/unictype/pr_numeric.h: Likewise.
+	* lib/unictype/pr_other_alphabetic.h: Likewise.
+	* lib/unictype/pr_punctuation.h: Likewise.
+	* lib/unictype/pr_sentence_terminal.h: Likewise.
+	* lib/unictype/pr_terminal_punctuation.h: Likewise.
+	* lib/unictype/pr_unassigned_code_value.h: Likewise.
+	* lib/unictype/pr_unified_ideograph.h: Likewise.
+	* lib/unictype/pr_uppercase.h: Likewise.
+	* lib/unictype/pr_xid_continue.h: Likewise.
+	* lib/unictype/pr_xid_start.h: Likewise.
+	* lib/unictype/pr_zero_width.h: Likewise.
+	* lib/unictype/scripts.h: Likewise.
+	* lib/unictype/scripts_byname.gperf: Likewise.
+	* lib/unictype/sy_java_ident.h: Likewise.
+	* lib/unigbrk/gbrkprop.h: Likewise.
+	* lib/unilbrk/lbrkprop1.h: Likewise.
+	* lib/unilbrk/lbrkprop2.h: Likewise.
+	* lib/unilbrk/lbrktables.h: Likewise.
+	* lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column for
+	LBP_CP. Implement rule LB30.
+	* lib/uniwidth/width.c (nonspacing_table_data): Add U+0816..U+0819,
+	U+081B..U+0823, U+0825..U+0827, U+0829..U+082D, U+0900, U+0955, U+109D,
+	U+1A56, U+1A58..U+1A5E, U+1A60, U+1A62, U+1A65..U+1A6C, U+1A73..U+1A7C,
+	U+1A7F, U+1CD0..U+1CD2, U+1CD4..U+1CE0, U+1CE2..U+1CE8, U+1CED, U+1DFD,
+	U+2CEF..U+2CF1, U+A6F0..U+A6F1, U+A8E0..U+A8F1, U+A980..U+A982, U+A9B3,
+	U+A9B6..U+A9B9, U+A9BC, U+AAB0, U+AAB2..U+AAB4, U+AAB7..U+AAB8,
+	U+AABE..U+AABF, U+AAC1, U+ABE5, U+ABE8, U+ABED, U+11080..U+11081,
+	U+110B3..U+110B6, U+110B9..U+110BA, U+110BD.
+	(uc_width): Return 2 also for unassigned code points of planes 2 and 3.
+	* lib/uninorm/composition-table.gperf: Regenerated for Unicode 5.2.0.
+	* lib/uninorm/composition.c (struct composition_rule): Allow for 24
+	bits instead of 16 bits in the code1 and code2 of each composition
+	rule.
+	(uc_composition): Update for Unicode 5.2.0.
+	* lib/uninorm/decomposition-table1.h: Regenerated for Unicode 5.2.0.
+	* lib/uninorm/decomposition-table2.h: Likewise.
+	* lib/uniwbrk/wbrkprop.h: Likewise.
+	* tests/unicase/test-cased.c: Likewise.
+	* tests/unicase/test-ignorable.c: Likewise.
+	* tests/unicase/test-uc_tolower.c: Likewise.
+	* tests/unicase/test-uc_totitle.c: Likewise.
+	* tests/unicase/test-uc_toupper.c: Likewise.
+	* tests/unictype/test-categ_C.c: Likewise.
+	* tests/unictype/test-categ_Cf.c: Likewise.
+	* tests/unictype/test-categ_Cn.c: Likewise.
+	* tests/unictype/test-categ_L.c: Likewise.
+	* tests/unictype/test-categ_Ll.c: Likewise.
+	* tests/unictype/test-categ_Lm.c: Likewise.
+	* tests/unictype/test-categ_Lo.c: Likewise.
+	* tests/unictype/test-categ_Lu.c: Likewise.
+	* tests/unictype/test-categ_M.c: Likewise.
+	* tests/unictype/test-categ_Mc.c: Likewise.
+	* tests/unictype/test-categ_Mn.c: Likewise.
+	* tests/unictype/test-categ_N.c: Likewise.
+	* tests/unictype/test-categ_Nd.c: Likewise.
+	* tests/unictype/test-categ_Nl.c: Likewise.
+	* tests/unictype/test-categ_No.c: Likewise.
+	* tests/unictype/test-categ_P.c: Likewise.
+	* tests/unictype/test-categ_Pd.c: Likewise.
+	* tests/unictype/test-categ_Po.c: Likewise.
+	* tests/unictype/test-categ_S.c: Likewise.
+	* tests/unictype/test-categ_Sc.c: Likewise.
+	* tests/unictype/test-categ_So.c: Likewise.
+	* tests/unictype/test-ctype_alnum.c: Likewise.
+	* tests/unictype/test-ctype_alpha.c: Likewise.
+	* tests/unictype/test-ctype_graph.c: Likewise.
+	* tests/unictype/test-ctype_lower.c: Likewise.
+	* tests/unictype/test-ctype_print.c: Likewise.
+	* tests/unictype/test-ctype_punct.c: Likewise.
+	* tests/unictype/test-ctype_upper.c: Likewise.
+	* tests/unictype/test-decdigit.h: Likewise.
+	* tests/unictype/test-digit.h: Likewise.
+	* tests/unictype/test-numeric.h: Likewise.
+	* tests/unictype/test-pr_alphabetic.c: Likewise.
+	* tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
+	* tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
+	* tests/unictype/test-pr_bidi_european_digit.c: Likewise.
+	* tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
+	* tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
+	* tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
+	* tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
+	* tests/unictype/test-pr_combining.c: Likewise.
+	* tests/unictype/test-pr_composite.c: Likewise.
+	* tests/unictype/test-pr_currency_symbol.c: Likewise.
+	* tests/unictype/test-pr_dash.c: Likewise.
+	* tests/unictype/test-pr_decimal_digit.c: Likewise.
+	* tests/unictype/test-pr_deprecated.c: Likewise.
+	* tests/unictype/test-pr_diacritic.c: Likewise.
+	* tests/unictype/test-pr_extender.c: Likewise.
+	* tests/unictype/test-pr_grapheme_base.c: Likewise.
+	* tests/unictype/test-pr_grapheme_extend.c: Likewise.
+	* tests/unictype/test-pr_grapheme_link.c: Likewise.
+	* tests/unictype/test-pr_id_continue.c: Likewise.
+	* tests/unictype/test-pr_id_start.c: Likewise.
+	* tests/unictype/test-pr_ideographic.c: Likewise.
+	* tests/unictype/test-pr_ignorable_control.c: Likewise.
+	* tests/unictype/test-pr_logical_order_exception.c: Likewise.
+	* tests/unictype/test-pr_lowercase.c: Likewise.
+	* tests/unictype/test-pr_numeric.c: Likewise.
+	* tests/unictype/test-pr_other_alphabetic.c: Likewise.
+	* tests/unictype/test-pr_punctuation.c: Likewise.
+	* tests/unictype/test-pr_sentence_terminal.c: Likewise.
+	* tests/unictype/test-pr_terminal_punctuation.c: Likewise.
+	* tests/unictype/test-pr_unassigned_code_value.c: Likewise.
+	* tests/unictype/test-pr_unified_ideograph.c: Likewise.
+	* tests/unictype/test-pr_uppercase.c: Likewise.
+	* tests/unictype/test-pr_xid_continue.c: Likewise.
+	* tests/unictype/test-pr_xid_start.c: Likewise.
+	* tests/unictype/test-pr_zero_width.c: Likewise.
+	* tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
+	* tests/unilbrk/test-u8-possible-linebreaks.c (main): Update for
+	changed behaviour: line breaking is now disallowed between a letter
+	or '=' and '('.
+	* tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
+	* tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
+	* tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
+	* tests/unilbrk/test-ulc-width-linebreaks.c (main): Likewise.
+	* tests/uniwidth/test-uc_width2.sh: Same updates as in
+	lib/uniwidth/width.c.
+	* tests/uninorm/NormalizationTest.txt: Update from Unicode 5.2.0,
+	without comments, but with the original copyright notice.
+	* lib/unicase/special-casing-table.gperf: Regenerated; only comment
+	changes.
+	* lib/unictype/categ_Cc.h: Likewise.
+	* lib/unictype/categ_Co.h: Likewise.
+	* lib/unictype/categ_Cs.h: Likewise.
+	* lib/unictype/categ_Lt.h: Likewise.
+	* lib/unictype/categ_Me.h: Likewise.
+	* lib/unictype/categ_Pc.h: Likewise.
+	* lib/unictype/categ_Pe.h: Likewise.
+	* lib/unictype/categ_Pf.h: Likewise.
+	* lib/unictype/categ_Pi.h: Likewise.
+	* lib/unictype/categ_Ps.h: Likewise.
+	* lib/unictype/categ_Sk.h: Likewise.
+	* lib/unictype/categ_Sm.h: Likewise.
+	* lib/unictype/categ_Z.h: Likewise.
+	* lib/unictype/categ_Zl.h: Likewise.
+	* lib/unictype/categ_Zp.h: Likewise.
+	* lib/unictype/categ_Zs.h: Likewise.
+	* lib/unictype/ctype_blank.h: Likewise.
+	* lib/unictype/ctype_cntrl.h: Likewise.
+	* lib/unictype/ctype_digit.h: Likewise.
+	* lib/unictype/ctype_space.h: Likewise.
+	* lib/unictype/ctype_xdigit.h: Likewise.
+	* lib/unictype/mirror.h: Likewise.
+	* lib/unictype/pr_ascii_hex_digit.h: Likewise.
+	* lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
+	* lib/unictype/pr_bidi_block_separator.h: Likewise.
+	* lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
+	* lib/unictype/pr_bidi_common_separator.h: Likewise.
+	* lib/unictype/pr_bidi_control.h: Likewise.
+	* lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
+	* lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
+	* lib/unictype/pr_bidi_pdf.h: Likewise.
+	* lib/unictype/pr_bidi_segment_separator.h: Likewise.
+	* lib/unictype/pr_bidi_whitespace.h: Likewise.
+	* lib/unictype/pr_default_ignorable_code_point.h: Likewise.
+	* lib/unictype/pr_format_control.h: Likewise.
+	* lib/unictype/pr_hex_digit.h: Likewise.
+	* lib/unictype/pr_hyphen.h: Likewise.
+	* lib/unictype/pr_ids_binary_operator.h: Likewise.
+	* lib/unictype/pr_ids_trinary_operator.h: Likewise.
+	* lib/unictype/pr_iso_control.h: Likewise.
+	* lib/unictype/pr_join_control.h: Likewise.
+	* lib/unictype/pr_left_of_pair.h: Likewise.
+	* lib/unictype/pr_line_separator.h: Likewise.
+	* lib/unictype/pr_math.h: Likewise.
+	* lib/unictype/pr_non_break.h: Likewise.
+	* lib/unictype/pr_not_a_character.h: Likewise.
+	* lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
+	* lib/unictype/pr_other_grapheme_extend.h: Likewise.
+	* lib/unictype/pr_other_id_continue.h: Likewise.
+	* lib/unictype/pr_other_id_start.h: Likewise.
+	* lib/unictype/pr_other_lowercase.h: Likewise.
+	* lib/unictype/pr_other_math.h: Likewise.
+	* lib/unictype/pr_other_uppercase.h: Likewise.
+	* lib/unictype/pr_paired_punctuation.h: Likewise.
+	* lib/unictype/pr_paragraph_separator.h: Likewise.
+	* lib/unictype/pr_pattern_syntax.h: Likewise.
+	* lib/unictype/pr_pattern_white_space.h: Likewise.
+	* lib/unictype/pr_private_use.h: Likewise.
+	* lib/unictype/pr_quotation_mark.h: Likewise.
+	* lib/unictype/pr_radical.h: Likewise.
+	* lib/unictype/pr_soft_dotted.h: Likewise.
+	* lib/unictype/pr_space.h: Likewise.
+	* lib/unictype/pr_titlecase.h: Likewise.
+	* lib/unictype/pr_variation_selector.h: Likewise.
+	* lib/unictype/pr_white_space.h: Likewise.
+	* lib/unictype/sy_c_ident.h: Likewise.
+	* lib/unictype/sy_c_whitespace.h: Likewise.
+	* lib/unictype/sy_java_whitespace.h: Likewise.
+	* modules/uni*/*: Bump version number of expected libunistring version.
+	Reported by Simon Josefsson.
+
 2011-01-09  Karl Heuer  <kwzh@gnu.org>
 
 	useless-if-before-free: fix typo in --help and make the internal,
--- a/lib/gen-uni-tables.c
+++ b/lib/gen-uni-tables.c
@@ -31,7 +31,7 @@
                       /usr/local/share/Unidata/CompositionExclusions.txt \
                       /usr/local/share/Unidata/SpecialCasing.txt \
                       /usr/local/share/Unidata/CaseFolding.txt \
-                      5.1.0
+                      5.2.0
  */
 
 #include <stdbool.h>
@@ -690,7 +690,7 @@
 
   fprintf (stream, "/* DO NOT EDIT! GENERATED AUTOMATICALLY! */\n");
   fprintf (stream, "/* %s of Unicode characters.  */\n", comment);
-  fprintf (stream, "/* Generated automatically by gen-ctype.c for Unicode %s.  */\n",
+  fprintf (stream, "/* Generated automatically by gen-uni-tables.c for Unicode %s.  */\n",
            version);
 
   t.p = 4; /* or: 5 */
@@ -994,7 +994,7 @@
 
   fprintf (stream, "/* DO NOT EDIT! GENERATED AUTOMATICALLY! */\n");
   fprintf (stream, "/* Categories of Unicode characters.  */\n");
-  fprintf (stream, "/* Generated automatically by gen-ctype.c for Unicode %s.  */\n",
+  fprintf (stream, "/* Generated automatically by gen-uni-tables.c for Unicode %s.  */\n",
            version);
 
   t.p = 7;
@@ -1158,7 +1158,7 @@
 
   fprintf (stream, "/* DO NOT EDIT! GENERATED AUTOMATICALLY! */\n");
   fprintf (stream, "/* Combining class of Unicode characters.  */\n");
-  fprintf (stream, "/* Generated automatically by gen-ctype.c for Unicode %s.  */\n",
+  fprintf (stream, "/* Generated automatically by gen-uni-tables.c for Unicode %s.  */\n",
            version);
 
   t.p = 7;
@@ -1498,7 +1498,7 @@
 
   fprintf (stream, "/* DO NOT EDIT! GENERATED AUTOMATICALLY! */\n");
   fprintf (stream, "/* Bidi categories of Unicode characters.  */\n");
-  fprintf (stream, "/* Generated automatically by gen-ctype.c for Unicode %s.  */\n",
+  fprintf (stream, "/* Generated automatically by gen-uni-tables.c for Unicode %s.  */\n",
            version);
 
   t.p = 7;
@@ -1655,7 +1655,7 @@
 
   fprintf (stream, "/* DO NOT EDIT! GENERATED AUTOMATICALLY! */\n");
   fprintf (stream, "/* Decimal digit values of Unicode characters.  */\n");
-  fprintf (stream, "/* Generated automatically by gen-ctype.c for Unicode %s.  */\n",
+  fprintf (stream, "/* Generated automatically by gen-uni-tables.c for Unicode %s.  */\n",
            version);
 
   need_comma = false;
@@ -1702,7 +1702,7 @@
 
   fprintf (stream, "/* DO NOT EDIT! GENERATED AUTOMATICALLY! */\n");
   fprintf (stream, "/* Decimal digit values of Unicode characters.  */\n");
-  fprintf (stream, "/* Generated automatically by gen-ctype.c for Unicode %s.  */\n",
+  fprintf (stream, "/* Generated automatically by gen-uni-tables.c for Unicode %s.  */\n",
            version);
 
   t.p = 7;
@@ -1842,7 +1842,7 @@
 
   fprintf (stream, "/* DO NOT EDIT! GENERATED AUTOMATICALLY! */\n");
   fprintf (stream, "/* Digit values of Unicode characters.  */\n");
-  fprintf (stream, "/* Generated automatically by gen-ctype.c for Unicode %s.  */\n",
+  fprintf (stream, "/* Generated automatically by gen-uni-tables.c for Unicode %s.  */\n",
            version);
 
   need_comma = false;
@@ -1889,7 +1889,7 @@
 
   fprintf (stream, "/* DO NOT EDIT! GENERATED AUTOMATICALLY! */\n");
   fprintf (stream, "/* Digit values of Unicode characters.  */\n");
-  fprintf (stream, "/* Generated automatically by gen-ctype.c for Unicode %s.  */\n",
+  fprintf (stream, "/* Generated automatically by gen-uni-tables.c for Unicode %s.  */\n",
            version);
 
   t.p = 7;
@@ -2046,7 +2046,7 @@
 
   fprintf (stream, "/* DO NOT EDIT! GENERATED AUTOMATICALLY! */\n");
   fprintf (stream, "/* Numeric values of Unicode characters.  */\n");
-  fprintf (stream, "/* Generated automatically by gen-ctype.c for Unicode %s.  */\n",
+  fprintf (stream, "/* Generated automatically by gen-uni-tables.c for Unicode %s.  */\n",
            version);
 
   need_comma = false;
@@ -2102,7 +2102,7 @@
 
   fprintf (stream, "/* DO NOT EDIT! GENERATED AUTOMATICALLY! */\n");
   fprintf (stream, "/* Numeric values of Unicode characters.  */\n");
-  fprintf (stream, "/* Generated automatically by gen-ctype.c for Unicode %s.  */\n",
+  fprintf (stream, "/* Generated automatically by gen-uni-tables.c for Unicode %s.  */\n",
            version);
 
   /* Create table of occurring fractions.  */
@@ -2387,7 +2387,7 @@
 
   fprintf (stream, "/* DO NOT EDIT! GENERATED AUTOMATICALLY! */\n");
   fprintf (stream, "/* Mirrored Unicode characters.  */\n");
-  fprintf (stream, "/* Generated automatically by gen-ctype.c for Unicode %s.  */\n",
+  fprintf (stream, "/* Generated automatically by gen-uni-tables.c for Unicode %s.  */\n",
            version);
 
   t.p = 7;
@@ -2491,6 +2491,24 @@
 
 /* ========================================================================= */
 
+/* Particular values of the word break property.  */
+
+static bool
+is_WBP_MIDNUMLET (unsigned int ch)
+{
+  return (ch == 0x0027 || ch == 0x002E || ch == 0x2018 || ch == 0x2019
+          || ch == 0x2024 || ch == 0xFE52 || ch == 0xFF07 || ch == 0xFF0E);
+}
+
+static bool
+is_WBP_MIDLETTER (unsigned int ch)
+{
+  return (ch == 0x00B7 || ch == 0x05F4 || ch == 0x2027 || ch == 0x003A
+          || ch == 0x0387 || ch == 0xFE13 || ch == 0xFE55 || ch == 0xFF1A);
+}
+
+/* ========================================================================= */
+
 /* Properties.  */
 
 /* Reading PropList.txt and DerivedCoreProperties.txt.  */
@@ -2534,6 +2552,13 @@
   PROP_ALPHABETIC,
   PROP_LOWERCASE,
   PROP_UPPERCASE,
+  PROP_CASED,
+  PROP_CASE_IGNORABLE,
+  PROP_CHANGES_WHEN_LOWERCASED,
+  PROP_CHANGES_WHEN_UPPERCASED,
+  PROP_CHANGES_WHEN_TITLECASED,
+  PROP_CHANGES_WHEN_CASEFOLDED,
+  PROP_CHANGES_WHEN_CASEMAPPED,
   PROP_ID_START,
   PROP_ID_CONTINUE,
   PROP_XID_START,
@@ -2632,6 +2657,13 @@
       PROP ("Alphabetic", PROP_ALPHABETIC)
       PROP ("Lowercase", PROP_LOWERCASE)
       PROP ("Uppercase", PROP_UPPERCASE)
+      PROP ("Cased", PROP_CASED)
+      PROP ("Case_Ignorable", PROP_CASE_IGNORABLE)
+      PROP ("Changes_When_Lowercased", PROP_CHANGES_WHEN_LOWERCASED)
+      PROP ("Changes_When_Uppercased", PROP_CHANGES_WHEN_UPPERCASED)
+      PROP ("Changes_When_Titlecased", PROP_CHANGES_WHEN_TITLECASED)
+      PROP ("Changes_When_Casefolded", PROP_CHANGES_WHEN_CASEFOLDED)
+      PROP ("Changes_When_Casemapped", PROP_CHANGES_WHEN_CASEMAPPED)
       PROP ("ID_Start", PROP_ID_START)
       PROP ("ID_Continue", PROP_ID_CONTINUE)
       PROP ("XID_Start", PROP_XID_START)
@@ -2777,6 +2809,7 @@
     || (ch == 0x3007) /* IDEOGRAPHIC NUMBER ZERO */
     || (ch >= 0x3021 && ch <= 0x3029) /* HANGZHOU NUMERAL */
     || (ch >= 0x3038 && ch <= 0x303A) /* HANGZHOU NUMERAL */
+    || (ch >= 0xA6E6 && ch <= 0xA6EF) /* BAMUM LETTERS */
     || (ch >= 0x10140 && ch <= 0x10174) /* GREEK ACROPHONICS */
     || (ch == 0x10341) /* GOTHIC LETTER NINETY */
     || (ch == 0x1034A) /* GOTHIC LETTER NINE HUNDRED */
@@ -2812,7 +2845,10 @@
   bool result1 =
     (is_category_Cf (ch)
      && !(ch >= 0xFFF9 && ch <= 0xFFFB) /* Annotations */
-     && !((ch >= 0x0600 && ch <= 0x0603) || ch == 0x06DD || ch == 0x070F))
+     && !((ch >= 0x0600 && ch <= 0x0603) || ch == 0x06DD || ch == 0x070F)
+     /* For some reason, the following are not listed as having property
+        Default_Ignorable_Code_Point.  */
+     && !(ch == 0x110BD))
     || ((unicode_properties[ch] & (1ULL << PROP_OTHER_DEFAULT_IGNORABLE_CODE_POINT)) != 0)
     || ((unicode_properties[ch] & (1ULL << PROP_VARIATION_SELECTOR)) != 0);
   bool result2 =
@@ -2921,6 +2957,79 @@
   return is_category_Lt (ch);
 }
 
+/* See DerivedCoreProperties.txt.  */
+static bool
+is_property_cased (unsigned int ch)
+{
+  bool result1 = (is_property_lowercase (ch)
+                  || is_property_uppercase (ch)
+                  || is_category_Lt (ch));
+  bool result2 = ((unicode_properties[ch] & (1ULL << PROP_CASED)) != 0);
+
+  if (result1 != result2)
+    abort ();
+  return result1;
+}
+
+/* See DerivedCoreProperties.txt.  */
+static bool
+is_property_case_ignorable (unsigned int ch)
+{
+  bool result1 = (is_WBP_MIDLETTER (ch) || is_WBP_MIDNUMLET (ch)
+                  || is_category_Mn (ch)
+                  || is_category_Me (ch)
+                  || is_category_Cf (ch)
+                  || is_category_Lm (ch)
+                  || is_category_Sk (ch));
+  bool result2 = ((unicode_properties[ch] & (1ULL << PROP_CASE_IGNORABLE)) != 0);
+
+  if (result1 != result2)
+    abort ();
+  return result1;
+}
+
+/* See DerivedCoreProperties.txt.  */
+static bool
+is_property_changes_when_lowercased (unsigned int ch)
+{
+  bool result1 = ((unicode_properties[ch] & (1ULL << PROP_CHANGES_WHEN_LOWERCASED)) != 0);
+  bool result2 = (unicode_attributes[ch].name != NULL
+                  && unicode_attributes[ch].lower != NONE
+                  && unicode_attributes[ch].lower != ch);
+
+  if (result1 != result2)
+    abort ();
+  return result1;
+}
+
+/* See DerivedCoreProperties.txt.  */
+static bool
+is_property_changes_when_uppercased (unsigned int ch)
+{
+  return ((unicode_properties[ch] & (1ULL << PROP_CHANGES_WHEN_UPPERCASED)) != 0);
+}
+
+/* See DerivedCoreProperties.txt.  */
+static bool
+is_property_changes_when_titlecased (unsigned int ch)
+{
+  return ((unicode_properties[ch] & (1ULL << PROP_CHANGES_WHEN_TITLECASED)) != 0);
+}
+
+/* See DerivedCoreProperties.txt.  */
+static bool
+is_property_changes_when_casefolded (unsigned int ch)
+{
+  return ((unicode_properties[ch] & (1ULL << PROP_CHANGES_WHEN_CASEFOLDED)) != 0);
+}
+
+/* See DerivedCoreProperties.txt.  */
+static bool
+is_property_changes_when_casemapped (unsigned int ch)
+{
+  return ((unicode_properties[ch] & (1ULL << PROP_CHANGES_WHEN_CASEMAPPED)) != 0);
+}
+
 /* See PropList.txt, UCD.html.  */
 static bool
 is_property_soft_dotted (unsigned int ch)
@@ -3467,6 +3576,13 @@
   PROPERTY(lowercase)
   PROPERTY(other_lowercase)
   PROPERTY(titlecase)
+  PROPERTY(cased)
+  PROPERTY(case_ignorable)
+  PROPERTY(changes_when_lowercased)
+  PROPERTY(changes_when_uppercased)
+  PROPERTY(changes_when_titlecased)
+  PROPERTY(changes_when_casefolded)
+  PROPERTY(changes_when_casemapped)
   PROPERTY(soft_dotted)
   PROPERTY(id_start)
   PROPERTY(other_id_start)
@@ -3648,7 +3764,7 @@
 
   fprintf (stream, "/* DO NOT EDIT! GENERATED AUTOMATICALLY! */\n");
   fprintf (stream, "/* Unicode scripts.  */\n");
-  fprintf (stream, "/* Generated automatically by gen-ctype.c for Unicode %s.  */\n",
+  fprintf (stream, "/* Generated automatically by gen-uni-tables.c for Unicode %s.  */\n",
            version);
 
   for (s = 0; s < numscripts; s++)
@@ -3825,7 +3941,7 @@
 
   fprintf (stream, "/* DO NOT EDIT! GENERATED AUTOMATICALLY! */\n");
   fprintf (stream, "/* Unicode scripts.  */\n");
-  fprintf (stream, "/* Generated automatically by gen-ctype.c for Unicode %s.  */\n",
+  fprintf (stream, "/* Generated automatically by gen-uni-tables.c for Unicode %s.  */\n",
            version);
   fprintf (stream, "struct named_script { const char *name; unsigned int index; };\n");
   fprintf (stream, "%%struct-type\n");
@@ -3965,7 +4081,7 @@
 
   fprintf (stream, "/* DO NOT EDIT! GENERATED AUTOMATICALLY! */\n");
   fprintf (stream, "/* Unicode blocks.  */\n");
-  fprintf (stream, "/* Generated automatically by gen-ctype.c for Unicode %s.  */\n",
+  fprintf (stream, "/* Generated automatically by gen-uni-tables.c for Unicode %s.  */\n",
            version);
 
   fprintf (stream, "static const uc_block_t blocks[] =\n");
@@ -4382,7 +4498,7 @@
 
   fprintf (stream, "/* DO NOT EDIT! GENERATED AUTOMATICALLY! */\n");
   fprintf (stream, "/* Language syntax properties of Unicode characters.  */\n");
-  fprintf (stream, "/* Generated automatically by gen-ctype.c for Unicode %s.  */\n",
+  fprintf (stream, "/* Generated automatically by gen-uni-tables.c for Unicode %s.  */\n",
            version);
 
   t.p = 7; /* or 8 */
@@ -5277,9 +5393,13 @@
   if (is_property_unassigned_code_value (ch))
     {
       /* Unicode TR#11 section "Unassigned and Private-Use Characters".  */
-      if (ch >= 0xE000 && ch <= 0xF8FF)
+      if (ch >= 0xE000 && ch <= 0xF8FF) /* Private Use */
         return 'A';
-      if ((ch >= 0x20000 && ch <= 0x2FFFD) || (ch >= 0x30000 && ch <= 0x3FFFD))
+      if ((ch >= 0x4E00 && ch <= 0x9FFF) /* CJK Unified Ideographs block */
+          || (ch >= 0x3400 && ch <= 0x4DBF) /* CJK Unified Ideographs Extension A block */
+          || (ch >= 0xF900 && ch <= 0xFAFF) /* CJK Compatibility Ideographs block */
+          || (ch >= 0x20000 && ch <= 0x2FFFD) /* Supplementary Ideographic Plane */
+          || (ch >= 0x30000 && ch <= 0x3FFFD) /* Tertiary Ideographic Plane */)
         return '2';
       return 0;
     }
@@ -5365,47 +5485,49 @@
 
 /* ========================================================================= */
 
-/* Line breaking classification.  */
+/* Line breaking classification.
+   Updated for Unicode TR #14 revision 24.  */
 
 enum
 {
-  /* Values >= 24 are resolved at run time. */
-  LBP_BK = 24, /* mandatory break */
+  /* Values >= 25 are resolved at run time. */
+  LBP_BK = 25, /* mandatory break */
 /*LBP_CR,         carriage return - not used here because it's a DOSism */
 /*LBP_LF,         line feed - not used here because it's a DOSism */
-  LBP_CM = 25, /* attached characters and combining marks */
+  LBP_CM = 26, /* attached characters and combining marks */
 /*LBP_NL,         next line - not used here because it's equivalent to LBP_BK */
 /*LBP_SG,         surrogates - not used here because they are not characters */
   LBP_WJ =  0, /* word joiner */
-  LBP_ZW = 26, /* zero width space */
+  LBP_ZW = 27, /* zero width space */
   LBP_GL =  1, /* non-breaking (glue) */
-  LBP_SP = 27, /* space */
+  LBP_SP = 28, /* space */
   LBP_B2 =  2, /* break opportunity before and after */
   LBP_BA =  3, /* break opportunity after */
   LBP_BB =  4, /* break opportunity before */
   LBP_HY =  5, /* hyphen */
-  LBP_CB = 28, /* contingent break opportunity */
+  LBP_CB = 29, /* contingent break opportunity */
   LBP_CL =  6, /* closing punctuation */
-  LBP_EX =  7, /* exclamation/interrogation */
-  LBP_IN =  8, /* inseparable */
-  LBP_NS =  9, /* non starter */
-  LBP_OP = 10, /* opening punctuation */
-  LBP_QU = 11, /* ambiguous quotation */
-  LBP_IS = 12, /* infix separator (numeric) */
-  LBP_NU = 13, /* numeric */
-  LBP_PO = 14, /* postfix (numeric) */
-  LBP_PR = 15, /* prefix (numeric) */
-  LBP_SY = 16, /* symbols allowing breaks */
-  LBP_AI = 29, /* ambiguous (alphabetic or ideograph) */
-  LBP_AL = 17, /* ordinary alphabetic and symbol characters */
-  LBP_H2 = 18, /* Hangul LV syllable */
-  LBP_H3 = 19, /* Hangul LVT syllable */
-  LBP_ID = 20, /* ideographic */
-  LBP_JL = 21, /* Hangul L Jamo */
-  LBP_JV = 22, /* Hangul V Jamo */
-  LBP_JT = 23, /* Hangul T Jamo */
-  LBP_SA = 30, /* complex context (South East Asian) */
-  LBP_XX = 31  /* unknown */
+  LBP_CP =  7, /* closing parenthesis */
+  LBP_EX =  8, /* exclamation/interrogation */
+  LBP_IN =  9, /* inseparable */
+  LBP_NS = 10, /* non starter */
+  LBP_OP = 11, /* opening punctuation */
+  LBP_QU = 12, /* ambiguous quotation */
+  LBP_IS = 13, /* infix separator (numeric) */
+  LBP_NU = 14, /* numeric */
+  LBP_PO = 15, /* postfix (numeric) */
+  LBP_PR = 16, /* prefix (numeric) */
+  LBP_SY = 17, /* symbols allowing breaks */
+  LBP_AI = 30, /* ambiguous (alphabetic or ideograph) */
+  LBP_AL = 18, /* ordinary alphabetic and symbol characters */
+  LBP_H2 = 19, /* Hangul LV syllable */
+  LBP_H3 = 20, /* Hangul LVT syllable */
+  LBP_ID = 21, /* ideographic */
+  LBP_JL = 22, /* Hangul L Jamo */
+  LBP_JV = 23, /* Hangul V Jamo */
+  LBP_JT = 24, /* Hangul T Jamo */
+  LBP_SA = 31, /* complex context (South East Asian) */
+  LBP_XX = 32  /* unknown */
 };
 
 /* Returns the line breaking classification for ch, as a bit mask.  */
@@ -5454,7 +5576,8 @@
         attr |= (int64_t) 1 << LBP_B2;
 
       /* break opportunity after */
-      if (ch == 0x1680 /* OGHAM SPACE MARK */
+      if (/* Breaking Spaces */
+          ch == 0x1680 /* OGHAM SPACE MARK */
           || ch == 0x2000 /* EN QUAD */
           || ch == 0x2001 /* EM QUAD */
           || ch == 0x2002 /* EN SPACE */
@@ -5466,12 +5589,17 @@
           || ch == 0x2009 /* THIN SPACE */
           || ch == 0x200A /* HAIR SPACE */
           || ch == 0x205F /* MEDIUM MATHEMATICAL SPACE */
+          /* Tabs */
           || ch == 0x0009 /* tab */
+          /* Conditional Hyphens */
           || ch == 0x00AD /* SOFT HYPHEN */
+          /* Breaking Hyphens */
           || ch == 0x058A /* ARMENIAN HYPHEN */
+          || ch == 0x1400 /* CANADIAN SYLLABICS HYPHEN */
           || ch == 0x2010 /* HYPHEN */
           || ch == 0x2012 /* FIGURE DASH */
           || ch == 0x2013 /* EN DASH */
+          /* Visible Word Dividers */
           || ch == 0x05BE /* HEBREW PUNCTUATION MAQAF */
           || ch == 0x0F0B /* TIBETAN MARK INTERSYLLABIC TSHEG */
           || ch == 0x1361 /* ETHIOPIC WORDSPACE */
@@ -5479,6 +5607,7 @@
           || ch == 0x17DA /* KHMER SIGN KOOMUUT */
           || ch == 0x2027 /* HYPHENATION POINT */
           || ch == 0x007C /* VERTICAL LINE */
+          /* Historic Word Separators */
           || ch == 0x16EB /* RUNIC SINGLE PUNCTUATION */
           || ch == 0x16EC /* RUNIC MULTIPLE PUNCTUATION */
           || ch == 0x16ED /* RUNIC CROSS PUNCTUATION */
@@ -5495,6 +5624,7 @@
           || ch == 0x2E2C /* SQUARED FOUR DOT PUNCTUATION */
           || ch == 0x2E2D /* FIVE DOT PUNCTUATION */
           || ch == 0x2E30 /* RING POINT */
+          || ch == 0x2E31 /* WORD SEPARATOR MIDDLE DOT */
           || ch == 0x10100 /* AEGEAN WORD SEPARATOR LINE */
           || ch == 0x10101 /* AEGEAN WORD SEPARATOR DOT */
           || ch == 0x10102 /* AEGEAN CHECK MARK */
@@ -5502,6 +5632,7 @@
           || ch == 0x103D0 /* OLD PERSIAN WORD DIVIDER */
           || ch == 0x1091F /* PHOENICIAN WORD SEPARATOR */
           || ch == 0x12470 /* CUNEIFORM PUNCTUATION SIGN OLD ASSYRIAN WORD DIVIDER */
+          /* Dandas */
           || ch == 0x0964 /* DEVANAGARI DANDA */
           || ch == 0x0965 /* DEVANAGARI DOUBLE DANDA */
           || ch == 0x0E5A /* THAI CHARACTER ANGKHANKHU */
@@ -5521,17 +5652,18 @@
           || ch == 0xAA5F /* CHAM PUNCTUATION TRIPLE DANDA */
           || ch == 0x10A56 /* KHAROSHTHI PUNCTUATION DANDA */
           || ch == 0x10A57 /* KHAROSHTHI PUNCTUATION DOUBLE DANDA */
+          /* Tibetan */
           || ch == 0x0F34 /* TIBETAN MARK BSDUS RTAGS */
           || ch == 0x0F7F /* TIBETAN SIGN RNAM BCAD */
           || ch == 0x0F85 /* TIBETAN MARK PALUTA */
           || ch == 0x0FBE /* TIBETAN KU RU KHA */
           || ch == 0x0FBF /* TIBETAN KU RU KHA BZHI MIG CAN */
           || ch == 0x0FD2 /* TIBETAN MARK NYIS TSHEG */
+          /* Other Terminating Punctuation */
           || ch == 0x1804 /* MONGOLIAN COLON */
           || ch == 0x1805 /* MONGOLIAN FOUR DOTS */
           || ch == 0x1B5A /* BALINESE PANTI */
           || ch == 0x1B5B /* BALINESE PAMADA */
-          || ch == 0x1B5C /* BALINESE WINDU */
           || ch == 0x1B5D /* BALINESE CARIK PAMUNGKAH */
           || ch == 0x1B60 /* BALINESE PAMENENG */
           || ch == 0x1C3B /* LEPCHA PUNCTUATION TA-ROL */
@@ -5558,6 +5690,29 @@
           || ch == 0x10A54 /* KHAROSHTHI PUNCTUATION MANGALAM */
           || ch == 0x10A55 /* KHAROSHTHI PUNCTUATION LOTUS */
           /* Extra characters for compatibility with Unicode LineBreak.txt.  */
+          || ch == 0xA4FE /* LISU PUNCTUATION COMMA */
+          || ch == 0xA4FF /* LISU PUNCTUATION FULL STOP */
+          || ch == 0xA6F3 /* BAMUM FULL STOP */
+          || ch == 0xA6F4 /* BAMUM COLON */
+          || ch == 0xA6F5 /* BAMUM COMMA */
+          || ch == 0xA6F6 /* BAMUM SEMICOLON */
+          || ch == 0xA6F7 /* BAMUM QUESTION MARK */
+          || ch == 0xA9C7 /* JAVANESE PADA PANGKAT */
+          || ch == 0xA9C8 /* JAVANESE PADA LINGSA */
+          || ch == 0xA9C9 /* JAVANESE PADA LUNGSI */
+          || ch == 0xABEB /* MEETEI MAYEK CHEIKHEI */
+          || ch == 0x10857 /* IMPERIAL ARAMAIC SECTION SIGN */
+          || ch == 0x10B39 /* AVESTAN ABBREVIATION MARK */
+          || ch == 0x10B3A /* TINY TWO DOTS OVER ONE DOT PUNCTUATION */
+          || ch == 0x10B3B /* SMALL TWO DOTS OVER ONE DOT PUNCTUATION */
+          || ch == 0x10B3C /* LARGE TWO DOTS OVER ONE DOT PUNCTUATION */
+          || ch == 0x10B3D /* LARGE ONE DOT OVER TWO DOTS PUNCTUATION */
+          || ch == 0x10B3E /* LARGE TWO RINGS OVER ONE RING PUNCTUATION */
+          || ch == 0x10B3F /* LARGE ONE RING OVER TWO RINGS PUNCTUATION */
+          || ch == 0x110BE /* KAITHI SECTION MARK */
+          || ch == 0x110BF /* KAITHI DOUBLE SECTION MARK */
+          || ch == 0x110C0 /* KAITHI DANDA */
+          || ch == 0x110C1 /* KAITHI DOUBLE DANDA */
           || ch == 0x12471 /* CUNEIFORM PUNCTUATION SIGN VERTICAL COLON */
           || ch == 0x12472 /* CUNEIFORM PUNCTUATION SIGN DIAGONAL COLON */
           || ch == 0x12473 /* CUNEIFORM PUNCTUATION SIGN DIAGONAL TRICOLON */)
@@ -5593,9 +5748,15 @@
       if (ch == 0xFFFC /* OBJECT REPLACEMENT CHARACTER */)
         attr |= (int64_t) 1 << LBP_CB;
 
+      /* closing parenthesis */
+      if (ch == 0x0029 /* RIGHT PARENTHESIS */
+          || ch == 0x005D /* RIGHT SQUARE BRACKET */)
+        attr |= (int64_t) 1 << LBP_CP;
+
       /* closing punctuation */
       if ((unicode_attributes[ch].category[0] == 'P'
-           && unicode_attributes[ch].category[1] == 'e')
+           && unicode_attributes[ch].category[1] == 'e'
+           && !(attr & ((int64_t) 1 << LBP_CP)))
           || ch == 0x3001 /* IDEOGRAPHIC COMMA */
           || ch == 0x3002 /* IDEOGRAPHIC FULL STOP */
           || ch == 0xFE11 /* PRESENTATION FORM FOR VERTICAL IDEOGRAPHIC COMMA */
@@ -5605,7 +5766,16 @@
           || ch == 0xFF0C /* FULLWIDTH COMMA */
           || ch == 0xFF0E /* FULLWIDTH FULL STOP */
           || ch == 0xFF61 /* HALFWIDTH IDEOGRAPHIC FULL STOP */
-          || ch == 0xFF64 /* HALFWIDTH IDEOGRAPHIC COMMA */)
+          || ch == 0xFF64 /* HALFWIDTH IDEOGRAPHIC COMMA */
+          /* Extra characters for compatibility with Unicode LineBreak.txt.  */
+          || ch == 0x1325B /* EGYPTIAN HIEROGLYPH O006D */
+          || ch == 0x1325C /* EGYPTIAN HIEROGLYPH O006E */
+          || ch == 0x1325D /* EGYPTIAN HIEROGLYPH O006F */
+          || ch == 0x13282 /* EGYPTIAN HIEROGLYPH O033A */
+          || ch == 0x13287 /* EGYPTIAN HIEROGLYPH O036B */
+          || ch == 0x13289 /* EGYPTIAN HIEROGLYPH O036D */
+          || ch == 0x1337A /* EGYPTIAN HIEROGLYPH V011B */
+          || ch == 0x1337B /* EGYPTIAN HIEROGLYPH V011C */)
         attr |= (int64_t) 1 << LBP_CL;
 
       /* exclamation/interrogation */
@@ -5690,7 +5860,14 @@
            && unicode_attributes[ch].category[1] == 's')
           || ch == 0x00A1 /* INVERTED EXCLAMATION MARK */
           || ch == 0x00BF /* INVERTED QUESTION MARK */
-          || ch == 0x2E18 /* INVERTED INTERROBANG */)
+          || ch == 0x2E18 /* INVERTED INTERROBANG */
+          /* Extra characters for compatibility with Unicode LineBreak.txt.  */
+          || ch == 0x13258 /* EGYPTIAN HIEROGLYPH O006A */
+          || ch == 0x13259 /* EGYPTIAN HIEROGLYPH O006B */
+          || ch == 0x1325A /* EGYPTIAN HIEROGLYPH O006C */
+          || ch == 0x13286 /* EGYPTIAN HIEROGLYPH O036A */
+          || ch == 0x13288 /* EGYPTIAN HIEROGLYPH O036C */
+          || ch == 0x13379 /* EGYPTIAN HIEROGLYPH V011A */)
         attr |= (int64_t) 1 << LBP_OP;
 
       /* ambiguous quotation */
@@ -5759,7 +5936,12 @@
           /* Extra characters for compatibility with Unicode LineBreak.txt.  */
           || ch == 0x0609 /* ARABIC-INDIC PER MILLE SIGN */
           || ch == 0x060A /* ARABIC-INDIC PER TEN THOUSAND SIGN */
-          || ch == 0x0D79 /* MALAYALAM DATE MARK */)
+          || ch == 0x09F2 /* BENGALI RUPEE MARK */
+          || ch == 0x09F3 /* BENGALI RUPEE SIGN */
+          || ch == 0x09F9 /* BENGALI CURRENCY DENOMINATOR SIXTEEN */
+          || ch == 0x0D79 /* MALAYALAM DATE MARK */
+          || ch == 0x20B6 /* LIVRE TOURNOIS SIGN */
+          || ch == 0xA838 /* NORTH INDIC RUPEE MARK */)
         attr |= (int64_t) 1 << LBP_PO;
 
       /* prefix (numeric) */
@@ -5784,13 +5966,13 @@
       if (ch >= 0xAC00 && ch <= 0xD7A3 && ((ch - 0xAC00) % 28) != 0)
         attr |= (int64_t) 1 << LBP_H3;
 
-      if ((ch >= 0x1100 && ch <= 0x1159) || ch == 0x115F)
+      if ((ch >= 0x1100 && ch <= 0x115F) || (ch >= 0xA960 && ch <= 0xA97C))
         attr |= (int64_t) 1 << LBP_JL;
 
-      if (ch >= 0x1160 && ch <= 0x11A2)
+      if ((ch >= 0x1160 && ch <= 0x11A7) || (ch >= 0xD7B0 && ch <= 0xD7C6))
         attr |= (int64_t) 1 << LBP_JV;
 
-      if (ch >= 0x11A8 && ch <= 0x11F9)
+      if ((ch >= 0x11A8 && ch <= 0x11FF) || (ch >= 0xD7CB && ch <= 0xD7FB))
         attr |= (int64_t) 1 << LBP_JT;
 
       /* complex context (South East Asian) */
@@ -5801,16 +5983,22 @@
                    || unicode_attributes[ch].category[1] == 'o'))
            || (unicode_attributes[ch].category[0] == 'M'
                && (unicode_attributes[ch].category[1] == 'c'
-                   || unicode_attributes[ch].category[1] == 'n'))
+                   || unicode_attributes[ch].category[1] == 'n')
+               && ch != 0x1A7F /* TAI THAM COMBINING CRYPTOGRAMMIC DOT */)
            /* Extra characters for compatibility with Unicode LineBreak.txt.  */
            || ch == 0x109E /* MYANMAR SYMBOL SHAN ONE */
            || ch == 0x109F /* MYANMAR SYMBOL SHAN EXCLAMATION */
            || ch == 0x19DE /* NEW TAI LUE SIGN LAE */
-           || ch == 0x19DF /* NEW TAI LUE SIGN LAEV */)
-          && ((ch >= 0x0E00 && ch <= 0x0EFF)
-              || (ch >= 0x1000 && ch <= 0x109F)
-              || (ch >= 0x1780 && ch <= 0x17FF)
-              || (ch >= 0x1950 && ch <= 0x19DF)))
+           || ch == 0x19DF /* NEW TAI LUE SIGN LAEV */
+           || (ch >= 0x1AA0 && ch <= 0x1AAD) /* TAI THAM SIGN */
+           || (ch >= 0xAA77 && ch <= 0xAA79) /* MYANMAR SYMBOL AITON */
+           || (ch >= 0xAADE && ch <= 0xAADF) /* TAI VIET SYMBOL */)
+          && ((ch >= 0x0E00 && ch <= 0x0EFF) /* Thai, Lao */
+              || (ch >= 0x1000 && ch <= 0x109F) /* Myanmar */
+              || (ch >= 0x1780 && ch <= 0x17FF) /* Khmer */
+              || (ch >= 0x1950 && ch <= 0x19DF) /* Tai Le, New Tai Lue */
+              || (ch >= 0x1A20 && ch <= 0x1AAF) /* Tai Tham */
+              || (ch >= 0xAA60 && ch <= 0xAADF) /* Myanmar Extended-A, Tai Viet */))
         attr |= (int64_t) 1 << LBP_SA;
 
       /* attached characters and combining marks */
@@ -5820,7 +6008,8 @@
                || unicode_attributes[ch].category[1] == 'n'))
           || (unicode_attributes[ch].category[0] == 'C'
               && (unicode_attributes[ch].category[1] == 'c'
-                  || unicode_attributes[ch].category[1] == 'f')))
+                  || unicode_attributes[ch].category[1] == 'f')
+              && ch != 0x110BD /* KAITHI NUMBER SIGN */))
         if (!(attr & (((int64_t) 1 << LBP_BK) | ((int64_t) 1 << LBP_BA) | ((int64_t) 1 << LBP_GL) | ((int64_t) 1 << LBP_SA) | ((int64_t) 1 << LBP_WJ) | ((int64_t) 1 << LBP_ZW))))
           attr |= (int64_t) 1 << LBP_CM;
 
@@ -5829,8 +6018,8 @@
           || ch == 0x3000 /* IDEOGRAPHIC SPACE */
           || (ch >= 0x3040 && ch <= 0x309F) /* HIRAGANA */
           || (ch >= 0x30A0 && ch <= 0x30FF) /* KATAKANA */
-          || (ch >= 0x3400 && ch <= 0x4DB5) /* CJK Ideograph Extension A */
-          || (ch >= 0x4E00 && ch <= 0x9FC3) /* CJK Ideograph */
+          || (ch >= 0x3400 && ch <= 0x4DBF) /* CJK Ideograph Extension A */
+          || (ch >= 0x4E00 && ch <= 0x9FFF) /* CJK Ideograph */
           || (ch >= 0xF900 && ch <= 0xFAD9) /* CJK COMPATIBILITY IDEOGRAPH */
           || (ch >= 0xA000 && ch <= 0xA48F) /* YI SYLLABLE */
           || (ch >= 0xA490 && ch <= 0xA4CF) /* YI RADICAL */
@@ -5844,7 +6033,7 @@
           || (ch >= 0x2F800 && ch <= 0x2FA1D) /* CJK COMPATIBILITY IDEOGRAPH */
           || strstr (unicode_attributes[ch].name, "FULLWIDTH LATIN ") != NULL
           || (ch >= 0x3000 && ch <= 0x33FF
-              && !(attr & (((int64_t) 1 << LBP_CM) | ((int64_t) 1 << LBP_NS) | ((int64_t) 1 << LBP_OP) | ((int64_t) 1 << LBP_CL))))
+              && !(attr & (((int64_t) 1 << LBP_CM) | ((int64_t) 1 << LBP_NS) | ((int64_t) 1 << LBP_OP) | ((int64_t) 1 << LBP_CL) | ((int64_t) 1 << LBP_CP))))
           /* Extra characters for compatibility with Unicode LineBreak.txt.  */
           || ch == 0xFE30 /* PRESENTATION FORM FOR VERTICAL TWO DOT LEADER */
           || ch == 0xFE31 /* PRESENTATION FORM FOR VERTICAL EM DASH */
@@ -5887,7 +6076,10 @@
           || ch == 0xFF5E /* FULLWIDTH TILDE */
           || ch == 0xFFE2 /* FULLWIDTH NOT SIGN */
           || ch == 0xFFE3 /* FULLWIDTH MACRON */
-          || ch == 0xFFE4 /* FULLWIDTH BROKEN BAR */)
+          || ch == 0xFFE4 /* FULLWIDTH BROKEN BAR */
+          /* Extra characters for compatibility with Unicode LineBreak.txt.  */
+          || (ch >= 0x1F200 && ch <= 0x1F248) /* Enclosed Ideographic Supplement */
+          || (ch >= 0x2A700 && ch <= 0x2B734) /* CJK Ideograph Extension C */)
         if (!(attr & (((int64_t) 1 << LBP_NS) | ((int64_t) 1 << LBP_CM))))
           {
             /* ambiguous (ideograph) ? */
@@ -5928,8 +6120,10 @@
           || ch == 0x2061 /* FUNCTION APPLICATION */
           || ch == 0x2062 /* INVISIBLE TIMES */
           || ch == 0x2063 /* INVISIBLE SEPARATOR */
-          || ch == 0x2064 /* INVISIBLE PLUS */)
-        if (!(attr & (((int64_t) 1 << LBP_GL) | ((int64_t) 1 << LBP_B2) | ((int64_t) 1 << LBP_BA) | ((int64_t) 1 << LBP_BB) | ((int64_t) 1 << LBP_HY) | ((int64_t) 1 << LBP_CB) | ((int64_t) 1 << LBP_CL) | ((int64_t) 1 << LBP_EX) | ((int64_t) 1 << LBP_IN) | ((int64_t) 1 << LBP_NS) | ((int64_t) 1 << LBP_OP) | ((int64_t) 1 << LBP_QU) | ((int64_t) 1 << LBP_IS) | ((int64_t) 1 << LBP_NU) | ((int64_t) 1 << LBP_PO) | ((int64_t) 1 << LBP_PR) | ((int64_t) 1 << LBP_SY) | ((int64_t) 1 << LBP_H2) | ((int64_t) 1 << LBP_H3) | ((int64_t) 1 << LBP_JL) | ((int64_t) 1 << LBP_JV) | ((int64_t) 1 << LBP_JT) | ((int64_t) 1 << LBP_SA) | ((int64_t) 1 << LBP_ID))))
+          || ch == 0x2064 /* INVISIBLE PLUS */
+          /* Extra characters for compatibility with Unicode LineBreak.txt.  */
+          || ch == 0x110BD /* KAITHI NUMBER SIGN */)
+        if (!(attr & (((int64_t) 1 << LBP_GL) | ((int64_t) 1 << LBP_B2) | ((int64_t) 1 << LBP_BA) | ((int64_t) 1 << LBP_BB) | ((int64_t) 1 << LBP_HY) | ((int64_t) 1 << LBP_CB) | ((int64_t) 1 << LBP_CL) | ((int64_t) 1 << LBP_CP) | ((int64_t) 1 << LBP_EX) | ((int64_t) 1 << LBP_IN) | ((int64_t) 1 << LBP_NS) | ((int64_t) 1 << LBP_OP) | ((int64_t) 1 << LBP_QU) | ((int64_t) 1 << LBP_IS) | ((int64_t) 1 << LBP_NU) | ((int64_t) 1 << LBP_PO) | ((int64_t) 1 << LBP_PR) | ((int64_t) 1 << LBP_SY) | ((int64_t) 1 << LBP_H2) | ((int64_t) 1 << LBP_H3) | ((int64_t) 1 << LBP_JL) | ((int64_t) 1 << LBP_JV) | ((int64_t) 1 << LBP_JT) | ((int64_t) 1 << LBP_SA) | ((int64_t) 1 << LBP_ID))))
           {
             /* ambiguous (alphabetic) ? */
             if ((unicode_width[ch] != NULL
@@ -5986,6 +6180,20 @@
             attr &= ~((int64_t) 1 << LBP_CM);
           }
     }
+  else
+    {
+      /* Unassigned character.  */
+      if ((ch >= 0x3400 && ch <= 0x4DBF) /* CJK Unified Ideographs Extension A */
+          || (ch >= 0x4E00 && ch <= 0x9FFF) /* CJK Unified Ideographs */
+          || (ch >= 0xF900 && ch <= 0xFAFF) /* CJK Compatibility Ideographs */
+          || (ch >= 0x20000 && ch <= 0x2A6FF) /* CJK Unified Ideographs Extension B */
+          || (ch >= 0x2A700 && ch <= 0x2F7FF) /* CJK Unified Ideographs Extension C,
+                                                 Supplementary Ideographic Plane (Plane 2) outside of blocks */
+          || (ch >= 0x2F800 && ch <= 0x2FFFD) /* CJK Compatibility Ideographs Supplement,
+                                                 Supplementary Ideographic Plane (Plane 2) outside of blocks */
+          || (ch >= 0x30000 && ch <= 0x3FFFD) /* Tertiary Ideographic Plane (Plane 3) outside of blocks */)
+        attr |= (int64_t) 1 << LBP_ID;
+    }
 
   if (attr == 0)
     /* unknown */
@@ -6007,7 +6215,7 @@
         {
           fprintf (stream, "0x%04X", i);
 #define PRINT_BIT(attr,bit) \
-  if (attr & (1 << bit)) fprintf (stream, " " #bit);
+  if (attr & ((int64_t) 1 << bit)) fprintf (stream, " " #bit);
           PRINT_BIT(attr,LBP_BK);
           PRINT_BIT(attr,LBP_CM);
           PRINT_BIT(attr,LBP_WJ);
@@ -6020,6 +6228,7 @@
           PRINT_BIT(attr,LBP_HY);
           PRINT_BIT(attr,LBP_CB);
           PRINT_BIT(attr,LBP_CL);
+          PRINT_BIT(attr,LBP_CP);
           PRINT_BIT(attr,LBP_EX);
           PRINT_BIT(attr,LBP_IN);
           PRINT_BIT(attr,LBP_NS);
@@ -6133,6 +6342,7 @@
       TRY(LBP_HY)
       TRY(LBP_CB)
       TRY(LBP_CL)
+      TRY(LBP_CP)
       TRY(LBP_EX)
       TRY(LBP_IN)
       TRY(LBP_NS)
@@ -6211,6 +6421,7 @@
           PRINT_BIT(attr,LBP_HY);
           PRINT_BIT(attr,LBP_CB);
           PRINT_BIT(attr,LBP_CL);
+          PRINT_BIT(attr,LBP_CP);
           PRINT_BIT(attr,LBP_EX);
           PRINT_BIT(attr,LBP_IN);
           PRINT_BIT(attr,LBP_NS);
@@ -6383,6 +6594,7 @@
           CASE(LBP_HY);
           CASE(LBP_CB);
           CASE(LBP_CL);
+          CASE(LBP_CP);
           CASE(LBP_EX);
           CASE(LBP_IN);
           CASE(LBP_NS);
@@ -6482,7 +6694,8 @@
 
 /* ========================================================================= */
 
-/* Word break property.  */
+/* Word break property.
+   Updated for Unicode TR #29 revision 15.  */
 
 /* Possible values of the Word_Break property.  */
 enum
@@ -6528,7 +6741,7 @@
 
       if (unicode_attributes[ch].category != NULL
           && strcmp (unicode_attributes[ch].category, "Cf") == 0
-          && ch != 0x200C && ch != 0x200D)
+          && ch != 0x200B && ch != 0x200C && ch != 0x200D)
         attr |= 1 << WBP_FORMAT;
 
       if ((unicode_scripts[ch] < numscripts
@@ -6548,12 +6761,10 @@
           && (attr & (1 << WBP_EXTEND)) == 0)
         attr |= 1 << WBP_ALETTER;
 
-      if (ch == 0x0027 || ch == 0x002E || ch == 0x2018 || ch == 0x2019
-          || ch == 0x2024 || ch == 0xFE52 || ch == 0xFF07 || ch == 0xFF0E)
+      if (is_WBP_MIDNUMLET (ch))
         attr |= 1 << WBP_MIDNUMLET;
 
-      if (ch == 0x00B7 || ch == 0x05F4 || ch == 0x2027 || ch == 0x003A
-          || ch == 0x0387 || ch == 0xFE13 || ch == 0xFE55 || ch == 0xFF1A)
+      if (is_WBP_MIDLETTER (ch))
         attr |= 1 << WBP_MIDLETTER;
 
       if ((((get_lbp (ch) >> LBP_IS) & 1) != 0
@@ -6960,7 +7171,8 @@
 
 /* ========================================================================= */
 
-/* Grapheme break property.  */
+/* Grapheme break property.
+   Updated for Unicode TR #29 revision 15.  */
 
 /* Possible values of the Grapheme_Cluster_Break property.  */
 enum
@@ -7265,6 +7477,9 @@
 
 /* ========================================================================= */
 
+/* Composition and decomposition.
+   Updated for Unicode TR #15 revision 31.  */
+
 /* Maximum number of characters into which a single Unicode character can be
    decomposed.  */
 #define MAX_DECOMP_LENGTH 18
@@ -7713,7 +7928,7 @@
      1527, which is quite good (60% filled).  It requires an auxiliary table
      lookup in a table of size 0.5 KB.  The total tables size is 11 KB.  */
 
-  fprintf (stream, "struct composition_rule { char codes[4]; };\n");
+  fprintf (stream, "struct composition_rule { char codes[6]; };\n");
   fprintf (stream, "%%struct-type\n");
   fprintf (stream, "%%language=ANSI-C\n");
   fprintf (stream, "%%define slot-name codes\n");
@@ -7751,16 +7966,9 @@
               if (strcmp (unicode_attributes[combined].combining, "0") != 0)
                 abort ();
 
-              if (!(code1 < 0x10000))
-                abort ();
-              if (!(code2 < 0x10000))
-                abort ();
-              if (!(combined < 0x10000))
-                abort ();
-
-              fprintf (stream, "\"\\x%02x\\x%02x\\x%02x\\x%02x\", 0x%04x\n",
-                       (code1 >> 8) & 0xff, code1 & 0xff,
-                       (code2 >> 8) & 0xff, code2 & 0xff,
+              fprintf (stream, "\"\\x%02x\\x%02x\\x%02x\\x%02x\\x%02x\\x%02x\", 0x%04x\n",
+                       (code1 >> 16) & 0xff, (code1 >> 8) & 0xff, code1 & 0xff,
+                       (code2 >> 16) & 0xff, (code2 >> 8) & 0xff, code2 & 0xff,
                        combined);
             }
         }
@@ -8900,20 +9108,20 @@
  * compile-command: "
    gcc -O -Wall gen-uni-tables.c -Iunictype -o gen-uni-tables && \
    ./gen-uni-tables \
-        /gfs/petix/Volumes/ExtData/www-archive/software/i18n/unicode/ftp.unicode.org/ArchiveVersions/5.1.0/ucd/UnicodeData.txt \
-        /gfs/petix/Volumes/ExtData/www-archive/software/i18n/unicode/ftp.unicode.org/ArchiveVersions/5.1.0/ucd/PropList.txt \
-        /gfs/petix/Volumes/ExtData/www-archive/software/i18n/unicode/ftp.unicode.org/ArchiveVersions/5.1.0/ucd/DerivedCoreProperties.txt \
-        /gfs/petix/Volumes/ExtData/www-archive/software/i18n/unicode/ftp.unicode.org/ArchiveVersions/5.1.0/ucd/Scripts.txt \
-        /gfs/petix/Volumes/ExtData/www-archive/software/i18n/unicode/ftp.unicode.org/ArchiveVersions/5.1.0/ucd/Blocks.txt \
+        /gfs/petix/Volumes/ExtData/www-archive/software/i18n/unicode/ftp.unicode.org/ArchiveVersions/5.2.0/ucd/UnicodeData.txt \
+        /gfs/petix/Volumes/ExtData/www-archive/software/i18n/unicode/ftp.unicode.org/ArchiveVersions/5.2.0/ucd/PropList.txt \
+        /gfs/petix/Volumes/ExtData/www-archive/software/i18n/unicode/ftp.unicode.org/ArchiveVersions/5.2.0/ucd/DerivedCoreProperties.txt \
+        /gfs/petix/Volumes/ExtData/www-archive/software/i18n/unicode/ftp.unicode.org/ArchiveVersions/5.2.0/ucd/Scripts.txt \
+        /gfs/petix/Volumes/ExtData/www-archive/software/i18n/unicode/ftp.unicode.org/ArchiveVersions/5.2.0/ucd/Blocks.txt \
         /gfs/petix/Volumes/ExtData/www-archive/software/i18n/unicode/ftp.unicode.org/ArchiveVersions/3.0.1/PropList-3.0.1.txt \
-        /gfs/petix/Volumes/ExtData/www-archive/software/i18n/unicode/ftp.unicode.org/ArchiveVersions/5.1.0/ucd/EastAsianWidth.txt \
-        /gfs/petix/Volumes/ExtData/www-archive/software/i18n/unicode/ftp.unicode.org/ArchiveVersions/5.1.0/ucd/LineBreak.txt \
-        /gfs/petix/Volumes/ExtData/www-archive/software/i18n/unicode/ftp.unicode.org/ArchiveVersions/5.1.0/ucd/auxiliary/WordBreakProperty.txt \
-        /gfs/petix/Volumes/ExtData/www-archive/software/i18n/unicode/ftp.unicode.org/ArchiveVersions/5.1.0/ucd/auxiliary/GraphemeBreakProperty.txt \
-        /gfs/petix/Volumes/ExtData/www-archive/software/i18n/unicode/ftp.unicode.org/ArchiveVersions/5.1.0/ucd/CompositionExclusions.txt \
-        /gfs/petix/Volumes/ExtData/www-archive/software/i18n/unicode/ftp.unicode.org/ArchiveVersions/5.1.0/ucd/SpecialCasing.txt \
-        /gfs/petix/Volumes/ExtData/www-archive/software/i18n/unicode/ftp.unicode.org/ArchiveVersions/5.1.0/ucd/CaseFolding.txt \
-        5.1.0 \
+        /gfs/petix/Volumes/ExtData/www-archive/software/i18n/unicode/ftp.unicode.org/ArchiveVersions/5.2.0/ucd/EastAsianWidth.txt \
+        /gfs/petix/Volumes/ExtData/www-archive/software/i18n/unicode/ftp.unicode.org/ArchiveVersions/5.2.0/ucd/LineBreak.txt \
+        /gfs/petix/Volumes/ExtData/www-archive/software/i18n/unicode/ftp.unicode.org/ArchiveVersions/5.2.0/ucd/auxiliary/WordBreakProperty.txt \
+        /gfs/petix/Volumes/ExtData/www-archive/software/i18n/unicode/ftp.unicode.org/ArchiveVersions/5.2.0/ucd/auxiliary/GraphemeBreakProperty.txt \
+        /gfs/petix/Volumes/ExtData/www-archive/software/i18n/unicode/ftp.unicode.org/ArchiveVersions/5.2.0/ucd/CompositionExclusions.txt \
+        /gfs/petix/Volumes/ExtData/www-archive/software/i18n/unicode/ftp.unicode.org/ArchiveVersions/5.2.0/ucd/SpecialCasing.txt \
+        /gfs/petix/Volumes/ExtData/www-archive/software/i18n/unicode/ftp.unicode.org/ArchiveVersions/5.2.0/ucd/CaseFolding.txt \
+        5.2.0 \
    && diff unilbrk/lbrkprop_org.txt unilbrk/lbrkprop.txt \
    && diff uniwbrk/wbrkprop_org.txt uniwbrk/wbrkprop.txt
    "
--- a/lib/unicase/cased.h
+++ b/lib/unicase/cased.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Casing Properties of Unicode characters.  */
-/* Generated automatically by gen-ctype.c for Unicode 5.1.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 5.2.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
@@ -289,7 +289,7 @@
     0xFFFFD740, 0xFFFFFFFB, 0xFFFFFFFF, 0xFFBFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFC03, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFE000F, 0x007FFFFF, 0xFFFFFFFE,
+    0xFFFFFFFF, 0xFFFE003F, 0x007FFFFF, 0xFFFFFFFE,
     0x000000FF, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0xFFFFFFFF, 0x0000003F, 0x00000000,
@@ -303,7 +303,7 @@
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0x3F3FFFFF, 0xFFFFFFFF, 0xAAFF3F3F, 0x3FFFFFFF,
     0xFFFFFFFF, 0x5FDFFFFF, 0x0FCF1FDC, 0x1FDC1FFF,
-    0x00000000, 0x00000000, 0x00000000, 0x80020000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x001F0000, 0x00000000, 0x00000000, 0x00000000,
     0x3E2FFC84, 0xF21FBD50, 0x000043E0, 0xFFFFFFFF,
     0x00000018, 0x00000000, 0x00000000, 0x00000000,
@@ -311,8 +311,8 @@
     0x00000000, 0xFFC00000, 0xFFFFFFFF, 0x000003FF,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0xFFFFFFFF, 0xFFFF7FFF, 0x7FFFFFFF, 0x3FFEFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x0000001F,
+    0xFFFFFFFF, 0xFFFF7FFF, 0x7FFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x0000781F,
     0xFFFFFFFF, 0x0000003F, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0xFFFFFFFF, 0x00003FFC,
--- a/lib/unicase/ignorable.h
+++ b/lib/unicase/ignorable.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Casing Properties of Unicode characters.  */
-/* Generated automatically by gen-ctype.c for Unicode 5.1.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 5.2.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
@@ -11,7 +11,7 @@
     int header[1];
     int level1[15];
     short level2[3 << 7];
-    /*unsigned*/ int level3[30 << 4];
+    /*unsigned*/ int level3[32 << 4];
   }
 u_casing_property_case_ignorable =
 {
@@ -116,10 +116,10 @@
        -1,
        16 +   384 * sizeof (short) / sizeof (int) +   304,
        -1,
-       -1,
        16 +   384 * sizeof (short) / sizeof (int) +   320,
        16 +   384 * sizeof (short) / sizeof (int) +   336,
        16 +   384 * sizeof (short) / sizeof (int) +   352,
+       16 +   384 * sizeof (short) / sizeof (int) +   368,
        -1,
        -1,
        -1,
@@ -159,15 +159,18 @@
        -1,
        -1,
        -1,
-       16 +   384 * sizeof (short) / sizeof (int) +   368,
+       16 +   384 * sizeof (short) / sizeof (int) +   384,
        -1,
-       16 +   384 * sizeof (short) / sizeof (int) +   384,
        16 +   384 * sizeof (short) / sizeof (int) +   400,
+       16 +   384 * sizeof (short) / sizeof (int) +   416,
        -1,
        -1,
        -1,
        -1,
-       16 +   384 * sizeof (short) / sizeof (int) +   416,
+       16 +   384 * sizeof (short) / sizeof (int) +   432,
+       -1,
+       -1,
+       16 +   384 * sizeof (short) / sizeof (int) +   448,
        -1,
        -1,
        -1,
@@ -263,11 +266,8 @@
        -1,
        -1,
        -1,
-       -1,
-       -1,
-       -1,
-       16 +   384 * sizeof (short) / sizeof (int) +   432,
-       16 +   384 * sizeof (short) / sizeof (int) +   448,
+       16 +   384 * sizeof (short) / sizeof (int) +   464,
+       16 +   384 * sizeof (short) / sizeof (int) +   480,
        -1,
        -1,
        -1,
@@ -290,7 +290,7 @@
        -1,
        -1,
        -1,
-       16 +   384 * sizeof (short) / sizeof (int) +   464,
+       16 +   384 * sizeof (short) / sizeof (int) +   496,
        -1,
        -1,
        -1,
@@ -436,9 +436,9 @@
     0x00000000, 0x00000000, 0xFFC00000, 0x00003DFF,
     0x00028000, 0xFFFF0000, 0x000007FF, 0x00000000,
     0x00000000, 0x0001FFC0, 0x00000000, 0x043FF800,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFC00000, 0x00003FFF, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000006, 0x10000000, 0x001E21FE, 0x0002000C,
+    0x00000007, 0x10000000, 0x003E21FE, 0x0002000C,
     0x00000002, 0x10000000, 0x0000201E, 0x0000000C,
     0x00000006, 0x10000000, 0x00023986, 0x00230000,
     0x00000006, 0x10000000, 0x000021BE, 0x0000000C,
@@ -453,7 +453,7 @@
     0x03000000, 0x02A00000, 0x00000000, 0x7FFE0000,
     0xFEFF00DF, 0x1FFFFFFF, 0x00000040, 0x00000000,
     0x00000000, 0x66FDE000, 0xC3000000, 0x001E0001,
-    0x00002064, 0x00000000, 0x00000000, 0x10000000,
+    0x20002064, 0x00000000, 0x00000000, 0x10000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
@@ -468,24 +468,24 @@
     0x00000000, 0x00000200, 0x00000000, 0x00000000,
     0x00000000, 0x0E040187, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x01800000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x01800000, 0x00000000, 0x7F400000, 0x9FF81FE5,
+    0x00000000, 0x00000080, 0x00000000, 0x00000000,
     0x0000000F, 0x17D00000, 0x00000004, 0x000FF800,
     0x00000003, 0x0000033C, 0x00000000, 0x00000000,
     0x00000000, 0x00CFF000, 0x00000000, 0x3F000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0xFFF70000, 0x000021FD,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0xFFFFFFFF, 0xC000007F,
+    0x00000000, 0x00000000, 0xFFFFFFFF, 0xE000007F,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0xA0000000, 0xE000E003, 0x6000E000,
-    0x0300F800, 0x00007C90, 0x00000000, 0x0000FC1F,
+    0x0300F800, 0x00007C90, 0x00000000, 0x8002FC1F,
     0x00000000, 0x00000000, 0xFFFF0000, 0x0001FFFF,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00038000,
     0x00000000, 0x00000000, 0x00000000, 0x00008000,
     0x00000000, 0x00000000, 0x00000000, 0xFFFFFFFF,
     0x00000000, 0x00008000, 0x00000000, 0x00000000,
@@ -500,18 +500,22 @@
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x3F000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00001000, 0x00000000, 0x00000000, 0xB0078000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00030000,
     0xFFFFFFFF, 0x00000003, 0x00000000, 0x00000000,
     0x00000700, 0x00000000, 0x00000000, 0x00000000,
     0x00000844, 0x00000060, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000010, 0x00000000,
+    0x00000000, 0x00000000, 0x00000010, 0x0003FFFF,
     0x00000000, 0x00003FC0, 0x0003FF80, 0x00000000,
+    0x00000007, 0x13C80000, 0x00008000, 0x00000000,
+    0x00000000, 0x00667E00, 0x00001008, 0x00010000,
+    0x00000000, 0xC19D0000, 0x20000002, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00667E00, 0x00001008, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00002120,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x40000000, 0x00000000, 0x00000000, 0x00000000,
@@ -529,6 +533,10 @@
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000003, 0x26780000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0xFFF80380,
     0x00000FE7, 0x00003C00, 0x00000000, 0x00000000,
--- a/lib/unicase/special-casing-table.gperf
+++ b/lib/unicase/special-casing-table.gperf
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Special casing rules of Unicode characters.  */
-/* Generated automatically by gen-uni-tables.c for Unicode 5.1.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 5.2.0.  */
 struct special_casing_rule { char code[3]; };
 %struct-type
 %language=ANSI-C
--- a/lib/unicase/tocasefold.h
+++ b/lib/unicase/tocasefold.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Simple character mapping of Unicode characters.  */
-/* Generated automatically by gen-case.c for Unicode 5.1.0.  */
+/* Generated automatically by gen-case.c for Unicode 5.2.0.  */
 #define mapping_header_0 16
 #define mapping_header_1 2
 #define mapping_header_2 7
@@ -295,7 +295,7 @@
         1,     0,     1,     0,     1,     0,     1,     0,
         1,     0,     1,     0,     1,     0,     1,     0,
         1,     0,     1,     0,     1,     0,     1,     0,
-        1,     0,     1,     0,     0,     0,     0,     0,
+        1,     0,     1,     0,     1,     0,     0,     0,
         0,     0,     0,     0,     0,     0,     0,     0,
         0,    48,    48,    48,    48,    48,    48,    48,
        48,    48,    48,    48,    48,    48,    48,    48,
@@ -449,8 +449,8 @@
         0,     0,     0,     0,     0,     0,     0,     0,
         1,     0, -10743, -3814, -10727,     0,     0,     1,
         0,     1,     0,     1,     0, -10780, -10749, -10783,
-        0,     0,     1,     0,     0,     1,     0,     0,
-        0,     0,     0,     0,     0,     0,     0,     0,
+    -10782,     0,     1,     0,     0,     1,     0,     0,
+        0,     0,     0,     0,     0,     0, -10815, -10815,
         1,     0,     1,     0,     1,     0,     1,     0,
         1,     0,     1,     0,     1,     0,     1,     0,
         1,     0,     1,     0,     1,     0,     1,     0,
@@ -464,7 +464,7 @@
         1,     0,     1,     0,     1,     0,     1,     0,
         1,     0,     1,     0,     1,     0,     1,     0,
         1,     0,     1,     0,     0,     0,     0,     0,
-        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     1,     0,     1,     0,     0,
         0,     0,     0,     0,     0,     0,     0,     0,
         0,     0,     0,     0,     0,     0,     0,     0,
         0,     0,     0,     0,     0,     0,     0,     0,
--- a/lib/unicase/tolower.h
+++ b/lib/unicase/tolower.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Simple character mapping of Unicode characters.  */
-/* Generated automatically by gen-case.c for Unicode 5.1.0.  */
+/* Generated automatically by gen-case.c for Unicode 5.2.0.  */
 #define mapping_header_0 16
 #define mapping_header_1 2
 #define mapping_header_2 7
@@ -295,7 +295,7 @@
         1,     0,     1,     0,     1,     0,     1,     0,
         1,     0,     1,     0,     1,     0,     1,     0,
         1,     0,     1,     0,     1,     0,     1,     0,
-        1,     0,     1,     0,     0,     0,     0,     0,
+        1,     0,     1,     0,     1,     0,     0,     0,
         0,     0,     0,     0,     0,     0,     0,     0,
         0,    48,    48,    48,    48,    48,    48,    48,
        48,    48,    48,    48,    48,    48,    48,    48,
@@ -449,8 +449,8 @@
         0,     0,     0,     0,     0,     0,     0,     0,
         1,     0, -10743, -3814, -10727,     0,     0,     1,
         0,     1,     0,     1,     0, -10780, -10749, -10783,
-        0,     0,     1,     0,     0,     1,     0,     0,
-        0,     0,     0,     0,     0,     0,     0,     0,
+    -10782,     0,     1,     0,     0,     1,     0,     0,
+        0,     0,     0,     0,     0,     0, -10815, -10815,
         1,     0,     1,     0,     1,     0,     1,     0,
         1,     0,     1,     0,     1,     0,     1,     0,
         1,     0,     1,     0,     1,     0,     1,     0,
@@ -464,7 +464,7 @@
         1,     0,     1,     0,     1,     0,     1,     0,
         1,     0,     1,     0,     1,     0,     1,     0,
         1,     0,     1,     0,     0,     0,     0,     0,
-        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     1,     0,     1,     0,     0,
         0,     0,     0,     0,     0,     0,     0,     0,
         0,     0,     0,     0,     0,     0,     0,     0,
         0,     0,     0,     0,     0,     0,     0,     0,
--- a/lib/unicase/totitle.h
+++ b/lib/unicase/totitle.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Simple character mapping of Unicode characters.  */
-/* Generated automatically by gen-case.c for Unicode 5.1.0.  */
+/* Generated automatically by gen-case.c for Unicode 5.2.0.  */
 #define mapping_header_0 16
 #define mapping_header_1 2
 #define mapping_header_2 7
@@ -218,10 +218,10 @@
         0,     0,     0,    -1,     0,    -1,     0,    -1,
         0,    -1,     0,    -1,     0,    -1,     0,    -1,
         0,    -1,     0,    -1,     0,     0,     0,     0,
-        0,     0,     0,     0,    -1,     0,     0,     0,
-        0,     0,    -1,     0,     0,     0,     0,    -1,
+        0,     0,     0,     0,    -1,     0,     0, 10815,
+    10815,     0,    -1,     0,     0,     0,     0,    -1,
         0,    -1,     0,    -1,     0,    -1,     0,    -1,
-    10783, 10780,     0,  -210,  -206,     0,  -205,  -205,
+    10783, 10780, 10782,  -210,  -206,     0,  -205,  -205,
         0,  -202,     0,  -203,     0,     0,     0,     0,
      -205,     0,     0,  -207,     0,     0,     0,     0,
      -209,  -211,     0, 10743,     0,     0,     0,  -211,
@@ -311,7 +311,7 @@
         0,    -1,     0,    -1,     0,    -1,     0,    -1,
         0,    -1,     0,    -1,     0,    -1,     0,    -1,
         0,    -1,     0,    -1,     0,    -1,     0,    -1,
-        0,    -1,     0,    -1,     0,     0,     0,     0,
+        0,    -1,     0,    -1,     0,    -1,     0,     0,
         0,     0,     0,     0,     0,     0,     0,     0,
         0,     0,     0,     0,     0,     0,     0,     0,
         0,     0,     0,     0,     0,     0,     0,     0,
@@ -496,7 +496,7 @@
         0,    -1,     0,    -1,     0,    -1,     0,    -1,
         0,    -1,     0,    -1,     0,    -1,     0,    -1,
         0,    -1,     0,    -1,     0,     0,     0,     0,
-        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,    -1,     0,    -1,     0,
         0,     0,     0,     0,     0,     0,     0,     0,
         0,     0,     0,     0,     0,     0,     0,     0,
     -7264, -7264, -7264, -7264, -7264, -7264, -7264, -7264,
--- a/lib/unicase/toupper.h
+++ b/lib/unicase/toupper.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Simple character mapping of Unicode characters.  */
-/* Generated automatically by gen-case.c for Unicode 5.1.0.  */
+/* Generated automatically by gen-case.c for Unicode 5.2.0.  */
 #define mapping_header_0 16
 #define mapping_header_1 2
 #define mapping_header_2 7
@@ -218,10 +218,10 @@
         0,     0,     0,    -1,     0,    -1,     0,    -1,
         0,    -1,     0,    -1,     0,    -1,     0,    -1,
         0,    -1,     0,    -1,     0,     0,     0,     0,
-        0,     0,     0,     0,    -1,     0,     0,     0,
-        0,     0,    -1,     0,     0,     0,     0,    -1,
+        0,     0,     0,     0,    -1,     0,     0, 10815,
+    10815,     0,    -1,     0,     0,     0,     0,    -1,
         0,    -1,     0,    -1,     0,    -1,     0,    -1,
-    10783, 10780,     0,  -210,  -206,     0,  -205,  -205,
+    10783, 10780, 10782,  -210,  -206,     0,  -205,  -205,
         0,  -202,     0,  -203,     0,     0,     0,     0,
      -205,     0,     0,  -207,     0,     0,     0,     0,
      -209,  -211,     0, 10743,     0,     0,     0,  -211,
@@ -311,7 +311,7 @@
         0,    -1,     0,    -1,     0,    -1,     0,    -1,
         0,    -1,     0,    -1,     0,    -1,     0,    -1,
         0,    -1,     0,    -1,     0,    -1,     0,    -1,
-        0,    -1,     0,    -1,     0,     0,     0,     0,
+        0,    -1,     0,    -1,     0,    -1,     0,     0,
         0,     0,     0,     0,     0,     0,     0,     0,
         0,     0,     0,     0,     0,     0,     0,     0,
         0,     0,     0,     0,     0,     0,     0,     0,
@@ -496,7 +496,7 @@
         0,    -1,     0,    -1,     0,    -1,     0,    -1,
         0,    -1,     0,    -1,     0,    -1,     0,    -1,
         0,    -1,     0,    -1,     0,     0,     0,     0,
-        0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,    -1,     0,    -1,     0,
         0,     0,     0,     0,     0,     0,     0,     0,
         0,     0,     0,     0,     0,     0,     0,     0,
     -7264, -7264, -7264, -7264, -7264, -7264, -7264, -7264,
--- a/lib/unictype/bidi_of.h
+++ b/lib/unictype/bidi_of.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Bidi categories of Unicode characters.  */
-/* Generated automatically by gen-ctype.c for Unicode 5.1.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 5.2.0.  */
 #define bidi_category_header_0 16
 #define bidi_category_header_1 17
 #define bidi_category_header_2 7
@@ -11,7 +11,7 @@
   {
     int level1[17];
     short level2[4 << 9];
-    unsigned short level3[101 * 40 + 1];
+    unsigned short level3[114 * 40 + 1];
   }
 u_bidi_category =
 {
@@ -23,24 +23,24 @@
   {
         0,   128,    -1,    -1,    -1,   256,   384,   512,
        -1,   640,    -1,   768,   896,  1024,  1152,  1280,
-     1408,  1408,  1536,  1664,  1792,  1920,  2048,  2176,
-     2304,  2432,  2560,  2688,  2816,  2944,  3072,  3200,
-     3328,  3456,    -1,    -1,    -1,    -1,  3584,  3712,
-       -1,    -1,    -1,    -1,    -1,  3840,  3968,  4096,
-     4224,  4352,  4480,  4608,  4736,    -1,  4864,  4992,
-     5120,    -1,    -1,  5248,    -1,    -1,    -1,  5376,
-     5504,  5632,  5760,  5888,  6016,  6144,  6272,  6400,
-     6528,  6656,  6144,  6144,  6144,  6784,  6912,  7040,
-       -1,    -1,  6144,  6144,  6144,  6144,  7168,    -1,
-       -1,  7296,    -1,  7424,  7552,  7680,  6144,  7808,
-     7936,  8064,    -1,  8192,  8320,  8448,  8576,  8704,
+     1408,  1536,  1664,  1792,  1920,  2048,  2176,  2304,
+     2432,  2560,  2688,  2816,  2944,  3072,  3200,  3328,
+     3456,  3584,    -1,    -1,    -1,    -1,  3712,  3840,
+     3968,    -1,    -1,    -1,    -1,  4096,  4224,  4352,
+     4480,  4608,  4736,  4864,  4992,    -1,  5120,  5248,
+     5376,  5504,    -1,  5632,    -1,    -1,    -1,  5760,
+     5888,  6016,  6144,  6272,  6400,  6528,  6656,  6784,
+     6912,  7040,  6528,  6528,  6528,  7168,  7296,  7424,
+       -1,    -1,  6528,  6528,  6528,  6528,  7552,    -1,
+       -1,  7680,    -1,  7808,  7936,  8064,  6528,  8192,
+     8320,  8448,    -1,  8576,  8704,  8832,  8960,  9088,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,    -1,  8832,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,  9216,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
@@ -62,8 +62,8 @@
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,  8960,    -1,    -1,  9088,    -1,  9216,  9344,
-     9472,  9600,  9728,    -1,  9856,    -1,    -1,    -1,
+       -1,  9344,    -1,    -1,  9472,  9600,  9728,  9856,
+     9984, 10112, 10240, 10368, 10496, 10624,    -1, 10752,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
@@ -83,12 +83,13 @@
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,    -1,    -1,    -1,    -1,  9984, 10112,
-    10112, 10112, 10240, 10368, 10496, 10624, 10752, 10880,
-       -1,    -1, 11008, 11136,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1, 10880, 11008,
+    11008, 11008, 11136, 11264, 11392, 11520, 11648, 11776,
+       -1,    -1, 11904, 12032,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-     1408,  1408, 11264,  1408, 11392,  1408,  1408,  1408,
-     1408,  1408,  1408,  1408,  1408,  1408,  1408,  1408,
+     1536,  1536, 12160,  1536, 12288,  1536, 12416,  1536,
+     1536,  1536,  1536,  1536, 12544,  1536,  1536,  1536,
+       -1, 12672,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
@@ -136,19 +137,18 @@
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1, 11520, 11648, 11776,    -1, 11904,    -1,
-       -1,    -1,    -1,    -1,    -1,    -1,    -1, 12032,
+       -1,    -1, 12800, 12928, 13056,    -1, 13184,    -1,
+       -1,    -1,    -1,    -1,    -1, 13312, 13440, 13568,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    12160, 12288,    -1,    -1,    -1,    -1,    -1,    -1,
+    13696, 13824, 13952,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,    -1,    -1,    -1,    -1,    -1, 12416,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1, 14080,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
@@ -212,11 +212,11 @@
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,    -1,    -1,    -1,    -1,    -1, 12416,
-    12544, 12544, 12672, 12800, 12544, 12544, 12544, 12544,
-    12544, 12544, 12544, 12544, 12544, 12544, 12544, 12544,
-    12544, 12544, 12544, 12544, 12544, 12544, 12544, 12544,
-    12544, 12544, 12544, 12544, 12544, 12544, 12544, 12544,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1, 14080,
+    14208, 14208, 14336, 14464, 14208, 14208, 14208, 14208,
+    14208, 14208, 14208, 14208, 14208, 14208, 14208, 14208,
+    14208, 14208, 14208, 14208, 14208, 14208, 14208, 14208,
+    14208, 14208, 14208, 14208, 14208, 14208, 14208, 14208,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
@@ -276,7 +276,7 @@
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,    -1,    -1,    -1,    -1,    -1, 12416
+       -1,    -1,    -1,    -1,    -1,    -1,    -1, 14080
   },
   {
     0x39ce, 0x9ce7, 0x0e73, 0x183e, 0x739f, 0x39ce, 0x9ce7, 0xce73,
@@ -334,21 +334,26 @@
     0x0842, 0x8421, 0x4210, 0x2108, 0x8c63, 0xc631, 0x6318, 0x318c,
     0x18c6, 0x8c63, 0xc631, 0x6318, 0x318c, 0x18c6, 0x8c63, 0xc631,
     0x6318, 0xd68c, 0x6b5a, 0xb5ad, 0x8636, 0x5294, 0x318e, 0x18c6,
+    0x8c63, 0xc631, 0x6318, 0x318c, 0x18c6, 0x8c63, 0x4631, 0xad6b,
+    0xd68d, 0x6b5a, 0xb5ad, 0x5a36, 0xa36b, 0xd6b5, 0x18da, 0x8c63,
+    0xc631, 0x6318, 0x318c, 0x18c6, 0x8c63, 0xc631, 0x6318, 0x318c,
+    0x18c6, 0x8c63, 0xc631, 0x6318, 0x318c, 0x18c6, 0x8c63, 0xc631,
+    0x6318, 0x318c, 0x18c6, 0x8c63, 0xc631, 0x6318, 0x318c, 0x18c6,
     0x8c63, 0xc631, 0x6318, 0x318c, 0x18c6, 0x8c63, 0xc631, 0x6318,
     0x318c, 0x18c6, 0x8c63, 0xc631, 0x6318, 0x318c, 0x18c6, 0x8c63,
     0xc631, 0x6318, 0x318c, 0x18c6, 0x8c63, 0xc631, 0x6318, 0x318c,
     0x18c6, 0x8c63, 0xc631, 0x6318, 0x318c, 0x18c6, 0x8c63, 0xc631,
     0x6318, 0x318c, 0x18c6, 0x8c63, 0xc631, 0x6318, 0x318c, 0x18c6,
-    0x35a0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x35ad, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
     0x0000, 0x0000, 0xd000, 0x0000, 0xb5a0, 0x5ad6, 0x0d6b, 0x0000,
-    0x001a, 0xb5a0, 0x00d6, 0x0000, 0x0000, 0x0000, 0xb400, 0x0006,
+    0x001a, 0xb5a0, 0x1ad6, 0x0000, 0x0000, 0x0000, 0xb400, 0x0006,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
     0x01a0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
     0x0000, 0x0000, 0xd000, 0x0000, 0xb5a0, 0x00d6, 0x0000, 0x0000,
     0x001a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xb400, 0x0006,
-    0x0000, 0x0000, 0x0000, 0x2800, 0x0005, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x2800, 0x0005, 0x0000, 0x0500, 0x0000,
     0x35a0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
     0x0000, 0x0000, 0xd000, 0x0000, 0x35a0, 0x0000, 0x0d68, 0xd680,
@@ -415,7 +420,7 @@
     0x0000, 0x0000, 0x0000, 0xad00, 0x0001, 0x6b40, 0x000d, 0x0000,
     0x0000, 0x0000, 0x0000, 0xb5a0, 0x00d6, 0x0000, 0x0000, 0x0000,
     0x3400, 0x5a00, 0x0003, 0x0000, 0x001a, 0x0000, 0x0000, 0x0000,
-    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x001a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
@@ -429,6 +434,11 @@
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0012, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
     0x0011, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
     0x2900, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
@@ -467,8 +477,8 @@
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0d68,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
-    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
-    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x4000, 0xad03, 0xd6b5, 0x035a, 0x340d, 0x5a00,
+    0xad6b, 0xd6b5, 0x0000, 0x8000, 0x5ad6, 0xad6b, 0xd6b5, 0x6800,
     0xb5ad, 0x0006, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
     0x40d0, 0xad6b, 0xd035, 0x0000, 0x3400, 0x0000, 0x0000, 0x0000,
@@ -486,9 +496,14 @@
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x35ad, 0x5ad0, 0xad6b, 0xd6b5, 0x6b5a, 0xb40d, 0x5ad6,
+    0x0d6b, 0x0000, 0x001a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
     0x0000, 0x0000, 0x0000, 0x0000, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5,
     0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6,
-    0x0003, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6b40,
+    0x0003, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6b5a,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
     0x0000, 0x0000, 0x0000, 0x9024, 0x0252, 0x0000, 0x0000, 0x0000,
@@ -501,15 +516,15 @@
     0x8421, 0xe738, 0x739c, 0x0008, 0x1080, 0x0842, 0x24a5, 0x04a5,
     0x2108, 0x1084, 0x0842, 0x24a5, 0x04a5, 0x0000, 0x0000, 0x0000,
     0x0000, 0x0000, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a,
-    0x14a5, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x94a5, 0x0a52, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
     0x0000, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6,
     0xad6b, 0xd6b5, 0x6b5a, 0x000d, 0x0000, 0x0000, 0x0000, 0x0000,
     0x0252, 0xa529, 0x5204, 0x0002, 0x0000, 0x0000, 0x8120, 0x1294,
     0x0000, 0x9480, 0x4a52, 0x2409, 0x4090, 0x0002, 0x0280, 0x0000,
     0x0000, 0x0000, 0x0948, 0x0000, 0x4a52, 0x0129, 0x0000, 0x2948,
-    0x0025, 0x0000, 0xa529, 0x5294, 0x294a, 0x94a5, 0x0000, 0x0000,
+    0x0025, 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x0000, 0x0000,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
-    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4a52, 0xa529, 0x5294,
+    0x0000, 0x0000, 0x4000, 0x0002, 0x0000, 0x4a52, 0xa529, 0x5294,
     0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52,
     0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a,
     0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529,
@@ -533,7 +548,7 @@
     0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52,
     0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a,
     0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529,
-    0x0094, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x1294, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
     0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294,
     0x294a, 0x94a5, 0x4a52, 0xa529, 0x0004, 0x0000, 0x0000, 0x0000,
     0x0000, 0x0000, 0x0000, 0x0000, 0x4a52, 0xa529, 0x5294, 0x004a,
@@ -545,14 +560,14 @@
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
     0x0000, 0x2948, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5,
     0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294,
-    0x294a, 0x0025, 0x4a52, 0xa529, 0x5294, 0x094a, 0x94a4, 0x4a52,
-    0xa529, 0x5294, 0x294a, 0x0001, 0x4a52, 0x0009, 0x0000, 0x0000,
-    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
-    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x094a, 0x94a4, 0x4a52,
+    0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a,
+    0x9025, 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x0252, 0x0009,
+    0x5200, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5,
     0x4a40, 0x8129, 0x5294, 0x2002, 0x94a5, 0x4a52, 0xa529, 0x5294,
     0x294a, 0x94a5, 0x4a52, 0xa529, 0x4094, 0x294a, 0x94a5, 0x4a52,
     0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x094a,
-    0x9024, 0x4a52, 0x8000, 0x5204, 0x294a, 0x04a5, 0x4a40, 0xa529,
+    0x9024, 0x4a52, 0x8000, 0x5294, 0x294a, 0x04a5, 0x4a40, 0xa529,
     0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5,
     0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0x0129, 0x5200,
     0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a40,
@@ -562,20 +577,20 @@
     0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294,
     0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52,
     0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a,
-    0x0001, 0x4a52, 0x0129, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0001, 0x4a52, 0xa529, 0x5294, 0x0002, 0x0000, 0x0000, 0x0000,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa400,
-    0x5294, 0x004a, 0x0000, 0x0000, 0x0000, 0x4000, 0x294a, 0x94a5,
+    0x5294, 0x004a, 0x6800, 0x01ad, 0x0000, 0x4000, 0x294a, 0x94a5,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xb5ad, 0x5ad6,
     0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a,
     0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294,
-    0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x0012,
+    0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x0252,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
@@ -639,6 +654,11 @@
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
     0x0000, 0x0000, 0x6800, 0x35ad, 0x0009, 0x0000, 0xd000, 0x949a,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x01ad, 0x0000, 0x0000, 0x0000, 0x0000,
     0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294,
     0x294a, 0x94a5, 0x0252, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
@@ -651,25 +671,40 @@
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
     0x3400, 0x4000, 0x0003, 0x0680, 0x0000, 0x0000, 0x0000, 0x0000,
     0x0000, 0x0000, 0x0000, 0x5a00, 0x5203, 0x094a, 0x0000, 0x0000,
-    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x4a00, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
     0x0000, 0x0000, 0x0000, 0x0000, 0xa520, 0x0094, 0x0000, 0x0000,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x00d0, 0x0000, 0x0000,
-    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
-    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xb5ad, 0x5ad6,
+    0xad6b, 0xd6b5, 0x6b5a, 0x01ad, 0x0000, 0x0000, 0x0000, 0x0000,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
     0x0000, 0x0000, 0x0000, 0x4000, 0xad6b, 0xd6b5, 0x001a, 0x0000,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xad68, 0xd6b5,
     0x6b5a, 0x01ad, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x35ad, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000,
+    0x4006, 0xad6b, 0xd001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
     0x0000, 0x0000, 0x0000, 0x0000, 0xa000, 0xd6b5, 0x035a, 0x35a0,
     0x5a00, 0x0003, 0x0000, 0x0000, 0x8000, 0x0006, 0x0000, 0xd000,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xb40d,
+    0x00d6, 0x0d68, 0x0000, 0x6b40, 0x01a0, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1a00,
+    0x0d00, 0x0000, 0x001a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
     0x0000, 0x1b46, 0x8c63, 0xc631, 0x2318, 0x318d, 0x18c6, 0x8c63,
     0xc631, 0x6318, 0x318c, 0x18c6, 0x8c63, 0xc631, 0x6318, 0x318c,
     0x18c6, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842,
@@ -729,6 +764,21 @@
     0xc631, 0xad18, 0x31b5, 0x68c6, 0x8c63, 0xc631, 0x6318, 0x318c,
     0x18c6, 0x8c63, 0xc631, 0x6318, 0x318c, 0x18c6, 0x8c63, 0xc631,
     0x6318, 0x318c, 0x18c6, 0x8c63, 0xc631, 0x6318, 0x318c, 0x18c6,
+    0x8c63, 0xc631, 0x6318, 0x318c, 0x18c6, 0x8c63, 0xc631, 0x6318,
+    0x318c, 0x18c6, 0x8c63, 0xc631, 0x6318, 0x318c, 0x18c6, 0x8c63,
+    0xc631, 0x4318, 0x294a, 0x94a5, 0x8c63, 0xc631, 0x6318, 0x318c,
+    0x18c6, 0x8c63, 0xc631, 0x6318, 0x318c, 0x18c6, 0x8c63, 0xc631,
+    0x6318, 0x318c, 0x18c6, 0x8c63, 0xc631, 0x6318, 0x318c, 0x18c6,
+    0x8c63, 0xc631, 0x6318, 0x318c, 0x18c6, 0x8c63, 0xc631, 0x6318,
+    0x318c, 0x18c6, 0x8c63, 0xc631, 0x6318, 0x318c, 0x18c6, 0x8c63,
+    0xc631, 0x6318, 0x318c, 0x18c6, 0x8c63, 0xc631, 0x6318, 0x318c,
+    0x18c6, 0x8c63, 0xc631, 0x6318, 0x318c, 0x18c6, 0xad6b, 0xd6b5,
+    0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x1ad6,
+    0x01ad, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000,
+    0x5ad6, 0xa003, 0x0035, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
@@ -752,6 +802,16 @@
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0900, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2400, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x9000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x4000, 0x0002, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0009, 0x0000, 0x0000,
     0x4200, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084,
     0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210,
     0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294,
@@ -764,6 +824,11 @@
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x2108, 0x1084, 0x0842, 0x0021, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
--- a/lib/unictype/blocks.h
+++ b/lib/unictype/blocks.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Unicode blocks.  */
-/* Generated automatically by gen-ctype.c for Unicode 5.1.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 5.2.0.  */
 static const uc_block_t blocks[] =
 {
   { 0x0000, 0x007F, "Basic Latin" },
@@ -20,6 +20,7 @@
   { 0x0750, 0x077F, "Arabic Supplement" },
   { 0x0780, 0x07BF, "Thaana" },
   { 0x07C0, 0x07FF, "NKo" },
+  { 0x0800, 0x083F, "Samaritan" },
   { 0x0900, 0x097F, "Devanagari" },
   { 0x0980, 0x09FF, "Bengali" },
   { 0x0A00, 0x0A7F, "Gurmukhi" },
@@ -48,15 +49,18 @@
   { 0x1760, 0x177F, "Tagbanwa" },
   { 0x1780, 0x17FF, "Khmer" },
   { 0x1800, 0x18AF, "Mongolian" },
+  { 0x18B0, 0x18FF, "Unified Canadian Aboriginal Syllabics Extended" },
   { 0x1900, 0x194F, "Limbu" },
   { 0x1950, 0x197F, "Tai Le" },
   { 0x1980, 0x19DF, "New Tai Lue" },
   { 0x19E0, 0x19FF, "Khmer Symbols" },
   { 0x1A00, 0x1A1F, "Buginese" },
+  { 0x1A20, 0x1AAF, "Tai Tham" },
   { 0x1B00, 0x1B7F, "Balinese" },
   { 0x1B80, 0x1BBF, "Sundanese" },
   { 0x1C00, 0x1C4F, "Lepcha" },
   { 0x1C50, 0x1C7F, "Ol Chiki" },
+  { 0x1CD0, 0x1CFF, "Vedic Extensions" },
   { 0x1D00, 0x1D7F, "Phonetic Extensions" },
   { 0x1D80, 0x1DBF, "Phonetic Extensions Supplement" },
   { 0x1DC0, 0x1DFF, "Combining Diacritical Marks Supplement" },
@@ -113,17 +117,27 @@
   { 0x4E00, 0x9FFF, "CJK Unified Ideographs" },
   { 0xA000, 0xA48F, "Yi Syllables" },
   { 0xA490, 0xA4CF, "Yi Radicals" },
+  { 0xA4D0, 0xA4FF, "Lisu" },
   { 0xA500, 0xA63F, "Vai" },
   { 0xA640, 0xA69F, "Cyrillic Extended-B" },
+  { 0xA6A0, 0xA6FF, "Bamum" },
   { 0xA700, 0xA71F, "Modifier Tone Letters" },
   { 0xA720, 0xA7FF, "Latin Extended-D" },
   { 0xA800, 0xA82F, "Syloti Nagri" },
+  { 0xA830, 0xA83F, "Common Indic Number Forms" },
   { 0xA840, 0xA87F, "Phags-pa" },
   { 0xA880, 0xA8DF, "Saurashtra" },
+  { 0xA8E0, 0xA8FF, "Devanagari Extended" },
   { 0xA900, 0xA92F, "Kayah Li" },
   { 0xA930, 0xA95F, "Rejang" },
+  { 0xA960, 0xA97F, "Hangul Jamo Extended-A" },
+  { 0xA980, 0xA9DF, "Javanese" },
   { 0xAA00, 0xAA5F, "Cham" },
+  { 0xAA60, 0xAA7F, "Myanmar Extended-A" },
+  { 0xAA80, 0xAADF, "Tai Viet" },
+  { 0xABC0, 0xABFF, "Meetei Mayek" },
   { 0xAC00, 0xD7AF, "Hangul Syllables" },
+  { 0xD7B0, 0xD7FF, "Hangul Jamo Extended-B" },
   { 0xD800, 0xDB7F, "High Surrogates" },
   { 0xDB80, 0xDBFF, "High Private Use Surrogates" },
   { 0xDC00, 0xDFFF, "Low Surrogates" },
@@ -155,11 +169,20 @@
   { 0x10450, 0x1047F, "Shavian" },
   { 0x10480, 0x104AF, "Osmanya" },
   { 0x10800, 0x1083F, "Cypriot Syllabary" },
+  { 0x10840, 0x1085F, "Imperial Aramaic" },
   { 0x10900, 0x1091F, "Phoenician" },
   { 0x10920, 0x1093F, "Lydian" },
   { 0x10A00, 0x10A5F, "Kharoshthi" },
+  { 0x10A60, 0x10A7F, "Old South Arabian" },
+  { 0x10B00, 0x10B3F, "Avestan" },
+  { 0x10B40, 0x10B5F, "Inscriptional Parthian" },
+  { 0x10B60, 0x10B7F, "Inscriptional Pahlavi" },
+  { 0x10C00, 0x10C4F, "Old Turkic" },
+  { 0x10E60, 0x10E7F, "Rumi Numeral Symbols" },
+  { 0x11080, 0x110CF, "Kaithi" },
   { 0x12000, 0x123FF, "Cuneiform" },
   { 0x12400, 0x1247F, "Cuneiform Numbers and Punctuation" },
+  { 0x13000, 0x1342F, "Egyptian Hieroglyphs" },
   { 0x1D000, 0x1D0FF, "Byzantine Musical Symbols" },
   { 0x1D100, 0x1D1FF, "Musical Symbols" },
   { 0x1D200, 0x1D24F, "Ancient Greek Musical Notation" },
@@ -168,7 +191,10 @@
   { 0x1D400, 0x1D7FF, "Mathematical Alphanumeric Symbols" },
   { 0x1F000, 0x1F02F, "Mahjong Tiles" },
   { 0x1F030, 0x1F09F, "Domino Tiles" },
+  { 0x1F100, 0x1F1FF, "Enclosed Alphanumeric Supplement" },
+  { 0x1F200, 0x1F2FF, "Enclosed Ideographic Supplement" },
   { 0x20000, 0x2A6DF, "CJK Unified Ideographs Extension B" },
+  { 0x2A700, 0x2B73F, "CJK Unified Ideographs Extension C" },
   { 0x2F800, 0x2FA1F, "CJK Compatibility Ideographs Supplement" },
   { 0xE0000, 0xE007F, "Tags" },
   { 0xE0100, 0xE01EF, "Variation Selectors Supplement" },
@@ -187,766 +213,766 @@
     9,  12,
    12,  13,
    13,  17,
-   17,  17,
-   17,  19,
-   19,  21,
-   21,  23,
-   23,  25,
-   25,  27,
-   27,  29,
-   29,  30,
-   30,  32,
-   32,  33,
+   17,  18,
+   18,  20,
+   20,  22,
+   22,  24,
+   24,  26,
+   26,  28,
+   28,  30,
+   30,  31,
+   31,  33,
    33,  34,
-   33,  36,
-   36,  37,
-   36,  37,
-   36,  39,
-   39,  44,
-   44,  45,
-   45,  49,
-   49,  50,
-   50,  52,
-   52,  54,
-   54,  57,
-   57,  58,
-   58,  59,
-   59,  63,
-   63,  66,
-   66,  67,
-   67,  68,
-   68,  71,
-   71,  74,
-   74,  75,
+   34,  35,
+   34,  37,
+   37,  38,
+   37,  38,
+   37,  40,
+   40,  45,
+   45,  47,
+   47,  51,
+   51,  53,
+   53,  55,
+   55,  58,
+   58,  61,
+   61,  62,
+   62,  63,
+   63,  67,
+   67,  70,
+   70,  71,
+   71,  72,
+   72,  75,
    75,  78,
    78,  79,
-   79,  81,
-   81,  82,
+   79,  82,
    82,  83,
-   83,  86,
-   86,  90,
-   90,  92,
-   92,  94,
-   94,  97,
-   97, 103,
-  103, 104,
-  104, 105,
-  105, 106,
-  105, 106,
-  105, 106,
-  105, 106,
-  105, 106,
-  105, 106,
-  105, 106,
-  105, 106,
-  105, 106,
-  105, 106,
-  105, 106,
-  105, 106,
-  105, 106,
-  105, 106,
-  105, 106,
-  105, 106,
-  105, 106,
-  105, 106,
-  105, 106,
-  105, 106,
-  105, 106,
-  105, 106,
-  105, 106,
-  105, 106,
-  105, 106,
-  105, 107,
-  107, 108,
-  107, 108,
-  107, 108,
-  107, 108,
-  107, 108,
-  107, 108,
-  107, 108,
-  107, 108,
-  107, 108,
-  107, 108,
-  107, 108,
-  107, 108,
-  107, 108,
-  107, 108,
-  107, 108,
-  107, 108,
-  107, 108,
-  107, 108,
-  107, 108,
-  107, 108,
-  107, 108,
-  107, 108,
-  107, 108,
-  107, 108,
-  107, 108,
-  107, 108,
-  107, 108,
-  107, 108,
-  107, 108,
-  107, 108,
-  107, 108,
-  107, 108,
-  107, 108,
-  107, 108,
-  107, 108,
-  107, 108,
-  107, 108,
-  107, 108,
-  107, 108,
-  107, 108,
-  107, 108,
-  107, 108,
-  107, 108,
-  107, 108,
-  107, 108,
-  107, 108,
-  107, 108,
-  107, 108,
-  107, 108,
-  107, 108,
-  107, 108,
-  107, 108,
-  107, 108,
-  107, 108,
-  107, 108,
-  107, 108,
-  107, 108,
-  107, 108,
-  107, 108,
-  107, 108,
-  107, 108,
-  107, 108,
-  107, 108,
-  107, 108,
-  107, 108,
-  107, 108,
-  107, 108,
-  107, 108,
-  107, 108,
-  107, 108,
-  107, 108,
-  107, 108,
-  107, 108,
-  107, 108,
-  107, 108,
-  107, 108,
-  107, 108,
-  107, 108,
-  107, 108,
-  107, 108,
-  107, 108,
+   83,  85,
+   85,  86,
+   86,  87,
+   87,  90,
+   90,  94,
+   94,  96,
+   96,  98,
+   98, 101,
+  101, 107,
   107, 108,
   108, 109,
-  108, 109,
-  108, 109,
-  108, 109,
-  108, 110,
-  110, 111,
-  110, 112,
-  112, 114,
-  114, 117,
-  117, 119,
-  119, 120,
-  120, 120,
-  120, 121,
-  120, 121,
-  120, 121,
-  120, 121,
-  120, 121,
-  120, 121,
-  120, 121,
-  120, 121,
-  120, 121,
-  120, 121,
-  120, 121,
-  120, 121,
-  120, 121,
-  120, 121,
-  120, 121,
-  120, 121,
-  120, 121,
-  120, 121,
-  120, 121,
-  120, 121,
-  120, 121,
-  120, 121,
-  120, 121,
-  120, 121,
-  120, 121,
-  120, 121,
-  120, 121,
-  120, 121,
-  120, 121,
-  120, 121,
-  120, 121,
-  120, 121,
-  120, 121,
-  120, 121,
-  120, 121,
-  120, 121,
-  120, 121,
-  120, 121,
-  120, 121,
-  120, 121,
-  120, 121,
-  120, 121,
-  120, 121,
-  120, 121,
-  121, 122,
-  121, 122,
-  121, 122,
-  121, 123,
-  123, 124,
-  123, 124,
-  123, 124,
-  123, 124,
-  124, 125,
-  124, 125,
-  124, 125,
-  124, 125,
-  124, 125,
-  124, 125,
-  124, 125,
-  124, 125,
-  124, 125,
-  124, 125,
-  124, 125,
-  124, 125,
-  124, 125,
-  124, 125,
-  124, 125,
-  124, 125,
-  124, 125,
-  124, 125,
-  124, 125,
-  124, 125,
-  124, 125,
-  124, 125,
-  124, 125,
-  124, 125,
-  124, 125,
-  125, 126,
-  125, 126,
-  126, 128,
-  127, 128,
-  127, 128,
-  128, 134,
-  134, 136,
-  136, 138,
-  138, 142,
-  142, 144,
-  144, 148,
-  148, 151,
-  151, 151,
-  151, 151,
-  151, 151,
-  151, 152,
-  152, 154,
-  154, 155,
-  155, 155,
-  155, 155,
-  155, 155,
-  155, 155,
-  155, 155,
-  155, 155,
-  155, 155,
-  155, 155,
-  155, 155,
-  155, 155,
-  155, 155,
-  155, 155,
-  155, 155,
-  155, 155,
-  155, 155,
-  155, 155,
-  155, 155,
-  155, 155,
-  155, 155,
-  155, 155,
-  155, 155,
-  155, 156,
-  155, 156,
-  155, 156,
-  155, 156,
-  156, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 157,
-  157, 158,
-  158, 159,
-  159, 160,
-  160, 162,
-  162, 163,
-  162, 163,
-  162, 163,
-  162, 163,
-  163, 163,
-  163, 163,
-  163, 163,
-  163, 163,
-  163, 163,
-  163, 163,
-  163, 163,
-  163, 163,
-  163, 163,
-  163, 163,
-  163, 163,
-  163, 163,
-  163, 163,
-  163, 163,
-  163, 163,
-  163, 163,
-  163, 163,
-  163, 163,
-  163, 163,
-  163, 163,
-  163, 163,
-  163, 163,
-  163, 163,
-  163, 163,
-  163, 165,
+  109, 110,
+  109, 110,
+  109, 110,
+  109, 110,
+  109, 110,
+  109, 110,
+  109, 110,
+  109, 110,
+  109, 110,
+  109, 110,
+  109, 110,
+  109, 110,
+  109, 110,
+  109, 110,
+  109, 110,
+  109, 110,
+  109, 110,
+  109, 110,
+  109, 110,
+  109, 110,
+  109, 110,
+  109, 110,
+  109, 110,
+  109, 110,
+  109, 110,
+  109, 111,
+  111, 112,
+  111, 112,
+  111, 112,
+  111, 112,
+  111, 112,
+  111, 112,
+  111, 112,
+  111, 112,
+  111, 112,
+  111, 112,
+  111, 112,
+  111, 112,
+  111, 112,
+  111, 112,
+  111, 112,
+  111, 112,
+  111, 112,
+  111, 112,
+  111, 112,
+  111, 112,
+  111, 112,
+  111, 112,
+  111, 112,
+  111, 112,
+  111, 112,
+  111, 112,
+  111, 112,
+  111, 112,
+  111, 112,
+  111, 112,
+  111, 112,
+  111, 112,
+  111, 112,
+  111, 112,
+  111, 112,
+  111, 112,
+  111, 112,
+  111, 112,
+  111, 112,
+  111, 112,
+  111, 112,
+  111, 112,
+  111, 112,
+  111, 112,
+  111, 112,
+  111, 112,
+  111, 112,
+  111, 112,
+  111, 112,
+  111, 112,
+  111, 112,
+  111, 112,
+  111, 112,
+  111, 112,
+  111, 112,
+  111, 112,
+  111, 112,
+  111, 112,
+  111, 112,
+  111, 112,
+  111, 112,
+  111, 112,
+  111, 112,
+  111, 112,
+  111, 112,
+  111, 112,
+  111, 112,
+  111, 112,
+  111, 112,
+  111, 112,
+  111, 112,
+  111, 112,
+  111, 112,
+  111, 112,
+  111, 112,
+  111, 112,
+  111, 112,
+  111, 112,
+  111, 112,
+  111, 112,
+  111, 112,
+  111, 112,
+  112, 113,
+  112, 113,
+  112, 113,
+  112, 113,
+  112, 115,
+  115, 116,
+  115, 118,
+  118, 120,
+  120, 125,
+  125, 129,
+  129, 132,
+  132, 133,
+  133, 134,
+  133, 134,
+  133, 134,
+  133, 134,
+  133, 134,
+  133, 134,
+  133, 134,
+  133, 134,
+  133, 134,
+  133, 134,
+  133, 134,
+  133, 134,
+  133, 134,
+  133, 134,
+  133, 134,
+  133, 134,
+  133, 134,
+  133, 134,
+  133, 134,
+  133, 134,
+  133, 134,
+  133, 134,
+  133, 134,
+  133, 134,
+  133, 134,
+  133, 134,
+  133, 134,
+  133, 134,
+  133, 134,
+  133, 134,
+  133, 134,
+  133, 134,
+  133, 134,
+  133, 134,
+  133, 134,
+  133, 134,
+  133, 134,
+  133, 134,
+  133, 134,
+  133, 134,
+  133, 134,
+  133, 134,
+  133, 134,
+  133, 135,
+  135, 136,
+  135, 136,
+  135, 136,
+  135, 137,
+  137, 138,
+  137, 138,
+  137, 138,
+  137, 138,
+  138, 139,
+  138, 139,
+  138, 139,
+  138, 139,
+  138, 139,
+  138, 139,
+  138, 139,
+  138, 139,
+  138, 139,
+  138, 139,
+  138, 139,
+  138, 139,
+  138, 139,
+  138, 139,
+  138, 139,
+  138, 139,
+  138, 139,
+  138, 139,
+  138, 139,
+  138, 139,
+  138, 139,
+  138, 139,
+  138, 139,
+  138, 139,
+  138, 139,
+  139, 140,
+  139, 140,
+  140, 142,
+  141, 142,
+  141, 142,
+  142, 148,
+  148, 150,
+  150, 152,
+  152, 156,
+  156, 158,
+  158, 162,
+  162, 165,
   165, 165,
   165, 165,
   165, 165,
-  165, 165,
-  165, 165,
-  165, 165,
-  165, 165,
-  165, 165,
-  165, 165,
-  165, 165,
-  165, 165,
-  165, 165,
-  165, 165,
-  165, 165,
-  165, 165,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  165, 166,
-  166, 166,
-  166, 166,
-  166, 166,
-  166, 166,
-  166, 166,
-  166, 166,
-  166, 166,
-  166, 166,
-  166, 166,
-  166, 166,
-  166, 166,
-  166, 166,
-  166, 166,
-  166, 166,
-  166, 166,
-  166, 166,
-  166, 166,
-  166, 166,
-  166, 166,
-  166, 166,
-  166, 166,
-  166, 166,
-  166, 166,
-  166, 166,
-  166, 166,
-  166, 166,
-  166, 166,
-  166, 166,
-  166, 166,
-  166, 166,
-  166, 166,
-  166, 166,
-  166, 166,
-  166, 166,
-  166, 166,
-  166, 166,
-  166, 166,
-  166, 166,
-  166, 166,
-  166, 166,
-  166, 166,
-  166, 166,
-  166, 166,
-  166, 166,
-  166, 166,
-  166, 166,
-  166, 166,
-  166, 166,
-  166, 166,
-  166, 166,
-  166, 166,
-  166, 166,
-  166, 166,
-  166, 166,
-  166, 166,
-  166, 166,
-  166, 166,
-  166, 166,
-  166, 166,
-  166, 166,
-  166, 166,
-  166, 166,
-  166, 166,
-  166, 166,
-  166, 166,
-  166, 166,
-  166, 166,
-  166, 166,
-  166, 166,
-  166, 166,
-  166, 166,
-  166, 166,
-  166, 166,
-  166, 166,
-  166, 166,
-  166, 166,
-  166, 166,
-  166, 166,
-  166, 166,
-  166, 166,
-  166, 166,
-  166, 167,
-  166, 167,
-  166, 167,
-  167, 167,
-  167, 167,
-  167, 167,
-  167, 167,
-  167, 167
+  165, 167,
+  167, 169,
+  169, 171,
+  171, 174,
+  174, 175,
+  175, 175,
+  175, 176,
+  176, 176,
+  176, 177,
+  177, 177,
+  177, 177,
+  177, 177,
+  177, 177,
+  177, 177,
+  177, 177,
+  177, 177,
+  177, 177,
+  177, 177,
+  177, 177,
+  177, 177,
+  177, 177,
+  177, 177,
+  177, 177,
+  177, 177,
+  177, 178,
+  177, 178,
+  177, 178,
+  177, 178,
+  178, 179,
+  179, 179,
+  179, 179,
+  179, 179,
+  179, 179,
+  179, 179,
+  179, 179,
+  179, 179,
+  179, 179,
+  179, 179,
+  179, 179,
+  179, 179,
+  179, 180,
+  179, 180,
+  179, 180,
+  179, 180,
+  179, 180,
+  180, 180,
+  180, 180,
+  180, 180,
+  180, 180,
+  180, 180,
+  180, 180,
+  180, 180,
+  180, 180,
+  180, 180,
+  180, 180,
+  180, 180,
+  180, 180,
+  180, 180,
+  180, 180,
+  180, 180,
+  180, 180,
+  180, 180,
+  180, 180,
+  180, 180,
+  180, 180,
+  180, 180,
+  180, 180,
+  180, 180,
+  180, 180,
+  180, 180,
+  180, 180,
+  180, 180,
+  180, 180,
+  180, 180,
+  180, 180,
+  180, 180,
+  180, 180,
+  180, 180,
+  180, 180,
+  180, 180,
+  180, 180,
+  180, 180,
+  180, 180,
+  180, 180,
+  180, 180,
+  180, 180,
+  180, 180,
+  180, 180,
+  180, 180,
+  180, 180,
+  180, 180,
+  180, 180,
+  180, 180,
+  180, 180,
+  180, 180,
+  180, 180,
+  180, 180,
+  180, 180,
+  180, 180,
+  180, 180,
+  180, 180,
+  180, 180,
+  180, 180,
+  180, 180,
+  180, 180,
+  180, 180,
+  180, 180,
+  180, 180,
+  180, 180,
+  180, 180,
+  180, 180,
+  180, 180,
+  180, 180,
+  180, 180,
+  180, 180,
+  180, 180,
+  180, 180,
+  180, 180,
+  180, 180,
+  180, 180,
+  180, 180,
+  180, 180,
+  180, 180,
+  180, 180,
+  180, 180,
+  180, 180,
+  180, 180,
+  180, 180,
+  180, 180,
+  180, 180,
+  180, 180,
+  180, 180,
+  180, 180,
+  180, 180,
+  180, 180,
+  180, 180,
+  180, 180,
+  180, 180,
+  180, 180,
+  180, 180,
+  180, 180,
+  180, 180,
+  180, 180,
+  180, 180,
+  180, 180,
+  180, 180,
+  180, 180,
+  180, 180,
+  180, 180,
+  180, 180,
+  180, 180,
+  180, 180,
+  180, 180,
+  180, 180,
+  180, 180,
+  180, 180,
+  180, 180,
+  180, 180,
+  180, 180,
+  180, 180,
+  180, 180,
+  180, 180,
+  180, 180,
+  180, 180,
+  180, 180,
+  180, 180,
+  180, 180,
+  180, 180,
+  180, 180,
+  180, 180,
+  180, 180,
+  180, 180,
+  180, 180,
+  180, 180,
+  180, 180,
+  180, 180,
+  180, 180,
+  180, 180,
+  180, 180,
+  180, 180,
+  180, 180,
+  180, 180,
+  180, 180,
+  180, 180,
+  180, 180,
+  180, 180,
+  180, 180,
+  180, 180,
+  180, 180,
+  180, 180,
+  180, 180,
+  180, 180,
+  180, 180,
+  180, 180,
+  180, 180,
+  180, 180,
+  180, 180,
+  180, 180,
+  180, 180,
+  180, 180,
+  180, 181,
+  181, 182,
+  182, 183,
+  183, 185,
+  185, 186,
+  185, 186,
+  185, 186,
+  185, 186,
+  186, 186,
+  186, 186,
+  186, 186,
+  186, 186,
+  186, 186,
+  186, 186,
+  186, 186,
+  186, 186,
+  186, 186,
+  186, 186,
+  186, 186,
+  186, 186,
+  186, 186,
+  186, 186,
+  186, 186,
+  186, 186,
+  186, 186,
+  186, 186,
+  186, 186,
+  186, 186,
+  186, 186,
+  186, 186,
+  186, 186,
+  186, 186,
+  186, 188,
+  188, 189,
+  189, 190,
+  190, 190,
+  190, 190,
+  190, 190,
+  190, 190,
+  190, 190,
+  190, 190,
+  190, 190,
+  190, 190,
+  190, 190,
+  190, 190,
+  190, 190,
+  190, 190,
+  190, 190,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  190, 191,
+  191, 192,
+  191, 192,
+  191, 192,
+  191, 192,
+  191, 192,
+  191, 192,
+  191, 192,
+  191, 192,
+  191, 192,
+  191, 192,
+  191, 192,
+  191, 192,
+  191, 192,
+  191, 192,
+  191, 192,
+  191, 192,
+  191, 192,
+  192, 192,
+  192, 192,
+  192, 192,
+  192, 192,
+  192, 192,
+  192, 192,
+  192, 192,
+  192, 192,
+  192, 192,
+  192, 192,
+  192, 192,
+  192, 192,
+  192, 192,
+  192, 192,
+  192, 192,
+  192, 192,
+  192, 192,
+  192, 192,
+  192, 192,
+  192, 192,
+  192, 192,
+  192, 192,
+  192, 192,
+  192, 192,
+  192, 192,
+  192, 192,
+  192, 192,
+  192, 192,
+  192, 192,
+  192, 192,
+  192, 192,
+  192, 192,
+  192, 192,
+  192, 192,
+  192, 192,
+  192, 192,
+  192, 192,
+  192, 192,
+  192, 192,
+  192, 192,
+  192, 192,
+  192, 192,
+  192, 192,
+  192, 192,
+  192, 192,
+  192, 192,
+  192, 192,
+  192, 192,
+  192, 192,
+  192, 192,
+  192, 192,
+  192, 192,
+  192, 192,
+  192, 192,
+  192, 192,
+  192, 192,
+  192, 192,
+  192, 192,
+  192, 192,
+  192, 192,
+  192, 192,
+  192, 192,
+  192, 192,
+  192, 192,
+  192, 193,
+  192, 193,
+  192, 193,
+  193, 193,
+  193, 193,
+  193, 193,
+  193, 193,
+  193, 193
 };
-#define blocks_upper_first_index 167
-#define blocks_upper_last_index 171
+#define blocks_upper_first_index 193
+#define blocks_upper_last_index 197
--- a/lib/unictype/categ_C.h
+++ b/lib/unictype/categ_C.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Categories of Unicode characters.  */
-/* Generated automatically by gen-ctype.c for Unicode 5.1.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 5.2.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
@@ -11,7 +11,7 @@
     int header[1];
     int level1[17];
     short level2[5 << 7];
-    /*unsigned*/ int level3[52 << 4];
+    /*unsigned*/ int level3[57 << 4];
   }
 u_categ_C =
 {
@@ -46,6 +46,7 @@
        18 +   640 * sizeof (short) / sizeof (int) +   112,
        18 +   640 * sizeof (short) / sizeof (int) +   128,
        18 +   640 * sizeof (short) / sizeof (int) +   144,
+       -1,
        18 +   640 * sizeof (short) / sizeof (int) +   160,
        18 +   640 * sizeof (short) / sizeof (int) +   176,
        18 +   640 * sizeof (short) / sizeof (int) +   192,
@@ -55,13 +56,12 @@
        18 +   640 * sizeof (short) / sizeof (int) +   256,
        18 +   640 * sizeof (short) / sizeof (int) +   272,
        18 +   640 * sizeof (short) / sizeof (int) +   288,
+       -1,
        18 +   640 * sizeof (short) / sizeof (int) +   304,
-       -1,
        18 +   640 * sizeof (short) / sizeof (int) +   320,
        18 +   640 * sizeof (short) / sizeof (int) +   336,
        18 +   640 * sizeof (short) / sizeof (int) +   352,
        18 +   640 * sizeof (short) / sizeof (int) +   368,
-       18 +   640 * sizeof (short) / sizeof (int) +   384,
        -1,
        -1,
        -1,
@@ -74,7 +74,7 @@
        -1,
        -1,
        -1,
-       18 +   640 * sizeof (short) / sizeof (int) +   400,
+       18 +   640 * sizeof (short) / sizeof (int) +   384,
        -1,
        -1,
        -1,
@@ -115,13 +115,13 @@
        -1,
        -1,
        -1,
-       18 +   640 * sizeof (short) / sizeof (int) +   416,
+       18 +   640 * sizeof (short) / sizeof (int) +   400,
        -1,
        -1,
+       18 +   640 * sizeof (short) / sizeof (int) +   416,
        18 +   640 * sizeof (short) / sizeof (int) +   432,
        18 +   640 * sizeof (short) / sizeof (int) +   448,
        18 +   640 * sizeof (short) / sizeof (int) +   464,
-       18 +   640 * sizeof (short) / sizeof (int) +   480,
        -1,
        -1,
        -1,
@@ -143,22 +143,23 @@
        -1,
        -1,
        -1,
+       18 +   640 * sizeof (short) / sizeof (int) +   480,
        18 +   640 * sizeof (short) / sizeof (int) +   496,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
        18 +   640 * sizeof (short) / sizeof (int) +   512,
        18 +   640 * sizeof (short) / sizeof (int) +   528,
        18 +   640 * sizeof (short) / sizeof (int) +   544,
@@ -166,132 +167,131 @@
        18 +   640 * sizeof (short) / sizeof (int) +   576,
        18 +   640 * sizeof (short) / sizeof (int) +   592,
        18 +   640 * sizeof (short) / sizeof (int) +   608,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
        18 +   640 * sizeof (short) / sizeof (int) +   624,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
        18 +   640 * sizeof (short) / sizeof (int) +   640,
        18 +   640 * sizeof (short) / sizeof (int) +   656,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       -1,
        18 +   640 * sizeof (short) / sizeof (int) +   672,
        18 +   640 * sizeof (short) / sizeof (int) +   688,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       -1,
        18 +   640 * sizeof (short) / sizeof (int) +   704,
        18 +   640 * sizeof (short) / sizeof (int) +   720,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       -1,
+       -1,
        18 +   640 * sizeof (short) / sizeof (int) +   736,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
        18 +   640 * sizeof (short) / sizeof (int) +   752,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
        18 +   640 * sizeof (short) / sizeof (int) +   768,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
+       18 +   640 * sizeof (short) / sizeof (int) +   784,
+       18 +   640 * sizeof (short) / sizeof (int) +   800,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   816,
+       18 +   640 * sizeof (short) / sizeof (int) +   832,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
        -1,
        -1,
        -1,
@@ -375,307 +375,307 @@
        -1,
        -1,
        -1,
-       18 +   640 * sizeof (short) / sizeof (int) +   784,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
+       18 +   640 * sizeof (short) / sizeof (int) +   848,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       18 +   640 * sizeof (short) / sizeof (int) +   864,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
        -1,
-       18 +   640 * sizeof (short) / sizeof (int) +   800,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   816,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
-       18 +   640 * sizeof (short) / sizeof (int) +   512
+       18 +   640 * sizeof (short) / sizeof (int) +   880,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   896,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496,
+       18 +   640 * sizeof (short) / sizeof (int) +   496
   },
   {
     0xFFFFFFFF, 0x00000000, 0x00000000, 0x80000000,
@@ -688,16 +688,16 @@
     0x0000280F, 0x00000004, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x0001FFF0, 0x01800000, 0x00000001,
+    0x00000000, 0x0001FFC0, 0x01800000, 0x00000001,
     0x0001F900, 0x00000000, 0x0000FF00, 0xFFE0F800,
     0x3000003F, 0x00000001, 0x80000000, 0x00000000,
     0x00000000, 0x00000000, 0x20000000, 0x00000000,
     0x0000C000, 0x00000000, 0x00001800, 0x00000000,
     0x00000000, 0xFFFC0000, 0x00000000, 0xF8000000,
-    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x00000000, 0x8000C000, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0x00000001, 0x0C000000, 0x00E0C000, 0x07F80000,
-    0x00066011, 0x0C3A0200, 0x4F7F8660, 0xF8000030,
+    0x00000000, 0x0C000000, 0x00C08000, 0x01F80000,
+    0x00066011, 0x0C3A0200, 0x4F7F8660, 0xF0000030,
     0x00067811, 0x2C920200, 0xA1FDC678, 0xFFC0003F,
     0x00044011, 0x0C120200, 0xFFFEC440, 0xFFFD0030,
     0x00066011, 0x0C120200, 0x4F3FC660, 0xFFFC0030,
@@ -709,64 +709,60 @@
     0x00000001, 0x78000000, 0xF0000000, 0xFFFFFFFF,
     0x010FDA69, 0xC4001351, 0xCC00C0A0, 0xFFFFFFFF,
     0x00000000, 0x00000000, 0x00000100, 0x0001E000,
-    0x0100F000, 0x20000000, 0xFFE02000, 0xFFFFFFFF,
+    0x0100F000, 0x20000000, 0xFE002000, 0xFFFFFFFF,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x3C000000, 0x00000000, 0x0000FFC0, 0xE0000000,
-    0x00000000, 0x00000000, 0x7C000000, 0x00000000,
-    0x00000000, 0x000000F8, 0x00000000, 0xFC000000,
+    0x00000000, 0x00000000, 0x0000FFC0, 0xE0000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0xC280C200, 0x00000000,
     0x0000C200, 0x80C20000, 0x008000C2, 0x00000000,
     0x00C20000, 0x00000000, 0x78000000, 0xE0000000,
     0xFC000000, 0x00000000, 0x00000000, 0xFFE00000,
-    0x00000001, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0xFF800000,
     0xE0000000, 0x00000000, 0x00000000, 0xFFFE0000,
     0xFFE02000, 0xFF800000, 0xFFF00000, 0xFFF22000,
     0x00000000, 0x00300000, 0xC0000000, 0xFC00FC00,
     0xFC008000, 0x00000000, 0x00000000, 0xFF000000,
-    0x00000000, 0xFFFFF800, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x00000000, 0x0000F800, 0x00000000, 0xFFC00000,
     0xE0000000, 0xF000F000, 0x0000000E, 0xFFE0C000,
-    0x00000000, 0x0000FC00, 0x3C00FC00, 0x00000000,
-    0x30000000, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x00000000, 0x0000F000, 0x3800FC00, 0x00000000,
+    0x30000000, 0x00000000, 0x80000000, 0x60000000,
+    0xFC00FC00, 0xFFFFC000, 0xFFFFFFFF, 0xFFFFFFFF,
     0x00000000, 0x00000000, 0x0000F000, 0xE0000000,
     0x00000000, 0xFC003800, 0xFFFFFFFF, 0xFFFFFFFF,
     0x00000000, 0x07000000, 0x00001C00, 0x00000000,
-    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x0000FFFF, 0xFFF80000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x3FFFFF80,
+    0x00000000, 0x00000000, 0x00000000, 0x1FFFFF80,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0xC0C00000, 0x00000000, 0x5500C0C0, 0xC0000000,
     0x00000000, 0x00200000, 0x10300020, 0x80230000,
     0x0000F800, 0x00007C00, 0x00000000, 0x000CFFFF,
-    0xFFE08000, 0xFFC00000, 0x0000FFFF, 0xFFFE0000,
-    0x00000000, 0x00000000, 0x00070000, 0x00000000,
-    0x0000FE00, 0x00000000, 0x00000000, 0x00000000,
+    0xFFE08000, 0xFE000000, 0x0000FFFF, 0xFFFE0000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x0000FC00, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0xFFFFFF00,
+    0x00000000, 0x00000000, 0x00000000, 0xFFFFFE00,
     0x00000000, 0xFFFFFF80, 0xFFFFF800, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0xC0000000, 0xE0000000, 0xFFFFFFF0, 0xFFFFFFFF,
-    0x00000C21, 0x00000100, 0x80B85000, 0x00000001,
+    0x00000000, 0x00000000, 0x00004000, 0x000000F4,
+    0x00000C21, 0x00000100, 0x80385000, 0x00000001,
     0x00E00000, 0x80010000, 0x0000E800, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0xFFE0E000, 0xFFFFFFFF,
+    0x00000000, 0x00000000, 0xFC00E000, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0x00000000, 0x00008000, 0x80000000, 0xC0010000,
-    0x00000000, 0x00000000, 0x00000000, 0x01FFF800,
+    0x00000000, 0x00008000, 0x80000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x01FC0000,
     0x00000000, 0x0000FFC0, 0x00000000, 0xFFFF7FC0,
     0xFF800000, 0x80808080, 0x80808080, 0x00000000,
-    0x00000000, 0xFFFE0000, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x00000000, 0xFFFC0000, 0xFFFFFFFF, 0xFFFFFFFF,
     0x04000000, 0x00000000, 0x00000000, 0xFFF00000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0xFFC00000, 0xF000FFFF,
@@ -774,7 +770,7 @@
     0x01800000, 0x00000000, 0x00000000, 0x00000000,
     0x0000001F, 0x0001C000, 0x00000000, 0x00000000,
     0x00008000, 0xFF000000, 0x00000000, 0x0000FFF0,
-    0x80000000, 0x00000000, 0x0000FFF0, 0x00000000,
+    0x80000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x80000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
@@ -785,27 +781,27 @@
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0xFFFFFFF0, 0xFFFFFFFF,
+    0x00000000, 0x00000000, 0xFFFFF000, 0xFFFFFFFF,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x0000E000, 0x00000000, 0xFFFFFF80, 0xFFFFFFFF,
+    0x0000E000, 0x00000000, 0x0000FF80, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0xFFFFF000, 0x00000000, 0x0FF00003,
-    0xFF000000, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFF000000, 0x00000000, 0x00000000, 0xFF000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0xFFFFE000, 0xFFFFFFFF, 0xFFFFFFFF, 0x07FFFFFF,
-    0x00000000, 0xFFFFF000, 0x00000000, 0xFF000000,
-    0x00000000, 0x00000000, 0xFC003FE0, 0xFFFFFFFF,
-    0x00000000, 0x00000000, 0x7FF00000, 0xFFFFFFFF,
+    0x00000000, 0xFC00F000, 0x00000000, 0xFF000000,
+    0x00000000, 0x00000000, 0xFC003FE0, 0xF0000000,
+    0x00000000, 0x00000000, 0x7FF00000, 0xE0000000,
+    0x00000000, 0x00000000, 0x3C004000, 0xFFFFFFFF,
+    0x00000000, 0xFF800000, 0x0C00C000, 0xF0000000,
+    0x00000000, 0x00000000, 0x07FFFFF8, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0x00000000, 0xFF800000, 0x0C00C000, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x00000000, 0xFC00C000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0xFFFFFFF0, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x00000000, 0x0000FFF0, 0x00000780, 0xF0000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
@@ -814,7 +810,7 @@
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x0000C000, 0x00000000, 0x0000F800,
+    0x00000000, 0x0000C000, 0x00000000, 0x0000C000,
     0x00000000, 0x00000000, 0xFC000000, 0xFFFFFFFF,
     0x1F07FF80, 0xA0800000, 0x00000024, 0x00000000,
     0x00000000, 0xFFFC0000, 0x0007FFFF, 0x00000000,
@@ -838,14 +834,26 @@
     0xC0000000, 0xFFFFFC00, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0x000002C0, 0x6E400000, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x000002C0, 0x6E400000, 0x00400000, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x70000000, 0x7C000000, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x01100F90, 0x78F00000, 0xFE00FF00, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x00000000, 0x01C00000, 0x00C00000, 0x00F80000,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0x7C000000, 0x7C000000, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x00000000, 0x00000000, 0xFFFFFE00, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0x01100F90, 0x78F00000, 0xFE00FF00, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x80000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x00000000, 0x20000000, 0xFFFFFFFC, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0xFFFF8000,
@@ -854,6 +862,10 @@
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x00000000, 0xFFFF8000, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0xFFC00000,
     0x00000000, 0x00000180, 0x00000000, 0x07F80000,
@@ -872,11 +884,19 @@
     0x00000000, 0x00000000, 0x00003000, 0x00000000,
     0x00000000, 0x0000F000, 0x00000000, 0x00000000,
     0xFFF00000, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x0000F800, 0x5FFD8000, 0x7F7F83BB, 0x65FFFFFF,
+    0xFFFEC3FF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x0000FFFE, 0xFFFC0000, 0xFFFFFE00, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0xFF800000, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0xFFE00000, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xC0000000, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
--- a/lib/unictype/categ_Cc.h
+++ b/lib/unictype/categ_Cc.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Categories of Unicode characters.  */
-/* Generated automatically by gen-ctype.c for Unicode 5.1.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 5.2.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
--- a/lib/unictype/categ_Cf.h
+++ b/lib/unictype/categ_Cf.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Categories of Unicode characters.  */
-/* Generated automatically by gen-ctype.c for Unicode 5.1.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 5.2.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
@@ -11,7 +11,7 @@
     int header[1];
     int level1[15];
     short level2[3 << 7];
-    /*unsigned*/ int level3[7 << 4];
+    /*unsigned*/ int level3[8 << 4];
   }
 u_categ_Cf =
 {
@@ -170,6 +170,7 @@
        -1,
        -1,
        -1,
+       16 +   384 * sizeof (short) / sizeof (int) +    80,
        -1,
        -1,
        -1,
@@ -265,8 +266,7 @@
        -1,
        -1,
        -1,
-       -1,
-       16 +   384 * sizeof (short) / sizeof (int) +    80,
+       16 +   384 * sizeof (short) / sizeof (int) +    96,
        -1,
        -1,
        -1,
@@ -290,7 +290,7 @@
        -1,
        -1,
        -1,
-       16 +   384 * sizeof (short) / sizeof (int) +    96,
+       16 +   384 * sizeof (short) / sizeof (int) +   112,
        -1,
        -1,
        -1,
@@ -441,6 +441,10 @@
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x0E000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x20000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x07F80000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
--- a/lib/unictype/categ_Cn.h
+++ b/lib/unictype/categ_Cn.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Categories of Unicode characters.  */
-/* Generated automatically by gen-ctype.c for Unicode 5.1.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 5.2.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
@@ -11,7 +11,7 @@
     int header[1];
     int level1[17];
     short level2[6 << 7];
-    /*unsigned*/ int level3[51 << 4];
+    /*unsigned*/ int level3[56 << 4];
   }
 u_categ_Cn =
 {
@@ -46,6 +46,7 @@
        18 +   768 * sizeof (short) / sizeof (int) +    96,
        18 +   768 * sizeof (short) / sizeof (int) +   112,
        18 +   768 * sizeof (short) / sizeof (int) +   128,
+       -1,
        18 +   768 * sizeof (short) / sizeof (int) +   144,
        18 +   768 * sizeof (short) / sizeof (int) +   160,
        18 +   768 * sizeof (short) / sizeof (int) +   176,
@@ -55,13 +56,12 @@
        18 +   768 * sizeof (short) / sizeof (int) +   240,
        18 +   768 * sizeof (short) / sizeof (int) +   256,
        18 +   768 * sizeof (short) / sizeof (int) +   272,
+       -1,
        18 +   768 * sizeof (short) / sizeof (int) +   288,
-       -1,
        18 +   768 * sizeof (short) / sizeof (int) +   304,
        18 +   768 * sizeof (short) / sizeof (int) +   320,
        18 +   768 * sizeof (short) / sizeof (int) +   336,
        18 +   768 * sizeof (short) / sizeof (int) +   352,
-       18 +   768 * sizeof (short) / sizeof (int) +   368,
        -1,
        -1,
        -1,
@@ -74,7 +74,7 @@
        -1,
        -1,
        -1,
-       18 +   768 * sizeof (short) / sizeof (int) +   384,
+       18 +   768 * sizeof (short) / sizeof (int) +   368,
        -1,
        -1,
        -1,
@@ -115,13 +115,13 @@
        -1,
        -1,
        -1,
-       18 +   768 * sizeof (short) / sizeof (int) +   400,
+       18 +   768 * sizeof (short) / sizeof (int) +   384,
        -1,
        -1,
+       18 +   768 * sizeof (short) / sizeof (int) +   400,
        18 +   768 * sizeof (short) / sizeof (int) +   416,
        18 +   768 * sizeof (short) / sizeof (int) +   432,
        18 +   768 * sizeof (short) / sizeof (int) +   448,
-       18 +   768 * sizeof (short) / sizeof (int) +   464,
        -1,
        -1,
        -1,
@@ -143,7 +143,7 @@
        -1,
        -1,
        -1,
-       18 +   768 * sizeof (short) / sizeof (int) +   480,
+       18 +   768 * sizeof (short) / sizeof (int) +   464,
        -1,
        -1,
        -1,
@@ -161,6 +161,7 @@
        -1,
        -1,
        -1,
+       18 +   768 * sizeof (short) / sizeof (int) +   480,
        18 +   768 * sizeof (short) / sizeof (int) +   496,
        18 +   768 * sizeof (short) / sizeof (int) +   512,
        18 +   768 * sizeof (short) / sizeof (int) +   528,
@@ -170,128 +171,127 @@
        18 +   768 * sizeof (short) / sizeof (int) +   592,
        18 +   768 * sizeof (short) / sizeof (int) +   608,
        18 +   768 * sizeof (short) / sizeof (int) +   624,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       -1,
        18 +   768 * sizeof (short) / sizeof (int) +   640,
        18 +   768 * sizeof (short) / sizeof (int) +   656,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       -1,
        18 +   768 * sizeof (short) / sizeof (int) +   672,
        18 +   768 * sizeof (short) / sizeof (int) +   688,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       -1,
+       -1,
        18 +   768 * sizeof (short) / sizeof (int) +   704,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
        18 +   768 * sizeof (short) / sizeof (int) +   720,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
        18 +   768 * sizeof (short) / sizeof (int) +   736,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
+       18 +   768 * sizeof (short) / sizeof (int) +   752,
+       18 +   768 * sizeof (short) / sizeof (int) +   768,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   784,
+       18 +   768 * sizeof (short) / sizeof (int) +   800,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
        -1,
        -1,
        -1,
@@ -375,307 +375,307 @@
        -1,
        -1,
        -1,
-       18 +   768 * sizeof (short) / sizeof (int) +   752,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
+       18 +   768 * sizeof (short) / sizeof (int) +   816,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       18 +   768 * sizeof (short) / sizeof (int) +   832,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
        -1,
-       18 +   768 * sizeof (short) / sizeof (int) +   768,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   784,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
-       18 +   768 * sizeof (short) / sizeof (int) +   592,
+       18 +   768 * sizeof (short) / sizeof (int) +   848,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   864,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
+       18 +   768 * sizeof (short) / sizeof (int) +   576,
        -1,
        -1,
        -1,
@@ -803,7 +803,7 @@
        -1,
        -1,
        -1,
-       18 +   768 * sizeof (short) / sizeof (int) +   800
+       18 +   768 * sizeof (short) / sizeof (int) +   880
   },
   {
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
@@ -812,16 +812,16 @@
     0x0000280F, 0x00000004, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x0001FFF0, 0x01800000, 0x00000001,
+    0x00000000, 0x0001FFC0, 0x01800000, 0x00000001,
     0x0001F900, 0x00000000, 0x0000FF00, 0xFFE0F800,
     0x30000030, 0x00000001, 0x80000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00004000, 0x00000000, 0x00001800, 0x00000000,
     0x00000000, 0xFFFC0000, 0x00000000, 0xF8000000,
-    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x00000000, 0x8000C000, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0x00000001, 0x0C000000, 0x00E0C000, 0x07F80000,
-    0x00066011, 0x0C3A0200, 0x4F7F8660, 0xF8000030,
+    0x00000000, 0x0C000000, 0x00C08000, 0x01F80000,
+    0x00066011, 0x0C3A0200, 0x4F7F8660, 0xF0000030,
     0x00067811, 0x2C920200, 0xA1FDC678, 0xFFC0003F,
     0x00044011, 0x0C120200, 0xFFFEC440, 0xFFFD0030,
     0x00066011, 0x0C120200, 0x4F3FC660, 0xFFFC0030,
@@ -833,64 +833,60 @@
     0x00000001, 0x78000000, 0xF0000000, 0xFFFFFFFF,
     0x010FDA69, 0xC4001351, 0xCC00C0A0, 0xFFFFFFFF,
     0x00000000, 0x00000000, 0x00000100, 0x0001E000,
-    0x0100F000, 0x20000000, 0xFFE02000, 0xFFFFFFFF,
+    0x0100F000, 0x20000000, 0xFE002000, 0xFFFFFFFF,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x3C000000, 0x00000000, 0x0000FFC0, 0xE0000000,
-    0x00000000, 0x00000000, 0x7C000000, 0x00000000,
-    0x00000000, 0x000000F8, 0x00000000, 0xFC000000,
+    0x00000000, 0x00000000, 0x0000FFC0, 0xE0000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0xC280C200, 0x00000000,
     0x0000C200, 0x80C20000, 0x008000C2, 0x00000000,
     0x00C20000, 0x00000000, 0x78000000, 0xE0000000,
     0xFC000000, 0x00000000, 0x00000000, 0xFFE00000,
-    0x00000001, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0xFF800000,
     0xE0000000, 0x00000000, 0x00000000, 0xFFFE0000,
     0xFFE02000, 0xFF800000, 0xFFF00000, 0xFFF22000,
     0x00000000, 0x00000000, 0xC0000000, 0xFC00FC00,
     0xFC008000, 0x00000000, 0x00000000, 0xFF000000,
-    0x00000000, 0xFFFFF800, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x00000000, 0x0000F800, 0x00000000, 0xFFC00000,
     0xE0000000, 0xF000F000, 0x0000000E, 0xFFE0C000,
-    0x00000000, 0x0000FC00, 0x3C00FC00, 0x00000000,
-    0x30000000, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x00000000, 0x0000F000, 0x3800FC00, 0x00000000,
+    0x30000000, 0x00000000, 0x80000000, 0x60000000,
+    0xFC00FC00, 0xFFFFC000, 0xFFFFFFFF, 0xFFFFFFFF,
     0x00000000, 0x00000000, 0x0000F000, 0xE0000000,
     0x00000000, 0xFC003800, 0xFFFFFFFF, 0xFFFFFFFF,
     0x00000000, 0x07000000, 0x00001C00, 0x00000000,
-    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x0000FFFF, 0xFFF80000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x3FFFFF80,
+    0x00000000, 0x00000000, 0x00000000, 0x1FFFFF80,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0xC0C00000, 0x00000000, 0x5500C0C0, 0xC0000000,
     0x00000000, 0x00200000, 0x10300020, 0x80230000,
     0x00000000, 0x00000000, 0x00000000, 0x000C03E0,
-    0xFFE08000, 0xFFC00000, 0x0000FFFF, 0xFFFE0000,
-    0x00000000, 0x00000000, 0x00070000, 0x00000000,
-    0x0000FE00, 0x00000000, 0x00000000, 0x00000000,
+    0xFFE08000, 0xFE000000, 0x0000FFFF, 0xFFFE0000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x0000FC00, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0xFFFFFF00,
+    0x00000000, 0x00000000, 0x00000000, 0xFFFFFE00,
     0x00000000, 0xFFFFFF80, 0xFFFFF800, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0xC0000000, 0xE0000000, 0xFFFFFFF0, 0xFFFFFFFF,
-    0x00000C21, 0x00000100, 0x80B85000, 0x00000001,
+    0x00000000, 0x00000000, 0x00004000, 0x000000F4,
+    0x00000C21, 0x00000100, 0x80385000, 0x00000001,
     0x00E00000, 0x80010000, 0x0000E800, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0xFFE0E000, 0xFFFFFFFF,
+    0x00000000, 0x00000000, 0xFC00E000, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0x00000000, 0x00008000, 0x80000000, 0xC0010000,
-    0x00000000, 0x00000000, 0x00000000, 0x01FFF800,
+    0x00000000, 0x00008000, 0x80000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x01FC0000,
     0x00000000, 0x0000FFC0, 0x00000000, 0xFFFF7FC0,
     0xFF800000, 0x80808080, 0x80808080, 0x00000000,
-    0x00000000, 0xFFFE0000, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x00000000, 0xFFFC0000, 0xFFFFFFFF, 0xFFFFFFFF,
     0x04000000, 0x00000000, 0x00000000, 0xFFF00000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0xFFC00000, 0xF000FFFF,
@@ -898,7 +894,7 @@
     0x01800000, 0x00000000, 0x00000000, 0x00000000,
     0x0000001F, 0x0001C000, 0x00000000, 0x00000000,
     0x00008000, 0xFF000000, 0x00000000, 0x0000FFF0,
-    0x80000000, 0x00000000, 0x0000FFF0, 0x00000000,
+    0x80000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x80000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
@@ -909,28 +905,28 @@
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0xFFFFFFF0, 0xFFFFFFFF,
+    0x00000000, 0x00000000, 0xFFFFF000, 0xFFFFFFFF,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x0000E000, 0x00000000, 0xFFFFFF80, 0xFFFFFFFF,
+    0x0000E000, 0x00000000, 0x0000FF80, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0xFFFFF000, 0x00000000, 0x0FF00003,
-    0xFF000000, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFF000000, 0x00000000, 0x00000000, 0xFF000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0xFFFFE000, 0xFFFFFFFF, 0xFFFFFFFF, 0x07FFFFFF,
-    0x00000000, 0xFFFFF000, 0x00000000, 0xFF000000,
-    0x00000000, 0x00000000, 0xFC003FE0, 0xFFFFFFFF,
-    0x00000000, 0x00000000, 0x7FF00000, 0xFFFFFFFF,
+    0x00000000, 0xFC00F000, 0x00000000, 0xFF000000,
+    0x00000000, 0x00000000, 0xFC003FE0, 0xF0000000,
+    0x00000000, 0x00000000, 0x7FF00000, 0xE0000000,
+    0x00000000, 0x00000000, 0x3C004000, 0xFFFFFFFF,
+    0x00000000, 0xFF800000, 0x0C00C000, 0xF0000000,
+    0x00000000, 0x00000000, 0x07FFFFF8, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0x00000000, 0xFF800000, 0x0C00C000, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x00000000, 0xFC00C000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0xFFFFFFF0, 0xFFFFFFFF, 0xFFFFFFFF,
-    0x00000000, 0x0000C000, 0x00000000, 0x0000F800,
+    0x00000000, 0x0000FFF0, 0x00000780, 0xF0000000,
+    0x00000000, 0x0000C000, 0x00000000, 0x0000C000,
     0x00000000, 0x00000000, 0xFC000000, 0xFFFFFFFF,
     0x1F07FF80, 0xA0800000, 0x00000024, 0x00000000,
     0x00000000, 0xFFFC0000, 0x0007FFFF, 0x00000000,
@@ -958,14 +954,26 @@
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0x000002C0, 0x6E400000, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x000002C0, 0x6E400000, 0x00400000, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x70000000, 0x7C000000, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x01100F90, 0x78F00000, 0xFE00FF00, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x00000000, 0x01C00000, 0x00C00000, 0x00F80000,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0x7C000000, 0x7C000000, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x00000000, 0x00000000, 0xFFFFFE00, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0x01100F90, 0x78F00000, 0xFE00FF00, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x80000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x00000000, 0x00000000, 0xFFFFFFFC, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0xFFFF8000,
@@ -974,6 +982,10 @@
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x00000000, 0xFFFF8000, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0xFFC00000,
     0x00000000, 0x00000180, 0x00000000, 0x00000000,
@@ -992,11 +1004,19 @@
     0x00000000, 0x00000000, 0x00003000, 0x00000000,
     0x00000000, 0x0000F000, 0x00000000, 0x00000000,
     0xFFF00000, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x0000F800, 0x5FFD8000, 0x7F7F83BB, 0x65FFFFFF,
+    0xFFFEC3FF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x0000FFFE, 0xFFFC0000, 0xFFFFFE00, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0xFF800000, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0xFFE00000, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xC0000000, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
--- a/lib/unictype/categ_Co.h
+++ b/lib/unictype/categ_Co.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Categories of Unicode characters.  */
-/* Generated automatically by gen-ctype.c for Unicode 5.1.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 5.2.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
--- a/lib/unictype/categ_Cs.h
+++ b/lib/unictype/categ_Cs.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Categories of Unicode characters.  */
-/* Generated automatically by gen-ctype.c for Unicode 5.1.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 5.2.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
--- a/lib/unictype/categ_L.h
+++ b/lib/unictype/categ_L.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Categories of Unicode characters.  */
-/* Generated automatically by gen-ctype.c for Unicode 5.1.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 5.2.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
@@ -11,7 +11,7 @@
     int header[1];
     int level1[3];
     short level2[3 << 7];
-    /*unsigned*/ int level3[42 << 4];
+    /*unsigned*/ int level3[46 << 4];
   }
 u_categ_L =
 {
@@ -156,9 +156,9 @@
        -1,
         4 +   384 * sizeof (short) / sizeof (int) +   560,
         4 +   384 * sizeof (short) / sizeof (int) +   576,
-       -1,
+        4 +   384 * sizeof (short) / sizeof (int) +   592,
        -1,
-       -1,
+        4 +   384 * sizeof (short) / sizeof (int) +   608,
        -1,
        -1,
        -1,
@@ -167,7 +167,16 @@
        -1,
        -1,
         4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   592,
+        4 +   384 * sizeof (short) / sizeof (int) +   624,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   640,
        -1,
        -1,
        -1,
@@ -247,17 +256,8 @@
        -1,
        -1,
        -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-        4 +   384 * sizeof (short) / sizeof (int) +   608,
-        4 +   384 * sizeof (short) / sizeof (int) +   624,
+        4 +   384 * sizeof (short) / sizeof (int) +   656,
+        4 +   384 * sizeof (short) / sizeof (int) +   672,
        -1,
        -1,
        -1,
@@ -361,15 +361,15 @@
         4 +   384 * sizeof (short) / sizeof (int) +   320,
         4 +   384 * sizeof (short) / sizeof (int) +   320,
         4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   640,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
+        4 +   384 * sizeof (short) / sizeof (int) +   688,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   704,
        -1,
        -1,
        -1,
@@ -403,7 +403,7 @@
        -1,
        -1,
         4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   656,
+        4 +   384 * sizeof (short) / sizeof (int) +   720,
        -1,
        -1
   },
@@ -418,15 +418,15 @@
     0xFFFFD740, 0xFFFFFFFB, 0xFFFFFFFF, 0xFFBFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFC03, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFE000F, 0x027FFFFF, 0xFFFFFFFE,
+    0xFFFFFFFF, 0xFFFE003F, 0x027FFFFF, 0xFFFFFFFE,
     0x000000FF, 0x00000000, 0xFFFF0000, 0x000707FF,
     0x00000000, 0xFFFFFFFE, 0x000007FF, 0xFFFEC000,
     0xFFFFFFFF, 0xFFFFFFFF, 0x002FFFFF, 0x9C00C060,
     0xFFFD0000, 0x0000FFFF, 0xFFFFE000, 0xFFFFFFFF,
     0xFFFFFFFF, 0x0002003F, 0xFFFFFC00, 0x043007FF,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x043FFFFF, 0x00000110, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0xFFFFFFF0, 0x23FFFFFF, 0xFF010000, 0xF8060003,
+    0xFFFFFFF0, 0x23FFFFFF, 0xFF010000, 0xFE060003,
     0xFFF99FE0, 0x23C5FDFF, 0xB0004000, 0x00030003,
     0xFFF987E0, 0x036DFDFF, 0x5E000000, 0x001C0000,
     0xFFFBBFE0, 0x23EDFDFF, 0x00010000, 0x00000003,
@@ -442,8 +442,8 @@
     0x00000F00, 0x00000000, 0x00000000, 0x00000000,
     0xFFFFFFFF, 0x800007FF, 0x3C3F0000, 0xFFE1C062,
     0x00004003, 0xFFFFFFFF, 0xFFFF003F, 0x17FFFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0x83FFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFFFF07, 0xFFFFFFFF, 0x03FFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0x3D7F3DFF, 0xFFFFFFFF,
     0xFFFF3DFF, 0x7F3DFFFF, 0xFF7FFF3D, 0xFFFFFFFF,
     0xFF3DFFFF, 0xFFFFFFFF, 0x07FFFFFF, 0x00000000,
@@ -452,20 +452,20 @@
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x007F9FFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFF9FFF,
     0x07FFFFFE, 0xFFFFFFFF, 0xFFFFFFFF, 0x000007FF,
     0x0003DFFF, 0x0003FFFF, 0x0003FFFF, 0x0001DFFF,
     0xFFFFFFFF, 0x000FFFFF, 0x10800000, 0x00000000,
     0x00000000, 0xFFFFFFFF, 0xFFFFFFFF, 0x00FFFFFF,
-    0xFFFFFFFF, 0x000005FF, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFF05FF, 0xFFFFFFFF, 0x003FFFFF,
     0x1FFFFFFF, 0x00000000, 0xFFFF0000, 0x001F3FFF,
-    0xFFFFFFFF, 0x000003FF, 0x000000FE, 0x00000000,
-    0x007FFFFF, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0x00000FFF, 0x000000FE, 0x00000000,
+    0x007FFFFF, 0xFFFFFFFF, 0x001FFFFF, 0x00000000,
+    0x00000000, 0x00000080, 0x00000000, 0x00000000,
     0xFFFFFFE0, 0x000FFFFF, 0x00000FE0, 0x00000000,
     0xFFFFFFF8, 0x0000C001, 0x00000000, 0x00000000,
     0xFFFFFFFF, 0x0000000F, 0xFC00E000, 0x3FFFFFFF,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x0003DE00,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0x00000000, 0x00000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
@@ -476,8 +476,8 @@
     0x001F0000, 0x00000000, 0x00000000, 0x00000000,
     0x3E2FFC84, 0xF3FFBD50, 0x000043E0, 0x00000000,
     0x00000018, 0x00000000, 0x00000000, 0x00000000,
-    0xFFFFFFFF, 0xFFFF7FFF, 0x7FFFFFFF, 0x3FFEFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x0000001F,
+    0xFFFFFFFF, 0xFFFF7FFF, 0x7FFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x0000781F,
     0xFFFFFFFF, 0xFFFF003F, 0xFFFFFFFF, 0x0000803F,
     0x007FFFFF, 0x7F7F7F7F, 0x7F7F7F7F, 0x00000000,
     0x00000000, 0x00008000, 0x00000000, 0x00000000,
@@ -499,32 +499,32 @@
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0x0000000F, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x00000FFF, 0x00000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0x00001FFF, 0x00000000, 0x00000000, 0x00000000,
+    0x00001FFF, 0x00000000, 0xFFFF0000, 0x3FFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFF1FFF, 0x00000C00, 0xFFFFFFFF, 0x80007FFC,
-    0x00FFFFFF, 0x00000000, 0x00000000, 0x00000000,
+    0x00FFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x0000003F,
     0xFF800000, 0xFFFFFFFC, 0xFFFFFFFF, 0xFFFFFFFF,
     0x000019FF, 0x00000000, 0x00000000, 0xF8000000,
     0xFFFFF7BB, 0x00000007, 0xFFFFFFFF, 0x000FFFFF,
-    0xFFFFFFFC, 0x000FFFFF, 0x00000000, 0x00000000,
-    0xFFFFFC00, 0xFFFF003F, 0x0000007F, 0x00000000,
+    0xFFFFFFFC, 0x000FFFFF, 0x00000000, 0x08FC0000,
+    0xFFFFFC00, 0xFFFF003F, 0x0000007F, 0x1FFFFFFF,
+    0xFFFFFFF0, 0x0007FFFF, 0x00008000, 0x00000000,
+    0xFFFFFFFF, 0x000001FF, 0x00000FF7, 0x047FFFFF,
+    0xFFFFFFFF, 0x3E62FFFF, 0x38000005, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0xFFFFFFFF, 0x000001FF, 0x00000FF7, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0xFFFFFFFF, 0x00000007,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFF000F, 0xFFFFF87F, 0x0FFFFFFF,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0x0000000F, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFF3FFF, 0xFFFFFFFF, 0xFFFF07FF,
+    0xFFFFFFFF, 0xFFFF3FFF, 0xFFFFFFFF, 0xFFFF3FFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0x03FFFFFF, 0x00000000,
     0xA0F8007F, 0x5F7FFDFF, 0xFFFFFFDB, 0xFFFFFFFF,
     0xFFFFFFFF, 0x0003FFFF, 0xFFF80000, 0xFFFFFFFF,
@@ -548,18 +548,30 @@
     0x3FFFFFFF, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0xFFFFFD3F, 0x91BFFFFF, 0x00000000, 0x00000000,
+    0xFFFFFD3F, 0x91BFFFFF, 0x003FFFFF, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x003FFFFF, 0x03FFFFFF, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0xFEEF0001, 0x000FFFFF, 0x00000000, 0x00000000,
+    0xFEEF0001, 0x000FFFFF, 0x00000000, 0x1FFFFFFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0x003FFFFF, 0x003FFFFF, 0x0007FFFF,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x000001FF, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFF8, 0x0000FFFF, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x00007FFF,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0x00007FFF, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFDFFFFF, 0xFFFFFFFF,
     0xDFFFFFFF, 0xEBFFDE64, 0xFFFFFFEF, 0xFFFFFFFF,
     0xDFDFE7BF, 0x7BFFFFFF, 0xFFFDFC5F, 0xFFFFFFFF,
@@ -570,7 +582,11 @@
     0xFFFFFDFF, 0xFFFFFDFF, 0x00000FF7, 0x00000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0x007FFFFF, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0x001FFFFF, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x3FFFFFFF, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
--- a/lib/unictype/categ_Ll.h
+++ b/lib/unictype/categ_Ll.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Categories of Unicode characters.  */
-/* Generated automatically by gen-ctype.c for Unicode 5.1.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 5.2.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
@@ -289,7 +289,7 @@
     0x00010000, 0xFFFFF000, 0xAAE37FFF, 0x192FAAAA,
     0x00000000, 0xFFFF0000, 0xFFFFFFFF, 0xAAAAAAAA,
     0xAAAAA802, 0xAAAAAAAA, 0xAAAAD554, 0xAAAAAAAA,
-    0xAAAAAAAA, 0x0000000A, 0x00000000, 0xFFFFFFFE,
+    0xAAAAAAAA, 0x0000002A, 0x00000000, 0xFFFFFFFE,
     0x000000FF, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
@@ -299,12 +299,12 @@
     0xBFEAAAAA, 0xAAAAAAAA, 0xAAAAAAAA, 0xAAAAAAAA,
     0x003F00FF, 0x00FF00FF, 0x00FF003F, 0x3FFF00FF,
     0x00FF00FF, 0x40DF00FF, 0x00CF00DC, 0x00DC00FF,
-    0x00000000, 0x00000000, 0x00000000, 0x80020000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x0008C400, 0x32108000, 0x000043C0, 0x00000000,
     0x00000010, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0xFFFF0000, 0x7FFFFFFF, 0x1FDA1562,
-    0xAAAAAAAA, 0xAAAAAAAA, 0xAAAAAAAA, 0x0000001A,
+    0xAAAAAAAA, 0xAAAAAAAA, 0xAAAAAAAA, 0x0000501A,
     0xFFFFFFFF, 0x0000003F, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0xAAAAAAAA, 0x00002AA8,
--- a/lib/unictype/categ_Lm.h
+++ b/lib/unictype/categ_Lm.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Categories of Unicode characters.  */
-/* Generated automatically by gen-ctype.c for Unicode 5.1.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 5.2.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
@@ -11,7 +11,7 @@
     int header[1];
     int level1[1];
     short level2[1 << 7];
-    /*unsigned*/ int level3[16 << 4];
+    /*unsigned*/ int level3[20 << 4];
   }
 u_categ_Lm =
 {
@@ -31,18 +31,18 @@
        -1,
         2 +   128 * sizeof (short) / sizeof (int) +    96,
         2 +   128 * sizeof (short) / sizeof (int) +   112,
+        2 +   128 * sizeof (short) / sizeof (int) +   128,
+        2 +   128 * sizeof (short) / sizeof (int) +   144,
        -1,
-        2 +   128 * sizeof (short) / sizeof (int) +   128,
-       -1,
-        2 +   128 * sizeof (short) / sizeof (int) +   144,
+        2 +   128 * sizeof (short) / sizeof (int) +   160,
        -1,
        -1,
        -1,
        -1,
        -1,
-        2 +   128 * sizeof (short) / sizeof (int) +   160,
         2 +   128 * sizeof (short) / sizeof (int) +   176,
         2 +   128 * sizeof (short) / sizeof (int) +   192,
+        2 +   128 * sizeof (short) / sizeof (int) +   208,
        -1,
        -1,
        -1,
@@ -98,12 +98,12 @@
        -1,
        -1,
        -1,
-        2 +   128 * sizeof (short) / sizeof (int) +   208,
-       -1,
-       -1,
         2 +   128 * sizeof (short) / sizeof (int) +   224,
        -1,
-       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +   240,
+        2 +   128 * sizeof (short) / sizeof (int) +   256,
+        2 +   128 * sizeof (short) / sizeof (int) +   272,
+        2 +   128 * sizeof (short) / sizeof (int) +   288,
        -1,
        -1,
        -1,
@@ -145,7 +145,7 @@
        -1,
        -1,
        -1,
-        2 +   128 * sizeof (short) / sizeof (int) +   240
+        2 +   128 * sizeof (short) / sizeof (int) +   304
   },
   {
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
@@ -160,7 +160,7 @@
     0x00000000, 0x00000000, 0x00000000, 0x00000060,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x04300000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x04000000, 0x00000110, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00020000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
@@ -180,11 +180,15 @@
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000080, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x3F000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0xFFFFF000, 0xFFFFFFFF, 0x01000003,
     0xF8000000, 0xFFFFFFFF, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x80020000,
     0x001F0000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
@@ -204,12 +208,24 @@
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x3F000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00001000, 0x00000000, 0x00000000, 0x80000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0xFF800000, 0x00000000, 0x00000000, 0x00010000,
     0x00000100, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00008000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00010000,
+    0x00000000, 0x00000000, 0x20000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00010000,
     0xC0000000, 0x00000000, 0x00000000, 0x00000000
   }
--- a/lib/unictype/categ_Lo.h
+++ b/lib/unictype/categ_Lo.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Categories of Unicode characters.  */
-/* Generated automatically by gen-ctype.c for Unicode 5.1.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 5.2.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
@@ -11,7 +11,7 @@
     int header[1];
     int level1[3];
     short level2[3 << 7];
-    /*unsigned*/ int level3[39 << 4];
+    /*unsigned*/ int level3[43 << 4];
   }
 u_categ_Lo =
 {
@@ -156,9 +156,9 @@
        -1,
         4 +   384 * sizeof (short) / sizeof (int) +   544,
         4 +   384 * sizeof (short) / sizeof (int) +   560,
-       -1,
+        4 +   384 * sizeof (short) / sizeof (int) +   576,
        -1,
-       -1,
+        4 +   384 * sizeof (short) / sizeof (int) +   592,
        -1,
        -1,
        -1,
@@ -167,16 +167,16 @@
        -1,
        -1,
         4 +   384 * sizeof (short) / sizeof (int) +   288,
-        4 +   384 * sizeof (short) / sizeof (int) +   576,
+        4 +   384 * sizeof (short) / sizeof (int) +   608,
        -1,
        -1,
        -1,
        -1,
        -1,
        -1,
-       -1,
-       -1,
-       -1,
+        4 +   384 * sizeof (short) / sizeof (int) +   288,
+        4 +   384 * sizeof (short) / sizeof (int) +   288,
+        4 +   384 * sizeof (short) / sizeof (int) +   624,
        -1,
        -1,
        -1,
@@ -361,15 +361,15 @@
         4 +   384 * sizeof (short) / sizeof (int) +   288,
         4 +   384 * sizeof (short) / sizeof (int) +   288,
         4 +   384 * sizeof (short) / sizeof (int) +   288,
-        4 +   384 * sizeof (short) / sizeof (int) +   592,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
+        4 +   384 * sizeof (short) / sizeof (int) +   640,
+        4 +   384 * sizeof (short) / sizeof (int) +   288,
+        4 +   384 * sizeof (short) / sizeof (int) +   288,
+        4 +   384 * sizeof (short) / sizeof (int) +   288,
+        4 +   384 * sizeof (short) / sizeof (int) +   288,
+        4 +   384 * sizeof (short) / sizeof (int) +   288,
+        4 +   384 * sizeof (short) / sizeof (int) +   288,
+        4 +   384 * sizeof (short) / sizeof (int) +   288,
+        4 +   384 * sizeof (short) / sizeof (int) +   656,
        -1,
        -1,
        -1,
@@ -403,7 +403,7 @@
        -1,
        -1,
         4 +   384 * sizeof (short) / sizeof (int) +   288,
-        4 +   384 * sizeof (short) / sizeof (int) +   608,
+        4 +   384 * sizeof (short) / sizeof (int) +   672,
        -1,
        -1
   },
@@ -424,9 +424,9 @@
     0xFFFFFFFF, 0xFFFFFFFF, 0x002FFFFF, 0x9C00C000,
     0xFFFD0000, 0x0000FFFF, 0xFFFFE000, 0xFFFFFFFF,
     0xFFFFFFFF, 0x0002003F, 0xFFFFFC00, 0x000007FF,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x003FFFFF, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0xFFFFFFF0, 0x23FFFFFF, 0xFF010000, 0xF8040003,
+    0xFFFFFFF0, 0x23FFFFFF, 0xFF010000, 0xFE040003,
     0xFFF99FE0, 0x23C5FDFF, 0xB0004000, 0x00030003,
     0xFFF987E0, 0x036DFDFF, 0x5E000000, 0x001C0000,
     0xFFFBBFE0, 0x23EDFDFF, 0x00010000, 0x00000003,
@@ -442,8 +442,8 @@
     0x00000F00, 0x00000000, 0x00000000, 0x00000000,
     0xFFFFFFFF, 0x800007FF, 0x3C3F0000, 0xFFE1C062,
     0x00004003, 0x00000000, 0xFFFF0000, 0x07FFFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0x83FFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFFFF07, 0xFFFFFFFF, 0x03FFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0x3D7F3DFF, 0xFFFFFFFF,
     0xFFFF3DFF, 0x7F3DFFFF, 0xFF7FFF3D, 0xFFFFFFFF,
     0xFF3DFFFF, 0xFFFFFFFF, 0x07FFFFFF, 0x00000000,
@@ -452,20 +452,20 @@
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x007F9FFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFF9FFF,
     0x07FFFFFE, 0xFFFFFFFF, 0xFFFFFFFF, 0x000007FF,
     0x0003DFFF, 0x0003FFFF, 0x0003FFFF, 0x0001DFFF,
     0xFFFFFFFF, 0x000FFFFF, 0x10000000, 0x00000000,
     0x00000000, 0xFFFFFFFF, 0xFFFFFFF7, 0x00FFFFFF,
-    0xFFFFFFFF, 0x000005FF, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFF05FF, 0xFFFFFFFF, 0x003FFFFF,
     0x1FFFFFFF, 0x00000000, 0xFFFF0000, 0x001F3FFF,
-    0xFFFFFFFF, 0x000003FF, 0x000000FE, 0x00000000,
-    0x007FFFFF, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0x00000FFF, 0x000000FE, 0x00000000,
+    0x007FFFFF, 0xFFFFFFFF, 0x001FFFFF, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0xFFFFFFE0, 0x000FFFFF, 0x00000FE0, 0x00000000,
     0xFFFFFFF8, 0x0000C001, 0x00000000, 0x00000000,
     0xFFFFFFFF, 0x0000000F, 0xFC00E000, 0x00FFFFFF,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x0003DE00,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
@@ -491,36 +491,36 @@
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0x0000000F, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x00000FFF, 0x00000000,
     0xFFDFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0x00001FFF, 0x00000000, 0x00000000, 0x00000000,
+    0x00001FFF, 0x00000000, 0xFFFF0000, 0x00FFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFF0FFF, 0x00000C00, 0x00000000, 0x00004000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0xFFFFFFFF, 0xFFFFFFFF, 0x0000003F,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0xF8000000,
     0xFFFFF7BB, 0x00000007, 0xFFFFFFFF, 0x000FFFFF,
-    0xFFFFFFFC, 0x000FFFFF, 0x00000000, 0x00000000,
-    0xFFFFFC00, 0xFFFF003F, 0x0000007F, 0x00000000,
+    0xFFFFFFFC, 0x000FFFFF, 0x00000000, 0x08FC0000,
+    0xFFFFFC00, 0xFFFF003F, 0x0000007F, 0x1FFFFFFF,
+    0xFFFFFFF0, 0x0007FFFF, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0x000001FF, 0x00000FF7, 0x047EFFFF,
+    0xFFFFFFFF, 0x3E62FFFF, 0x18000005, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0xFFFFFFFF, 0x000001FF, 0x00000FF7, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0xFFFFFFFF, 0x00000007,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFF000F, 0xFFFFF87F, 0x0FFFFFFF,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0x0000000F, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFF3FFF, 0xFFFFFFFF, 0xFFFF07FF,
+    0xFFFFFFFF, 0xFFFF3FFF, 0xFFFFFFFF, 0xFFFF3FFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0x03FFFFFF, 0x00000000,
     0xA0000000, 0x5F7FFDFF, 0xFFFFFFDB, 0xFFFFFFFF,
     0xFFFFFFFF, 0x0003FFFF, 0xFFF80000, 0xFFFFFFFF,
@@ -544,21 +544,37 @@
     0x3FFFFFFF, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0xFFFFFD3F, 0x91BFFFFF, 0x00000000, 0x00000000,
+    0xFFFFFD3F, 0x91BFFFFF, 0x003FFFFF, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x003FFFFF, 0x03FFFFFF, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0xFEEF0001, 0x000FFFFF, 0x00000000, 0x00000000,
+    0xFEEF0001, 0x000FFFFF, 0x00000000, 0x1FFFFFFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0x003FFFFF, 0x003FFFFF, 0x0007FFFF,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x000001FF, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFF8, 0x0000FFFF, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x00007FFF,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0x00007FFF, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0x007FFFFF, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0x001FFFFF, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x3FFFFFFF, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
--- a/lib/unictype/categ_Lt.h
+++ b/lib/unictype/categ_Lt.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Categories of Unicode characters.  */
-/* Generated automatically by gen-ctype.c for Unicode 5.1.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 5.2.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
--- a/lib/unictype/categ_Lu.h
+++ b/lib/unictype/categ_Lu.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Categories of Unicode characters.  */
-/* Generated automatically by gen-ctype.c for Unicode 5.1.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 5.2.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
@@ -289,7 +289,7 @@
     0xFFFED740, 0x00000FFB, 0x551C8000, 0xE6905555,
     0xFFFFFFFF, 0x0000FFFF, 0x00000000, 0x55555555,
     0x55555401, 0x55555555, 0x55552AAB, 0x55555555,
-    0x55555555, 0xFFFE0005, 0x007FFFFF, 0x00000000,
+    0x55555555, 0xFFFE0015, 0x007FFFFF, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0xFFFFFFFF, 0x0000003F, 0x00000000,
@@ -303,8 +303,8 @@
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x3E273884, 0xC00F3D50, 0x00000020, 0x00000000,
     0x00000008, 0x00000000, 0x00000000, 0x00000000,
-    0xFFFFFFFF, 0x00007FFF, 0x00000000, 0x0024EA9D,
-    0x55555555, 0x55555555, 0x55555555, 0x00000005,
+    0xFFFFFFFF, 0x00007FFF, 0x00000000, 0xC025EA9D,
+    0x55555555, 0x55555555, 0x55555555, 0x00002805,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x55555555, 0x00001554,
--- a/lib/unictype/categ_M.h
+++ b/lib/unictype/categ_M.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Categories of Unicode characters.  */
-/* Generated automatically by gen-ctype.c for Unicode 5.1.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 5.2.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
@@ -11,7 +11,7 @@
     int header[1];
     int level1[15];
     short level2[3 << 7];
-    /*unsigned*/ int level3[26 << 4];
+    /*unsigned*/ int level3[27 << 4];
   }
 u_categ_M =
 {
@@ -170,6 +170,7 @@
        16 +   384 * sizeof (short) / sizeof (int) +   352,
        -1,
        -1,
+       16 +   384 * sizeof (short) / sizeof (int) +   368,
        -1,
        -1,
        -1,
@@ -265,9 +266,8 @@
        -1,
        -1,
        -1,
-       -1,
-       16 +   384 * sizeof (short) / sizeof (int) +   368,
        16 +   384 * sizeof (short) / sizeof (int) +   384,
+       16 +   384 * sizeof (short) / sizeof (int) +   400,
        -1,
        -1,
        -1,
@@ -290,7 +290,7 @@
        -1,
        -1,
        -1,
-       16 +   384 * sizeof (short) / sizeof (int) +   400,
+       16 +   384 * sizeof (short) / sizeof (int) +   416,
        -1,
        -1,
        -1,
@@ -432,9 +432,9 @@
     0x00000000, 0x00000000, 0xDFC00000, 0x00003D9F,
     0x00020000, 0xFFFF0000, 0x000007FF, 0x00000000,
     0x00000000, 0x0001FFC0, 0x00000000, 0x000FF800,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFBC00000, 0x00003EEF, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x0000000E, 0xD0000000, 0x001E3FFF, 0x0000000C,
+    0x0000000F, 0xD0000000, 0x003E7FFF, 0x0000000C,
     0x0000000E, 0xD0000000, 0x0080399F, 0x0000000C,
     0x0000000E, 0xD0000000, 0x00023987, 0x00230000,
     0x0000000E, 0xD0000000, 0x00003BBF, 0x0000000C,
@@ -449,7 +449,7 @@
     0x03000000, 0xC2A00000, 0x00000000, 0xFFFE0000,
     0xFEFF00DF, 0x1FFFFFFF, 0x00000040, 0x00000000,
     0x00000000, 0x7FFFF800, 0xC3C00000, 0x001E3F9D,
-    0x0000BFFC, 0x00000000, 0x00000000, 0x00000000,
+    0x3C00BFFC, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
@@ -464,20 +464,20 @@
     0x00000000, 0x00000200, 0x00000000, 0x00000000,
     0x00000000, 0x0FFF0FFF, 0x00000000, 0x00000000,
     0x00000000, 0xFFFF0000, 0x00000301, 0x00000000,
-    0x0F800000, 0x00000000, 0x00000000, 0x00000000,
+    0x0F800000, 0x00000000, 0x7FE00000, 0x9FFFFFFF,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x0000001F, 0xFFF00000, 0x0000001F, 0x000FF800,
     0x00000007, 0x000007FE, 0x00000000, 0x00000000,
     0x00000000, 0x00FFFFF0, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0xFFF70000, 0x000421FF,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0xFFFFFFFF, 0xC000007F,
+    0x00000000, 0x00000000, 0xFFFFFFFF, 0xE000007F,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0xFFFF0000, 0x0001FFFF,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00038000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0xFFFFFFFF,
     0x00000000, 0x0000FC00, 0x00000000, 0x00000000,
@@ -485,17 +485,17 @@
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x30078000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00030000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000844, 0x000000F8, 0x00000000, 0x00000000,
-    0x00000003, 0xFFF00000, 0x0000001F, 0x00000000,
+    0x00000003, 0xFFF00000, 0x0000001F, 0x0003FFFF,
     0x00000000, 0x00003FC0, 0x000FFF80, 0x00000000,
+    0x0000000F, 0xFFF80000, 0x00000001, 0x00000000,
+    0x00000000, 0x007FFE00, 0x00003008, 0x08000000,
+    0x00000000, 0xC19D0000, 0x00000002, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x007FFE00, 0x00003008, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x000037F8,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x40000000, 0x00000000, 0x00000000, 0x00000000,
@@ -513,6 +513,10 @@
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000007, 0x07FF0000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0xF807E3E0,
     0x00000FE7, 0x00003C00, 0x00000000, 0x00000000,
--- a/lib/unictype/categ_Mc.h
+++ b/lib/unictype/categ_Mc.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Categories of Unicode characters.  */
-/* Generated automatically by gen-ctype.c for Unicode 5.1.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 5.2.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
@@ -11,7 +11,7 @@
     int header[1];
     int level1[2];
     short level2[2 << 7];
-    /*unsigned*/ int level3[12 << 4];
+    /*unsigned*/ int level3[13 << 4];
   }
 u_categ_Mc =
 {
@@ -157,6 +157,7 @@
        -1,
        -1,
        -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   176,
        -1,
        -1,
        -1,
@@ -252,8 +253,7 @@
        -1,
        -1,
        -1,
-       -1,
-        3 +   256 * sizeof (short) / sizeof (int) +   176,
+        3 +   256 * sizeof (short) / sizeof (int) +   192,
        -1,
        -1,
        -1,
@@ -281,7 +281,7 @@
   {
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000008, 0xC0000000, 0x00001E01, 0x00000000,
+    0x00000008, 0xC0000000, 0x00005E01, 0x00000000,
     0x0000000C, 0xC0000000, 0x00801981, 0x00000000,
     0x00000008, 0xC0000000, 0x00000001, 0x00000000,
     0x00000008, 0xC0000000, 0x00001A01, 0x00000000,
@@ -296,7 +296,7 @@
     0x00000000, 0xC0000000, 0x00000000, 0x80000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x19021800, 0x00C00000, 0x00003F9C,
-    0x00009F98, 0x00000000, 0x00000000, 0x00000000,
+    0x1C009F98, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
@@ -307,20 +307,24 @@
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x01FB0E78, 0x00000000, 0x00000000,
     0x00000000, 0xFFFF0000, 0x00000301, 0x00000000,
-    0x0E000000, 0x00000000, 0x00000000, 0x00000000,
+    0x0E000000, 0x00000000, 0x00A00000, 0x0007E01A,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000010, 0xE8200000, 0x0000001B, 0x00000000,
     0x00000004, 0x000004C2, 0x00000000, 0x00000000,
     0x00000000, 0x00300FF0, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00040002,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000098, 0x00000000, 0x00000000,
     0x00000003, 0xFFF00000, 0x0000000F, 0x00000000,
     0x00000000, 0x00000000, 0x000C0000, 0x00000000,
+    0x00000008, 0xEC300000, 0x00000001, 0x00000000,
+    0x00000000, 0x00198000, 0x00002000, 0x08000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00198000, 0x00002000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x000016D8,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000004, 0x01870000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
--- a/lib/unictype/categ_Me.h
+++ b/lib/unictype/categ_Me.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Categories of Unicode characters.  */
-/* Generated automatically by gen-ctype.c for Unicode 5.1.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 5.2.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
--- a/lib/unictype/categ_Mn.h
+++ b/lib/unictype/categ_Mn.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Categories of Unicode characters.  */
-/* Generated automatically by gen-ctype.c for Unicode 5.1.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 5.2.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
@@ -11,7 +11,7 @@
     int header[1];
     int level1[15];
     short level2[3 << 7];
-    /*unsigned*/ int level3[26 << 4];
+    /*unsigned*/ int level3[27 << 4];
   }
 u_categ_Mn =
 {
@@ -170,6 +170,7 @@
        16 +   384 * sizeof (short) / sizeof (int) +   352,
        -1,
        -1,
+       16 +   384 * sizeof (short) / sizeof (int) +   368,
        -1,
        -1,
        -1,
@@ -265,9 +266,8 @@
        -1,
        -1,
        -1,
-       -1,
-       16 +   384 * sizeof (short) / sizeof (int) +   368,
        16 +   384 * sizeof (short) / sizeof (int) +   384,
+       16 +   384 * sizeof (short) / sizeof (int) +   400,
        -1,
        -1,
        -1,
@@ -290,7 +290,7 @@
        -1,
        -1,
        -1,
-       16 +   384 * sizeof (short) / sizeof (int) +   400,
+       16 +   384 * sizeof (short) / sizeof (int) +   416,
        -1,
        -1,
        -1,
@@ -432,9 +432,9 @@
     0x00000000, 0x00000000, 0x9FC00000, 0x00003D9F,
     0x00020000, 0xFFFF0000, 0x000007FF, 0x00000000,
     0x00000000, 0x0001FFC0, 0x00000000, 0x000FF800,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFBC00000, 0x00003EEF, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000006, 0x10000000, 0x001E21FE, 0x0000000C,
+    0x00000007, 0x10000000, 0x003E21FE, 0x0000000C,
     0x00000002, 0x10000000, 0x0000201E, 0x0000000C,
     0x00000006, 0x10000000, 0x00023986, 0x00230000,
     0x00000006, 0x10000000, 0x000021BE, 0x0000000C,
@@ -449,7 +449,7 @@
     0x03000000, 0x02A00000, 0x00000000, 0x7FFE0000,
     0xFEFF00DF, 0x1FFFFFFF, 0x00000040, 0x00000000,
     0x00000000, 0x66FDE000, 0xC3000000, 0x001E0001,
-    0x00002064, 0x00000000, 0x00000000, 0x00000000,
+    0x20002064, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
@@ -464,20 +464,20 @@
     0x00000000, 0x00000200, 0x00000000, 0x00000000,
     0x00000000, 0x0E040187, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x01800000, 0x00000000, 0x00000000, 0x00000000,
+    0x01800000, 0x00000000, 0x7F400000, 0x9FF81FE5,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x0000000F, 0x17D00000, 0x00000004, 0x000FF800,
     0x00000003, 0x0000033C, 0x00000000, 0x00000000,
     0x00000000, 0x00CFF000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0xFFF70000, 0x000021FD,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0xFFFFFFFF, 0xC000007F,
+    0x00000000, 0x00000000, 0xFFFFFFFF, 0xE000007F,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x1FFF0000, 0x0001FFE2,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00038000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0xFFFFFFFF,
     0x00000000, 0x0000FC00, 0x00000000, 0x00000000,
@@ -485,17 +485,17 @@
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x30008000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00030000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000844, 0x00000060, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000010, 0x00000000,
+    0x00000000, 0x00000000, 0x00000010, 0x0003FFFF,
     0x00000000, 0x00003FC0, 0x0003FF80, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000007, 0x13C80000, 0x00000000, 0x00000000,
     0x00000000, 0x00667E00, 0x00001008, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0xC19D0000, 0x00000002, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00002120,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x40000000, 0x00000000, 0x00000000, 0x00000000,
@@ -513,6 +513,10 @@
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000003, 0x06780000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0xF8000380,
     0x00000FE7, 0x00003C00, 0x00000000, 0x00000000,
--- a/lib/unictype/categ_N.h
+++ b/lib/unictype/categ_N.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Categories of Unicode characters.  */
-/* Generated automatically by gen-ctype.c for Unicode 5.1.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 5.2.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
@@ -11,7 +11,7 @@
     int header[1];
     int level1[2];
     short level2[2 << 7];
-    /*unsigned*/ int level3[30 << 4];
+    /*unsigned*/ int level3[32 << 4];
   }
 u_categ_N =
 {
@@ -156,6 +156,7 @@
         3 +   256 * sizeof (short) / sizeof (int) +   400,
         3 +   256 * sizeof (short) / sizeof (int) +   416,
        -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   432,
        -1,
        -1,
        -1,
@@ -166,8 +167,7 @@
        -1,
        -1,
        -1,
-       -1,
-        3 +   256 * sizeof (short) / sizeof (int) +   432,
+        3 +   256 * sizeof (short) / sizeof (int) +   448,
        -1,
        -1,
        -1,
@@ -254,9 +254,9 @@
        -1,
        -1,
        -1,
-        3 +   256 * sizeof (short) / sizeof (int) +   448,
+        3 +   256 * sizeof (short) / sizeof (int) +   464,
        -1,
-        3 +   256 * sizeof (short) / sizeof (int) +   464,
+        3 +   256 * sizeof (short) / sizeof (int) +   480,
        -1,
        -1,
        -1,
@@ -269,7 +269,7 @@
        -1,
        -1,
        -1,
-       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   496,
        -1,
        -1,
        -1,
@@ -318,9 +318,9 @@
     0x03FF0000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x0000FFC0, 0x00000000,
-    0x00000000, 0x00000000, 0x03FF0000, 0x00000000,
+    0x00000000, 0x00000000, 0x07FF0000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x03FF03FF, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x03FF0000, 0x00000000,
     0x00000000, 0x03FF0000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x03FF03FF, 0x00000000,
@@ -329,8 +329,8 @@
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x03F10000,
     0x000003FF, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0xFFF80000, 0xFFFFFFFF,
-    0x000001E7, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0xFFFF0000, 0xFFFFFFFF,
+    0x000003E7, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0xFFFFFFFF,
     0x0FFFFFFF, 0x00000000, 0x00000000, 0xFFFFFC00,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
@@ -352,17 +352,17 @@
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x000003FF, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x0000FFC0,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x003F0000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x03FF0000, 0x00000000,
     0x000003FF, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x03FF0000, 0x00000000,
     0x00000000, 0x00000000, 0x03FF0000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x03FF0000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x03FF0000, 0x00000000, 0x00000000, 0x00000000,
@@ -379,11 +379,15 @@
     0x00000000, 0x000003FF, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0xFF000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x0FC00000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x03C00000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x000000FF, 0x60000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x000000FF, 0x00000000,
+    0x00000000, 0x00000000, 0xFF000000, 0xFF000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x7FFFFFFF,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
@@ -398,6 +402,10 @@
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0xFFFFC000, 0xFFFFFFFF
+    0x00000000, 0x00000000, 0xFFFFC000, 0xFFFFFFFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x000007FF, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000
   }
 };
--- a/lib/unictype/categ_Nd.h
+++ b/lib/unictype/categ_Nd.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Categories of Unicode characters.  */
-/* Generated automatically by gen-ctype.c for Unicode 5.1.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 5.2.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
@@ -314,9 +314,9 @@
     0x03FF0000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x0000FFC0, 0x00000000,
-    0x00000000, 0x00000000, 0x03FF0000, 0x00000000,
+    0x00000000, 0x00000000, 0x07FF0000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x03FF03FF, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x03FF0000, 0x00000000,
     0x00000000, 0x03FF0000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x03FF03FF, 0x00000000,
@@ -330,11 +330,11 @@
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x03FF0000, 0x00000000,
     0x000003FF, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x03FF0000, 0x00000000,
     0x00000000, 0x00000000, 0x03FF0000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x03FF0000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x03FF0000, 0x00000000, 0x00000000, 0x00000000,
--- a/lib/unictype/categ_Nl.h
+++ b/lib/unictype/categ_Nl.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Categories of Unicode characters.  */
-/* Generated automatically by gen-ctype.c for Unicode 5.1.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 5.2.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
@@ -11,7 +11,7 @@
     int header[1];
     int level1[2];
     short level2[2 << 7];
-    /*unsigned*/ int level3[6 << 4];
+    /*unsigned*/ int level3[7 << 4];
   }
 u_categ_Nl =
 {
@@ -104,6 +104,7 @@
        -1,
        -1,
        -1,
+        3 +   256 * sizeof (short) / sizeof (int) +    48,
        -1,
        -1,
        -1,
@@ -148,9 +149,8 @@
        -1,
        -1,
        -1,
-       -1,
-        3 +   256 * sizeof (short) / sizeof (int) +    48,
         3 +   256 * sizeof (short) / sizeof (int) +    64,
+        3 +   256 * sizeof (short) / sizeof (int) +    80,
        -1,
        -1,
        -1,
@@ -167,7 +167,7 @@
        -1,
        -1,
        -1,
-        3 +   256 * sizeof (short) / sizeof (int) +    80,
+        3 +   256 * sizeof (short) / sizeof (int) +    96,
        -1,
        -1,
        -1,
@@ -292,6 +292,10 @@
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x0000FFC0,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0xFFFFFFFF, 0x001FFFFF,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
--- a/lib/unictype/categ_No.h
+++ b/lib/unictype/categ_No.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Categories of Unicode characters.  */
-/* Generated automatically by gen-ctype.c for Unicode 5.1.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 5.2.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
@@ -11,7 +11,7 @@
     int header[1];
     int level1[2];
     short level2[2 << 7];
-    /*unsigned*/ int level3[18 << 4];
+    /*unsigned*/ int level3[21 << 4];
   }
 u_categ_No =
 {
@@ -105,6 +105,111 @@
        -1,
        -1,
        -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   208,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   224,
+        3 +   256 * sizeof (short) / sizeof (int) +   240,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   256,
+        3 +   256 * sizeof (short) / sizeof (int) +   272,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   288,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
        -1,
        -1,
        -1,
@@ -149,53 +254,7 @@
        -1,
        -1,
        -1,
-        3 +   256 * sizeof (short) / sizeof (int) +   208,
-        3 +   256 * sizeof (short) / sizeof (int) +   224,
-       -1,
-       -1,
-        3 +   256 * sizeof (short) / sizeof (int) +   240,
-        3 +   256 * sizeof (short) / sizeof (int) +   256,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   304,
        -1,
        -1,
        -1,
@@ -210,66 +269,7 @@
        -1,
        -1,
        -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-        3 +   256 * sizeof (short) / sizeof (int) +   272,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   320,
        -1,
        -1,
        -1,
@@ -309,8 +309,8 @@
     0x00000000, 0x00000000, 0x00000000, 0x03FF0000,
     0x00000000, 0x00000000, 0x00000000, 0x03F10000,
     0x000003FF, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0xFFF80000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0xFFFF0000, 0x00000000,
+    0x00000200, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0xFFFFFFFF,
     0x0FFFFFFF, 0x00000000, 0x00000000, 0xFFFFFC00,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
@@ -331,6 +331,10 @@
     0x000003FF, 0xFFFE0000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x003F0000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0xFFFFFF80, 0x000FFFFF, 0x00000000, 0x01E00000,
@@ -339,17 +343,25 @@
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x0000000F, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0xFF000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x0FC00000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x03C00000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x000000FF, 0x60000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x000000FF, 0x00000000,
+    0x00000000, 0x00000000, 0xFF000000, 0xFF000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x7FFFFFFF,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x0003FFFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x000007FF, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000
   }
 };
--- a/lib/unictype/categ_P.h
+++ b/lib/unictype/categ_P.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Categories of Unicode characters.  */
-/* Generated automatically by gen-ctype.c for Unicode 5.1.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 5.2.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
@@ -11,7 +11,7 @@
     int header[1];
     int level1[2];
     short level2[2 << 7];
-    /*unsigned*/ int level3[30 << 4];
+    /*unsigned*/ int level3[33 << 4];
   }
 u_categ_P =
 {
@@ -31,21 +31,21 @@
         3 +   256 * sizeof (short) / sizeof (int) +    96,
         3 +   256 * sizeof (short) / sizeof (int) +   112,
         3 +   256 * sizeof (short) / sizeof (int) +   128,
-       -1,
         3 +   256 * sizeof (short) / sizeof (int) +   144,
         3 +   256 * sizeof (short) / sizeof (int) +   160,
         3 +   256 * sizeof (short) / sizeof (int) +   176,
         3 +   256 * sizeof (short) / sizeof (int) +   192,
-       -1,
         3 +   256 * sizeof (short) / sizeof (int) +   208,
-        3 +   256 * sizeof (short) / sizeof (int) +   224,
        -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   224,
         3 +   256 * sizeof (short) / sizeof (int) +   240,
+       -1,
         3 +   256 * sizeof (short) / sizeof (int) +   256,
+        3 +   256 * sizeof (short) / sizeof (int) +   272,
        -1,
-        3 +   256 * sizeof (short) / sizeof (int) +   272,
         3 +   256 * sizeof (short) / sizeof (int) +   288,
         3 +   256 * sizeof (short) / sizeof (int) +   304,
+        3 +   256 * sizeof (short) / sizeof (int) +   320,
        -1,
        -1,
        -1,
@@ -103,10 +103,10 @@
        -1,
        -1,
        -1,
-       -1,
-        3 +   256 * sizeof (short) / sizeof (int) +   320,
         3 +   256 * sizeof (short) / sizeof (int) +   336,
         3 +   256 * sizeof (short) / sizeof (int) +   352,
+        3 +   256 * sizeof (short) / sizeof (int) +   368,
+        3 +   256 * sizeof (short) / sizeof (int) +   384,
        -1,
        -1,
        -1,
@@ -147,14 +147,17 @@
        -1,
        -1,
        -1,
-        3 +   256 * sizeof (short) / sizeof (int) +   368,
-        3 +   256 * sizeof (short) / sizeof (int) +   384,
         3 +   256 * sizeof (short) / sizeof (int) +   400,
         3 +   256 * sizeof (short) / sizeof (int) +   416,
+        3 +   256 * sizeof (short) / sizeof (int) +   432,
+        3 +   256 * sizeof (short) / sizeof (int) +   448,
        -1,
        -1,
-        3 +   256 * sizeof (short) / sizeof (int) +   432,
-        3 +   256 * sizeof (short) / sizeof (int) +   448,
+        3 +   256 * sizeof (short) / sizeof (int) +   464,
+        3 +   256 * sizeof (short) / sizeof (int) +   480,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   496,
        -1,
        -1,
        -1,
@@ -164,10 +167,7 @@
        -1,
        -1,
        -1,
-       -1,
-       -1,
-       -1,
-        3 +   256 * sizeof (short) / sizeof (int) +   464,
+        3 +   256 * sizeof (short) / sizeof (int) +   512,
        -1,
        -1,
        -1,
@@ -295,7 +295,7 @@
     0x00000000, 0x00000000, 0x00100000, 0x00000000,
     0x00003FFF, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x03800000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x7FFF0000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00010030,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
@@ -315,6 +315,10 @@
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x000001FE,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000001, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00006000,
     0x18000000, 0x00000000, 0x00000000, 0x00003800,
     0x00000000, 0x00600000, 0x00000000, 0x00000000,
@@ -324,11 +328,11 @@
     0x00000000, 0x00000000, 0x00000030, 0x00000000,
     0x00000000, 0x00000000, 0xC0000000, 0x00000000,
     0xC0000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00003F7F, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0xFC000000, 0x00000001,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0xF8000000, 0x00000000, 0xC0000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00080000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0xFFFF0000, 0xFFFF00FF, 0x7FFBFFEF, 0x60000000,
@@ -351,7 +355,7 @@
     0x00000000, 0x00000000, 0x00000000, 0xDE000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0xFFFFFFFF, 0x00017FFF, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0x00037FFF, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
@@ -359,18 +363,22 @@
     0x00000000, 0x00000001, 0x00000000, 0x08000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0xC0000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x0000E000, 0x00000000, 0x00000000, 0x40080000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00FC0000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00F00000,
-    0x00000000, 0x00000000, 0x0000C000, 0x00000000,
+    0x00000000, 0x00000000, 0x0000C000, 0x07000000,
     0x00000000, 0x0000C000, 0x80000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0xC0003FFE, 0x00000000,
     0x00000000, 0x00000000, 0xF0000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0xC0000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000800,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0xC0000000, 0x00000000, 0x00000000,
@@ -387,12 +395,16 @@
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x80000000, 0x00000000, 0x00010000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00800000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x80000000, 0x80000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x01FF0000, 0x00000000,
+    0x00000000, 0x00000000, 0x01FF0000, 0x80000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0xFE000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0xD8000000, 0x00000003, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x000F0000,
--- a/lib/unictype/categ_Pc.h
+++ b/lib/unictype/categ_Pc.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Categories of Unicode characters.  */
-/* Generated automatically by gen-ctype.c for Unicode 5.1.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 5.2.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
--- a/lib/unictype/categ_Pd.h
+++ b/lib/unictype/categ_Pd.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Categories of Unicode characters.  */
-/* Generated automatically by gen-ctype.c for Unicode 5.1.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 5.2.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
@@ -11,7 +11,7 @@
     int header[1];
     int level1[1];
     short level2[1 << 7];
-    /*unsigned*/ int level3[7 << 4];
+    /*unsigned*/ int level3[8 << 4];
   }
 u_categ_Pd =
 {
@@ -28,21 +28,21 @@
        -1,
        -1,
        -1,
-       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +    32,
        -1,
-        2 +   128 * sizeof (short) / sizeof (int) +    32,
+        2 +   128 * sizeof (short) / sizeof (int) +    48,
        -1,
        -1,
        -1,
-        2 +   128 * sizeof (short) / sizeof (int) +    48,
+        2 +   128 * sizeof (short) / sizeof (int) +    64,
        -1,
        -1,
        -1,
        -1,
        -1,
        -1,
-        2 +   128 * sizeof (short) / sizeof (int) +    64,
         2 +   128 * sizeof (short) / sizeof (int) +    80,
+        2 +   128 * sizeof (short) / sizeof (int) +    96,
        -1,
        -1,
        -1,
@@ -145,7 +145,7 @@
        -1,
        -1,
        -1,
-        2 +   128 * sizeof (short) / sizeof (int) +    96
+        2 +   128 * sizeof (short) / sizeof (int) +   112
   },
   {
     0x00000000, 0x00002000, 0x00000000, 0x00000000,
@@ -156,6 +156,10 @@
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000400, 0x40000000, 0x00000000, 0x00000000,
+    0x00000001, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000040, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
--- a/lib/unictype/categ_Pe.h
+++ b/lib/unictype/categ_Pe.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Categories of Unicode characters.  */
-/* Generated automatically by gen-ctype.c for Unicode 5.1.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 5.2.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
--- a/lib/unictype/categ_Pf.h
+++ b/lib/unictype/categ_Pf.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Categories of Unicode characters.  */
-/* Generated automatically by gen-ctype.c for Unicode 5.1.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 5.2.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
--- a/lib/unictype/categ_Pi.h
+++ b/lib/unictype/categ_Pi.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Categories of Unicode characters.  */
-/* Generated automatically by gen-ctype.c for Unicode 5.1.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 5.2.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
--- a/lib/unictype/categ_Po.h
+++ b/lib/unictype/categ_Po.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Categories of Unicode characters.  */
-/* Generated automatically by gen-ctype.c for Unicode 5.1.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 5.2.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
@@ -11,7 +11,7 @@
     int header[1];
     int level1[2];
     short level2[2 << 7];
-    /*unsigned*/ int level3[26 << 4];
+    /*unsigned*/ int level3[28 << 4];
   }
 u_categ_Po =
 {
@@ -103,10 +103,10 @@
        -1,
        -1,
        -1,
-       -1,
         3 +   256 * sizeof (short) / sizeof (int) +   272,
         3 +   256 * sizeof (short) / sizeof (int) +   288,
         3 +   256 * sizeof (short) / sizeof (int) +   304,
+        3 +   256 * sizeof (short) / sizeof (int) +   320,
        -1,
        -1,
        -1,
@@ -148,13 +148,16 @@
        -1,
        -1,
        -1,
-        3 +   256 * sizeof (short) / sizeof (int) +   320,
         3 +   256 * sizeof (short) / sizeof (int) +   336,
         3 +   256 * sizeof (short) / sizeof (int) +   352,
+        3 +   256 * sizeof (short) / sizeof (int) +   368,
        -1,
        -1,
-        3 +   256 * sizeof (short) / sizeof (int) +   368,
         3 +   256 * sizeof (short) / sizeof (int) +   384,
+        3 +   256 * sizeof (short) / sizeof (int) +   400,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   416,
        -1,
        -1,
        -1,
@@ -164,10 +167,7 @@
        -1,
        -1,
        -1,
-       -1,
-       -1,
-       -1,
-        3 +   256 * sizeof (short) / sizeof (int) +   400,
+        3 +   256 * sizeof (short) / sizeof (int) +   432,
        -1,
        -1,
        -1,
@@ -295,7 +295,7 @@
     0x00000000, 0x00000000, 0x00100000, 0x00000000,
     0x00003FFF, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x03800000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x7FFF0000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00010030,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
@@ -324,11 +324,11 @@
     0x00000000, 0x00000000, 0x00000030, 0x00000000,
     0x00000000, 0x00000000, 0xC0000000, 0x00000000,
     0xC0000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00003F7F, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0xFC000000, 0x00000001,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0xF8000000, 0x00000000, 0xC0000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00080000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00C00000, 0x79FF00FF, 0x7FEBFF8E, 0x00000000,
@@ -339,7 +339,7 @@
     0x00000000, 0x00000000, 0x00000000, 0xDE000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0xCB7FC9C3, 0x00017C00, 0x00000000, 0x00000000,
+    0xCB7FC9C3, 0x00037C00, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
@@ -347,18 +347,22 @@
     0x00000000, 0x00000000, 0x00000000, 0x08000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0xC0000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x0000E000, 0x00000000, 0x00000000, 0x40080000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00FC0000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00F00000,
-    0x00000000, 0x00000000, 0x0000C000, 0x00000000,
+    0x00000000, 0x00000000, 0x0000C000, 0x07000000,
     0x00000000, 0x0000C000, 0x80000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0xC0003FFE, 0x00000000,
     0x00000000, 0x00000000, 0xF0000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0xC0000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000800,
     0x027F0000, 0x00010000, 0x80F71E60, 0x00000D03,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x8C00D4EE, 0x10000001, 0x00000000, 0x00000032,
@@ -371,12 +375,16 @@
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x80000000, 0x00000000, 0x00010000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00800000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x80000000, 0x80000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x01FF0000, 0x00000000,
+    0x00000000, 0x00000000, 0x01FF0000, 0x80000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0xFE000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0xD8000000, 0x00000003, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x000F0000,
--- a/lib/unictype/categ_Ps.h
+++ b/lib/unictype/categ_Ps.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Categories of Unicode characters.  */
-/* Generated automatically by gen-ctype.c for Unicode 5.1.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 5.2.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
--- a/lib/unictype/categ_S.h
+++ b/lib/unictype/categ_S.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Categories of Unicode characters.  */
-/* Generated automatically by gen-ctype.c for Unicode 5.1.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 5.2.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
@@ -11,7 +11,7 @@
     int header[1];
     int level1[2];
     short level2[2 << 7];
-    /*unsigned*/ int level3[36 << 4];
+    /*unsigned*/ int level3[38 << 4];
   }
 u_categ_S =
 {
@@ -106,6 +106,7 @@
         3 +   256 * sizeof (short) / sizeof (int) +   400,
         3 +   256 * sizeof (short) / sizeof (int) +   416,
         3 +   256 * sizeof (short) / sizeof (int) +   432,
+        3 +   256 * sizeof (short) / sizeof (int) +   448,
        -1,
        -1,
        -1,
@@ -145,11 +146,10 @@
        -1,
        -1,
        -1,
-       -1,
-        3 +   256 * sizeof (short) / sizeof (int) +   448,
         3 +   256 * sizeof (short) / sizeof (int) +   464,
         3 +   256 * sizeof (short) / sizeof (int) +   480,
         3 +   256 * sizeof (short) / sizeof (int) +   496,
+        3 +   256 * sizeof (short) / sizeof (int) +   512,
        -1,
        -1,
        -1,
@@ -253,10 +253,10 @@
        -1,
        -1,
        -1,
-        3 +   256 * sizeof (short) / sizeof (int) +   512,
         3 +   256 * sizeof (short) / sizeof (int) +   528,
+        3 +   256 * sizeof (short) / sizeof (int) +   544,
        -1,
-        3 +   256 * sizeof (short) / sizeof (int) +   544,
+        3 +   256 * sizeof (short) / sizeof (int) +   560,
        -1,
        -1,
        -1,
@@ -269,8 +269,8 @@
        -1,
        -1,
        -1,
-        3 +   256 * sizeof (short) / sizeof (int) +   560,
-       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   576,
+        3 +   256 * sizeof (short) / sizeof (int) +   592,
        -1,
        -1,
        -1,
@@ -298,7 +298,7 @@
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x040C0000,
+    0x00000000, 0x00000000, 0x00000000, 0x0C0C0000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00020000,
     0x00000000, 0x00000000, 0x00000000, 0x00010000,
@@ -310,7 +310,7 @@
     0x00000000, 0x80000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0xFCF8000E, 0x01500000, 0x00000000, 0x00000000,
-    0x00000000, 0xC0000000, 0x0000DFBF, 0x00000000,
+    0x00000000, 0xC0000000, 0x01E0DFBF, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0xC0000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
@@ -336,20 +336,20 @@
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0xA0000000, 0xE000E003, 0x6000E000,
     0x00000000, 0x00000000, 0x00040010, 0x1C000000,
-    0x00001C00, 0x003FFFFF, 0x00000000, 0x00000000,
+    0x00001C00, 0x01FFFFFF, 0x00000000, 0x00000000,
     0xC1D0037B, 0x0C0042AF, 0x0000BC1F, 0x00000000,
     0xFFFF0000, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFF9FF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x000000FF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x000001FF,
     0xFFFFFFFF, 0x0000007F, 0x000007FF, 0x00000000,
     0xF0000000, 0xFFFFFFFF, 0xFFFFFFFF, 0x000003FF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0x3FFFFFFF, 0x1FFFFFFF, 0x0000000F, 0x00000000,
-    0xFFFFF3DE, 0xFFFFFEFF, 0x7F47AFFF, 0x000000FE,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFBFFF, 0xFFFFFF0B,
+    0xFFFFF3DE, 0xFFFFFEFF, 0x7FC7AFFF, 0x000000FE,
     0xFF100000, 0x7FFEFFFF, 0xFFFF179F, 0xFFFF003F,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
@@ -357,7 +357,7 @@
     0xFE000007, 0xFFFFFFFF, 0xF0FFFFFF, 0xCFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0x001F1FFF, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x03FF1FFF, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x000007E0,
@@ -371,7 +371,7 @@
     0x18000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0xFFC30000, 0x00000000, 0xFFFFFFFF, 0x0000000F,
-    0x7FFFFFFF, 0xFFFFFC00, 0x0001000F, 0xFFFFFFFF,
+    0x7FFFFFFF, 0xFFFFFC00, 0x0001FFFF, 0xFFFFFFFF,
     0xFFFFFC00, 0x0001FFFF, 0xFFFFFFFF, 0x7FFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
@@ -387,7 +387,11 @@
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x007FFFFF, 0x00000003, 0x00000000, 0x00000000,
     0x00000600, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000F00, 0x00000000, 0x00000000,
+    0x00000000, 0x03C00F00, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x03800000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
@@ -421,6 +425,10 @@
     0x00000200, 0x00000200, 0x00000008, 0x00000000,
     0xFFFFFFFF, 0xFFFF0FFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0x000FFFFF, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFF0000, 0xA0027FFF, 0x80807C44, 0x9A000000,
+    0x00013C00, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFF0001, 0x0003FFFF, 0x000001FF, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000
   }
--- a/lib/unictype/categ_Sc.h
+++ b/lib/unictype/categ_Sc.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Categories of Unicode characters.  */
-/* Generated automatically by gen-ctype.c for Unicode 5.1.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 5.2.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
@@ -11,7 +11,7 @@
     int header[1];
     int level1[1];
     short level2[1 << 7];
-    /*unsigned*/ int level3[9 << 4];
+    /*unsigned*/ int level3[10 << 4];
   }
 u_categ_Sc =
 {
@@ -102,7 +102,7 @@
        -1,
        -1,
        -1,
-       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +   112,
        -1,
        -1,
        -1,
@@ -144,8 +144,8 @@
        -1,
        -1,
        -1,
-        2 +   128 * sizeof (short) / sizeof (int) +   112,
-        2 +   128 * sizeof (short) / sizeof (int) +   128
+        2 +   128 * sizeof (short) / sizeof (int) +   128,
+        2 +   128 * sizeof (short) / sizeof (int) +   144
   },
   {
     0x00000000, 0x00000010, 0x00000000, 0x00000000,
@@ -159,7 +159,7 @@
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x000C0000,
+    0x00000000, 0x00000000, 0x00000000, 0x080C0000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00020000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
@@ -173,7 +173,11 @@
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x08000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x003FFFFF, 0x00000000, 0x00000000,
+    0x00000000, 0x01FFFFFF, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x01000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
--- a/lib/unictype/categ_Sk.h
+++ b/lib/unictype/categ_Sk.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Categories of Unicode characters.  */
-/* Generated automatically by gen-ctype.c for Unicode 5.1.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 5.2.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
--- a/lib/unictype/categ_Sm.h
+++ b/lib/unictype/categ_Sm.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Categories of Unicode characters.  */
-/* Generated automatically by gen-ctype.c for Unicode 5.1.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 5.2.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
--- a/lib/unictype/categ_So.h
+++ b/lib/unictype/categ_So.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Categories of Unicode characters.  */
-/* Generated automatically by gen-ctype.c for Unicode 5.1.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 5.2.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
@@ -11,7 +11,7 @@
     int header[1];
     int level1[2];
     short level2[2 << 7];
-    /*unsigned*/ int level3[30 << 4];
+    /*unsigned*/ int level3[32 << 4];
   }
 u_categ_So =
 {
@@ -106,6 +106,7 @@
         3 +   256 * sizeof (short) / sizeof (int) +   352,
        -1,
         3 +   256 * sizeof (short) / sizeof (int) +   368,
+        3 +   256 * sizeof (short) / sizeof (int) +   384,
        -1,
        -1,
        -1,
@@ -146,10 +147,9 @@
        -1,
        -1,
        -1,
-       -1,
-        3 +   256 * sizeof (short) / sizeof (int) +   384,
         3 +   256 * sizeof (short) / sizeof (int) +   400,
         3 +   256 * sizeof (short) / sizeof (int) +   416,
+        3 +   256 * sizeof (short) / sizeof (int) +   432,
        -1,
        -1,
        -1,
@@ -253,8 +253,8 @@
        -1,
        -1,
        -1,
-        3 +   256 * sizeof (short) / sizeof (int) +   432,
         3 +   256 * sizeof (short) / sizeof (int) +   448,
+        3 +   256 * sizeof (short) / sizeof (int) +   464,
        -1,
        -1,
        -1,
@@ -269,8 +269,8 @@
        -1,
        -1,
        -1,
-        3 +   256 * sizeof (short) / sizeof (int) +   464,
-       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   480,
+        3 +   256 * sizeof (short) / sizeof (int) +   496,
        -1,
        -1,
        -1,
@@ -306,7 +306,7 @@
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0xFCF8000E, 0x01500000, 0x00000000, 0x00000000,
-    0x00000000, 0xC0000000, 0x0000DFBF, 0x00000000,
+    0x00000000, 0xC0000000, 0x01E0DFBF, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0xC0000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
@@ -330,14 +330,14 @@
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0xFFFFF0FF, 0xFFFFF9FC, 0xFFFFFFFF, 0xEFFFFFFF,
-    0x07FFFFFF, 0xFFF00000, 0x0FFFFFFF, 0x000000FC,
+    0x07FFFFFF, 0xFFF00000, 0x0FFFFFFF, 0x000001FC,
     0xFFFFFFFF, 0x0000007F, 0x000007FF, 0x00000000,
     0xF0000000, 0xFFFFFFFF, 0xFFFFFFFF, 0x000003FF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFF7FFFFF, 0xFFFFFFFD, 0x00FFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFF7FFF,
-    0x3FFFFFFF, 0x1FFFFFFF, 0x0000000F, 0x00000000,
-    0xFFFFF3DE, 0xFFFFFEFF, 0x7F47AFFF, 0x000000FE,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFBFFF, 0xFFFFFF0B,
+    0xFFFFF3DE, 0xFFFFFEFF, 0x7FC7AFFF, 0x000000FE,
     0xFF100000, 0x7FFEFFFF, 0x00000000, 0x00000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
@@ -345,7 +345,7 @@
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0xFFFFFFFF, 0x0000FFFF, 0x001F0060, 0x00000000,
+    0xFFFFFFFF, 0x0000FFFF, 0x03FF0060, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x000007E0,
@@ -359,7 +359,7 @@
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0xFFC30000, 0x00000000, 0xFFFFFFFF, 0x0000000F,
-    0x7FFFFFFF, 0xFFFFFC00, 0x0001000F, 0xFFFFFFFF,
+    0x7FFFFFFF, 0xFFFFFC00, 0x0001FFFF, 0xFFFFFFFF,
     0xFFFFFC00, 0x0001FFFF, 0xFFFFFFFF, 0x7FFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
@@ -371,7 +371,11 @@
     0xFFFF0000, 0xFFFFFFFF, 0x0000007F, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000F00, 0x00000000, 0x00000000,
+    0x00000000, 0x02C00F00, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x03800000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
@@ -397,6 +401,10 @@
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0xFFFFFFFF, 0xFFFF0FFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0x000FFFFF, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFF0000, 0xA0027FFF, 0x80807C44, 0x9A000000,
+    0x00013C00, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFF0001, 0x0003FFFF, 0x000001FF, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000
   }
--- a/lib/unictype/categ_Z.h
+++ b/lib/unictype/categ_Z.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Categories of Unicode characters.  */
-/* Generated automatically by gen-ctype.c for Unicode 5.1.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 5.2.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
--- a/lib/unictype/categ_Zl.h
+++ b/lib/unictype/categ_Zl.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Categories of Unicode characters.  */
-/* Generated automatically by gen-ctype.c for Unicode 5.1.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 5.2.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
--- a/lib/unictype/categ_Zp.h
+++ b/lib/unictype/categ_Zp.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Categories of Unicode characters.  */
-/* Generated automatically by gen-ctype.c for Unicode 5.1.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 5.2.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
--- a/lib/unictype/categ_Zs.h
+++ b/lib/unictype/categ_Zs.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Categories of Unicode characters.  */
-/* Generated automatically by gen-ctype.c for Unicode 5.1.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 5.2.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
--- a/lib/unictype/categ_of.h
+++ b/lib/unictype/categ_of.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Categories of Unicode characters.  */
-/* Generated automatically by gen-ctype.c for Unicode 5.1.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 5.2.0.  */
 #define category_header_0 16
 #define category_header_1 17
 #define category_header_2 7
@@ -11,7 +11,7 @@
   {
     int level1[17];
     short level2[5 << 9];
-    unsigned short level3[148 * 40 + 1];
+    unsigned short level3[161 * 40 + 1];
   }
 u_category =
 {
@@ -23,78 +23,82 @@
   {
         0,   128,   256,   384,   512,   640,   768,   896,
      1024,  1152,  1280,  1408,  1536,  1664,  1792,  1920,
-       -1,    -1,  2048,  2176,  2304,  2432,  2560,  2688,
-     2816,  2944,  3072,  3200,  3328,  3456,  3584,  3712,
-     3840,  3968,  4096,  4224,  4352,  4480,  4608,  4736,
-     4864,  4992,  4992,  4992,  5120,  5248,  5376,  5504,
-     5632,  5760,  5888,  6016,  6144,    -1,  6272,  6400,
-     6528,    -1,  6656,  6784,  6912,  7040,  7168,  7296,
-     7424,  7552,  7680,  7808,  7936,  7936,  8064,  8192,
-     8320,  8448,  8576,  8704,  8832,  8960,  9088,  9216,
-     8576,  8576,  7936,  9344,  7936,  7936,  9472,    -1,
-     9600,  9728,  9856,  9984, 10112, 10240,  8576, 10368,
-    10496, 10624, 10752, 10880, 11008, 11136,  8576,  8576,
-     4992,  4992,  4992,  4992,  4992,  4992,  4992,  4992,
-     4992,  4992,  4992,  4992,  4992,  4992,  4992,  4992,
-     4992,  4992,  4992,  4992,  4992,  4992,  4992,  4992,
-     4992,  4992,  4992,  4992,  4992,  4992,  4992,  4992,
-     4992,  4992,  4992,  4992,  4992,  4992,  4992,  4992,
-     4992,  4992,  4992,  4992,  4992,  4992,  4992,  4992,
-     4992,  4992,  4992, 11264,  4992,  4992,  4992,  4992,
-     4992,  4992,  4992,  4992,  4992,  4992,  4992,  4992,
-     4992,  4992,  4992,  4992,  4992,  4992,  4992,  4992,
-     4992,  4992,  4992,  4992,  4992,  4992,  4992,  4992,
-     4992,  4992,  4992,  4992,  4992,  4992,  4992,  4992,
-     4992,  4992,  4992,  4992,  4992,  4992,  4992,  4992,
-     4992,  4992,  4992,  4992,  4992,  4992,  4992,  4992,
-     4992,  4992,  4992,  4992,  4992,  4992,  4992,  4992,
-     4992,  4992,  4992,  4992,  4992,  4992,  4992,  4992,
-     4992,  4992,  4992,  4992,  4992,  4992,  4992,  4992,
-     4992,  4992,  4992,  4992,  4992,  4992,  4992,  4992,
-     4992,  4992,  4992,  4992,  4992,  4992,  4992,  4992,
-     4992,  4992,  4992,  4992,  4992,  4992,  4992,  4992,
-     4992,  4992,  4992,  4992,  4992,  4992,  4992,  4992,
-     4992,  4992,  4992,  4992,  4992,  4992,  4992,  4992,
-     4992,  4992,  4992,  4992,  4992,  4992,  4992,  4992,
-     4992,  4992,  4992,  4992,  4992,  4992,  4992,  4992,
-     4992,  4992,  4992,  4992,  4992,  4992,  4992,  4992,
-     4992,  4992,  4992,  4992,  4992,  4992,  4992,  4992,
-     4992,  4992,  4992,  4992,  4992,  4992,  4992,  4992,
-     4992,  4992,  4992,  4992,  4992,  4992,  4992, 11392,
-    11520,  4992,  4992,  4992,  4992,  4992,  4992,  4992,
-     4992, 11648,  4992,  4992, 11776, 11904, 12032, 12160,
-    12288, 12416, 12544,    -1, 12672,    -1,    -1,    -1,
-     4992,  4992,  4992,  4992,  4992,  4992,  4992,  4992,
-     4992,  4992,  4992,  4992,  4992,  4992,  4992,  4992,
-     4992,  4992,  4992,  4992,  4992,  4992,  4992,  4992,
-     4992,  4992,  4992,  4992,  4992,  4992,  4992,  4992,
-     4992,  4992,  4992,  4992,  4992,  4992,  4992,  4992,
-     4992,  4992,  4992,  4992,  4992,  4992,  4992,  4992,
-     4992,  4992,  4992,  4992,  4992,  4992,  4992,  4992,
-     4992,  4992,  4992,  4992,  4992,  4992,  4992,  4992,
-     4992,  4992,  4992,  4992,  4992,  4992,  4992,  4992,
-     4992,  4992,  4992,  4992,  4992,  4992,  4992,  4992,
-     4992,  4992,  4992,  4992,  4992,  4992,  4992, 12800,
-    12928, 12928, 12928, 12928, 12928, 12928, 12928, 12928,
-    12928, 12928, 12928, 12928, 12928, 12928, 12928, 12928,
-    13056, 13056, 13056, 13056, 13056, 13056, 13056, 13056,
-    13056, 13056, 13056, 13056, 13056, 13056, 13056, 13056,
-    13056, 13056, 13056, 13056, 13056, 13056, 13056, 13056,
-    13056, 13056, 13056, 13056, 13056, 13056, 13056, 13056,
-    13056, 13056, 13056, 13056, 13056, 13056, 13056, 13056,
-    13056, 13056, 13056, 13056, 13056, 13056, 13056, 13056,
-    13056, 13056,  4992,  4992, 13184, 13312, 13440, 13568,
-     4992,  4992, 13696, 13824, 13952, 14080, 14208, 14336,
-    14464, 14592, 14720, 14848,    -1, 14976, 15104, 15232,
-    15360, 15488,    -1,    -1,    -1,    -1,    -1,    -1,
-    15616,    -1, 15744,    -1, 15872,    -1,    -1,    -1,
+     2048,    -1,  2176,  2304,  2432,  2560,  2688,  2816,
+     2944,  3072,  3200,  3328,  3456,  3584,  3712,  3840,
+     3968,  4096,  4224,  4224,  4352,  4480,  4608,  4736,
+     4864,  4224,  4224,  4224,  4992,  5120,  5248,  5376,
+     5504,  5632,  5760,  5888,  6016,  6144,  6272,  6400,
+     6528,  6656,  6784,  6912,  7040,  7168,  7296,  7424,
+     7552,  7680,  7808,  7936,  8064,  8064,  8192,  8320,
+     8448,  8576,  8704,  8832,  8960,  9088,  9216,  9344,
+     8704,  8704,  8064,  9472,  8064,  8064,  9600,    -1,
+     9728,  9856,  9984, 10112, 10240, 10368,  8704, 10496,
+    10624, 10752, 10880, 11008, 11136, 11264,  8704,  8704,
+     4224,  4224,  4224,  4224,  4224,  4224,  4224,  4224,
+     4224,  4224,  4224,  4224,  4224,  4224,  4224,  4224,
+     4224,  4224,  4224,  4224,  4224,  4224,  4224,  4224,
+     4224,  4224,  4224,  4224,  4224,  4224,  4224,  4224,
+     4224,  4224,  4224,  4224,  4224,  4224,  4224,  4224,
+     4224,  4224,  4224,  4224,  4224,  4224,  4224,  4224,
+     4224,  4224,  4224, 11392,  4224,  4224,  4224,  4224,
+     4224,  4224,  4224,  4224,  4224,  4224,  4224,  4224,
+     4224,  4224,  4224,  4224,  4224,  4224,  4224,  4224,
+     4224,  4224,  4224,  4224,  4224,  4224,  4224,  4224,
+     4224,  4224,  4224,  4224,  4224,  4224,  4224,  4224,
+     4224,  4224,  4224,  4224,  4224,  4224,  4224,  4224,
+     4224,  4224,  4224,  4224,  4224,  4224,  4224,  4224,
+     4224,  4224,  4224,  4224,  4224,  4224,  4224,  4224,
+     4224,  4224,  4224,  4224,  4224,  4224,  4224,  4224,
+     4224,  4224,  4224,  4224,  4224,  4224,  4224,  4224,
+     4224,  4224,  4224,  4224,  4224,  4224,  4224,  4224,
+     4224,  4224,  4224,  4224,  4224,  4224,  4224,  4224,
+     4224,  4224,  4224,  4224,  4224,  4224,  4224,  4224,
+     4224,  4224,  4224,  4224,  4224,  4224,  4224,  4224,
+     4224,  4224,  4224,  4224,  4224,  4224,  4224,  4224,
+     4224,  4224,  4224,  4224,  4224,  4224,  4224,  4224,
+     4224,  4224,  4224,  4224,  4224,  4224,  4224,  4224,
+     4224,  4224,  4224,  4224,  4224,  4224,  4224,  4224,
+     4224,  4224,  4224,  4224,  4224,  4224,  4224,  4224,
+     4224,  4224,  4224,  4224,  4224,  4224,  4224,  4224,
+     4224,  4224,  4224,  4224,  4224,  4224,  4224, 11520,
+    11648,  4224,  4224,  4224,  4224,  4224,  4224,  4224,
+     4224, 11776,  4224,  4224, 11904, 12032, 12160, 12288,
+    12416, 12544, 12672, 12800, 12928, 13056,    -1, 13184,
+     4224,  4224,  4224,  4224,  4224,  4224,  4224,  4224,
+     4224,  4224,  4224,  4224,  4224,  4224,  4224,  4224,
+     4224,  4224,  4224,  4224,  4224,  4224,  4224,  4224,
+     4224,  4224,  4224,  4224,  4224,  4224,  4224,  4224,
+     4224,  4224,  4224,  4224,  4224,  4224,  4224,  4224,
+     4224,  4224,  4224,  4224,  4224,  4224,  4224,  4224,
+     4224,  4224,  4224,  4224,  4224,  4224,  4224,  4224,
+     4224,  4224,  4224,  4224,  4224,  4224,  4224,  4224,
+     4224,  4224,  4224,  4224,  4224,  4224,  4224,  4224,
+     4224,  4224,  4224,  4224,  4224,  4224,  4224,  4224,
+     4224,  4224,  4224,  4224,  4224,  4224,  4224, 13312,
+    13440, 13440, 13440, 13440, 13440, 13440, 13440, 13440,
+    13440, 13440, 13440, 13440, 13440, 13440, 13440, 13440,
+    13568, 13568, 13568, 13568, 13568, 13568, 13568, 13568,
+    13568, 13568, 13568, 13568, 13568, 13568, 13568, 13568,
+    13568, 13568, 13568, 13568, 13568, 13568, 13568, 13568,
+    13568, 13568, 13568, 13568, 13568, 13568, 13568, 13568,
+    13568, 13568, 13568, 13568, 13568, 13568, 13568, 13568,
+    13568, 13568, 13568, 13568, 13568, 13568, 13568, 13568,
+    13568, 13568,  4224,  4224, 13696, 13824, 13952, 14080,
+     4224,  4224, 14208, 14336, 14464, 14592, 14720, 14848,
+    14976, 15104, 15232, 15360,    -1, 15488, 15616, 15744,
+    15872, 16000,    -1,    -1,    -1,    -1,    -1,    -1,
+    16128,    -1, 16256,    -1, 16384,    -1, 16512,    -1,
+    16640,    -1,    -1,    -1, 16768,    -1,    -1,    -1,
+       -1, 16896,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+     4224,  4224,  4224,  4224,  4224,  4224, 17024,    -1,
+    17152,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-     4992,  4992,  4992,  4992,  4992,  4992, 16000,    -1,
-    16128,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+     4224,  4224,  4224,  4224,  4224,  4224,  4224,  4224,
+    17280,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
@@ -133,64 +137,64 @@
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-     8576, 16256, 16384, 16512, 16640,    -1, 16768,    -1,
-    16896, 17024, 17152, 17280, 17408, 17536, 17664, 17792,
+     8704, 17408, 17536, 17664, 17792,    -1, 17920,    -1,
+    18048, 18176, 18304, 18432, 18560, 18688, 18816, 18944,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    17920, 18048,    -1,    -1,    -1,    -1,    -1,    -1,
+    19072, 19200, 19328, 19456, 19584,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-     4992,  4992,  4992,  4992,  4992,  4992,  4992,  4992,
-     4992,  4992,  4992,  4992,  4992,  4992,  4992,  4992,
-     4992,  4992,  4992,  4992,  4992,  4992,  4992,  4992,
-     4992,  4992,  4992,  4992,  4992,  4992,  4992,  4992,
-     4992,  4992,  4992,  4992,  4992,  4992,  4992,  4992,
-     4992,  4992,  4992,  4992,  4992,  4992,  4992,  4992,
-     4992,  4992,  4992,  4992,  4992,  4992,  4992,  4992,
-     4992,  4992,  4992,  4992,  4992,  4992,  4992,  4992,
-     4992,  4992,  4992,  4992,  4992,  4992,  4992,  4992,
-     4992,  4992,  4992,  4992,  4992,  4992,  4992,  4992,
-     4992,  4992,  4992,  4992,  4992,  4992,  4992,  4992,
-     4992,  4992,  4992,  4992,  4992,  4992,  4992,  4992,
-     4992,  4992,  4992,  4992,  4992,  4992,  4992,  4992,
-     4992,  4992,  4992,  4992,  4992,  4992,  4992,  4992,
-     4992,  4992,  4992,  4992,  4992,  4992,  4992,  4992,
-     4992,  4992,  4992,  4992,  4992,  4992,  4992,  4992,
-     4992,  4992,  4992,  4992,  4992,  4992,  4992,  4992,
-     4992,  4992,  4992,  4992,  4992,  4992,  4992,  4992,
-     4992,  4992,  4992,  4992,  4992,  4992,  4992,  4992,
-     4992,  4992,  4992,  4992,  4992,  4992,  4992,  4992,
-     4992,  4992,  4992,  4992,  4992,  4992,  4992,  4992,
-     4992,  4992,  4992,  4992,  4992,  4992,  4992,  4992,
-     4992,  4992,  4992,  4992,  4992,  4992,  4992,  4992,
-     4992,  4992,  4992,  4992,  4992,  4992,  4992,  4992,
-     4992,  4992,  4992,  4992,  4992,  4992,  4992,  4992,
-     4992,  4992,  4992,  4992,  4992,  4992,  4992,  4992,
-     4992,  4992,  4992,  4992,  4992,  4992,  4992,  4992,
-     4992,  4992,  4992,  4992,  4992,  4992,  4992,  4992,
-     4992,  4992,  4992,  4992,  4992,  4992,  4992,  4992,
-     4992,  4992,  4992,  4992,  4992,  4992,  4992,  4992,
-     4992,  4992,  4992,  4992,  4992,  4992,  4992,  4992,
-     4992,  4992,  4992,  4992,  4992,  4992,  4992,  4992,
-     4992,  4992,  4992,  4992,  4992,  4992,  4992,  4992,
-     4992,  4992,  4992,  4992,  4992,  4992,  4992,  4992,
-     4992,  4992,  4992,  4992,  4992,  4992,  4992,  4992,
-     4992,  4992,  4992,  4992,  4992,  4992,  4992,  4992,
-     4992,  4992,  4992,  4992,  4992,  4992,  4992,  4992,
-     4992,  4992,  4992,  4992,  4992,  4992,  4992,  4992,
-     4992,  4992,  4992,  4992,  4992,  4992,  4992,  4992,
-     4992,  4992,  4992,  4992,  4992,  4992,  4992,  4992,
-     4992,  4992,  4992,  4992,  4992,  4992,  4992,  4992,
-     4992,  4992,  4992,  4992,  4992, 18176,    -1,    -1,
+     4224,  4224,  4224,  4224,  4224,  4224,  4224,  4224,
+     4224,  4224,  4224,  4224,  4224,  4224,  4224,  4224,
+     4224,  4224,  4224,  4224,  4224,  4224,  4224,  4224,
+     4224,  4224,  4224,  4224,  4224,  4224,  4224,  4224,
+     4224,  4224,  4224,  4224,  4224,  4224,  4224,  4224,
+     4224,  4224,  4224,  4224,  4224,  4224,  4224,  4224,
+     4224,  4224,  4224,  4224,  4224,  4224,  4224,  4224,
+     4224,  4224,  4224,  4224,  4224,  4224,  4224,  4224,
+     4224,  4224,  4224,  4224,  4224,  4224,  4224,  4224,
+     4224,  4224,  4224,  4224,  4224,  4224,  4224,  4224,
+     4224,  4224,  4224,  4224,  4224,  4224,  4224,  4224,
+     4224,  4224,  4224,  4224,  4224,  4224,  4224,  4224,
+     4224,  4224,  4224,  4224,  4224,  4224,  4224,  4224,
+     4224,  4224,  4224,  4224,  4224,  4224,  4224,  4224,
+     4224,  4224,  4224,  4224,  4224,  4224,  4224,  4224,
+     4224,  4224,  4224,  4224,  4224,  4224,  4224,  4224,
+     4224,  4224,  4224,  4224,  4224,  4224,  4224,  4224,
+     4224,  4224,  4224,  4224,  4224,  4224,  4224,  4224,
+     4224,  4224,  4224,  4224,  4224,  4224,  4224,  4224,
+     4224,  4224,  4224,  4224,  4224,  4224,  4224,  4224,
+     4224,  4224,  4224,  4224,  4224,  4224,  4224,  4224,
+     4224,  4224,  4224,  4224,  4224,  4224,  4224,  4224,
+     4224,  4224,  4224,  4224,  4224,  4224,  4224,  4224,
+     4224,  4224,  4224,  4224,  4224,  4224,  4224,  4224,
+     4224,  4224,  4224,  4224,  4224,  4224,  4224,  4224,
+     4224,  4224,  4224,  4224,  4224,  4224,  4224,  4224,
+     4224,  4224,  4224,  4224,  4224,  4224,  4224,  4224,
+     4224,  4224,  4224,  4224,  4224,  4224,  4224,  4224,
+     4224,  4224,  4224,  4224,  4224,  4224,  4224,  4224,
+     4224,  4224,  4224,  4224,  4224,  4224,  4224,  4224,
+     4224,  4224,  4224,  4224,  4224,  4224,  4224,  4224,
+     4224,  4224,  4224,  4224,  4224,  4224,  4224,  4224,
+     4224,  4224,  4224,  4224,  4224,  4224,  4224,  4224,
+     4224,  4224,  4224,  4224,  4224,  4224,  4224,  4224,
+     4224,  4224,  4224,  4224,  4224,  4224,  4224,  4224,
+     4224,  4224,  4224,  4224,  4224,  4224,  4224,  4224,
+     4224,  4224,  4224,  4224,  4224,  4224,  4224,  4224,
+     4224,  4224,  4224,  4224,  4224,  4224,  4224,  4224,
+     4224,  4224,  4224,  4224,  4224,  4224,  4224,  4224,
+     4224,  4224,  4224,  4224,  4224,  4224,  4224,  4224,
+     4224,  4224,  4224,  4224,  4224,  4224,  4224,  4224,
+     4224,  4224,  4224,  4224,  4224, 19712,  4224,  4224,
+     4224,  4224,  4224,  4224,  4224,  4224,  4224,  4224,
+     4224,  4224,  4224,  4224,  4224,  4224,  4224,  4224,
+     4224,  4224,  4224,  4224,  4224,  4224,  4224,  4224,
+     4224,  4224,  4224,  4224,  4224,  4224, 19840,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
@@ -207,13 +211,9 @@
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+     4224,  4224,  4224,  4224, 19968,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-     4992,  4992,  4992,  4992, 18304,    -1,    -1,    -1,
-       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    18432,    -1, 18560, 18688,    -1,    -1,    -1,    -1,
+    20096,    -1, 20224, 20352,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
@@ -277,70 +277,70 @@
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    13056, 13056, 13056, 13056, 13056, 13056, 13056, 13056,
-    13056, 13056, 13056, 13056, 13056, 13056, 13056, 13056,
-    13056, 13056, 13056, 13056, 13056, 13056, 13056, 13056,
-    13056, 13056, 13056, 13056, 13056, 13056, 13056, 13056,
-    13056, 13056, 13056, 13056, 13056, 13056, 13056, 13056,
-    13056, 13056, 13056, 13056, 13056, 13056, 13056, 13056,
-    13056, 13056, 13056, 13056, 13056, 13056, 13056, 13056,
-    13056, 13056, 13056, 13056, 13056, 13056, 13056, 13056,
-    13056, 13056, 13056, 13056, 13056, 13056, 13056, 13056,
-    13056, 13056, 13056, 13056, 13056, 13056, 13056, 13056,
-    13056, 13056, 13056, 13056, 13056, 13056, 13056, 13056,
-    13056, 13056, 13056, 13056, 13056, 13056, 13056, 13056,
-    13056, 13056, 13056, 13056, 13056, 13056, 13056, 13056,
-    13056, 13056, 13056, 13056, 13056, 13056, 13056, 13056,
-    13056, 13056, 13056, 13056, 13056, 13056, 13056, 13056,
-    13056, 13056, 13056, 13056, 13056, 13056, 13056, 13056,
-    13056, 13056, 13056, 13056, 13056, 13056, 13056, 13056,
-    13056, 13056, 13056, 13056, 13056, 13056, 13056, 13056,
-    13056, 13056, 13056, 13056, 13056, 13056, 13056, 13056,
-    13056, 13056, 13056, 13056, 13056, 13056, 13056, 13056,
-    13056, 13056, 13056, 13056, 13056, 13056, 13056, 13056,
-    13056, 13056, 13056, 13056, 13056, 13056, 13056, 13056,
-    13056, 13056, 13056, 13056, 13056, 13056, 13056, 13056,
-    13056, 13056, 13056, 13056, 13056, 13056, 13056, 13056,
-    13056, 13056, 13056, 13056, 13056, 13056, 13056, 13056,
-    13056, 13056, 13056, 13056, 13056, 13056, 13056, 13056,
-    13056, 13056, 13056, 13056, 13056, 13056, 13056, 13056,
-    13056, 13056, 13056, 13056, 13056, 13056, 13056, 13056,
-    13056, 13056, 13056, 13056, 13056, 13056, 13056, 13056,
-    13056, 13056, 13056, 13056, 13056, 13056, 13056, 13056,
-    13056, 13056, 13056, 13056, 13056, 13056, 13056, 13056,
-    13056, 13056, 13056, 13056, 13056, 13056, 13056, 13056,
-    13056, 13056, 13056, 13056, 13056, 13056, 13056, 13056,
-    13056, 13056, 13056, 13056, 13056, 13056, 13056, 13056,
-    13056, 13056, 13056, 13056, 13056, 13056, 13056, 13056,
-    13056, 13056, 13056, 13056, 13056, 13056, 13056, 13056,
-    13056, 13056, 13056, 13056, 13056, 13056, 13056, 13056,
-    13056, 13056, 13056, 13056, 13056, 13056, 13056, 13056,
-    13056, 13056, 13056, 13056, 13056, 13056, 13056, 13056,
-    13056, 13056, 13056, 13056, 13056, 13056, 13056, 13056,
-    13056, 13056, 13056, 13056, 13056, 13056, 13056, 13056,
-    13056, 13056, 13056, 13056, 13056, 13056, 13056, 13056,
-    13056, 13056, 13056, 13056, 13056, 13056, 13056, 13056,
-    13056, 13056, 13056, 13056, 13056, 13056, 13056, 13056,
-    13056, 13056, 13056, 13056, 13056, 13056, 13056, 13056,
-    13056, 13056, 13056, 13056, 13056, 13056, 13056, 13056,
-    13056, 13056, 13056, 13056, 13056, 13056, 13056, 13056,
-    13056, 13056, 13056, 13056, 13056, 13056, 13056, 13056,
-    13056, 13056, 13056, 13056, 13056, 13056, 13056, 13056,
-    13056, 13056, 13056, 13056, 13056, 13056, 13056, 13056,
-    13056, 13056, 13056, 13056, 13056, 13056, 13056, 13056,
-    13056, 13056, 13056, 13056, 13056, 13056, 13056, 13056,
-    13056, 13056, 13056, 13056, 13056, 13056, 13056, 13056,
-    13056, 13056, 13056, 13056, 13056, 13056, 13056, 13056,
-    13056, 13056, 13056, 13056, 13056, 13056, 13056, 13056,
-    13056, 13056, 13056, 13056, 13056, 13056, 13056, 13056,
-    13056, 13056, 13056, 13056, 13056, 13056, 13056, 13056,
-    13056, 13056, 13056, 13056, 13056, 13056, 13056, 13056,
-    13056, 13056, 13056, 13056, 13056, 13056, 13056, 13056,
-    13056, 13056, 13056, 13056, 13056, 13056, 13056, 13056,
-    13056, 13056, 13056, 13056, 13056, 13056, 13056, 13056,
-    13056, 13056, 13056, 13056, 13056, 13056, 13056, 13056,
-    13056, 13056, 13056, 13056, 13056, 13056, 13056, 13056,
-    13056, 13056, 13056, 13056, 13056, 13056, 13056, 18816
+    13568, 13568, 13568, 13568, 13568, 13568, 13568, 13568,
+    13568, 13568, 13568, 13568, 13568, 13568, 13568, 13568,
+    13568, 13568, 13568, 13568, 13568, 13568, 13568, 13568,
+    13568, 13568, 13568, 13568, 13568, 13568, 13568, 13568,
+    13568, 13568, 13568, 13568, 13568, 13568, 13568, 13568,
+    13568, 13568, 13568, 13568, 13568, 13568, 13568, 13568,
+    13568, 13568, 13568, 13568, 13568, 13568, 13568, 13568,
+    13568, 13568, 13568, 13568, 13568, 13568, 13568, 13568,
+    13568, 13568, 13568, 13568, 13568, 13568, 13568, 13568,
+    13568, 13568, 13568, 13568, 13568, 13568, 13568, 13568,
+    13568, 13568, 13568, 13568, 13568, 13568, 13568, 13568,
+    13568, 13568, 13568, 13568, 13568, 13568, 13568, 13568,
+    13568, 13568, 13568, 13568, 13568, 13568, 13568, 13568,
+    13568, 13568, 13568, 13568, 13568, 13568, 13568, 13568,
+    13568, 13568, 13568, 13568, 13568, 13568, 13568, 13568,
+    13568, 13568, 13568, 13568, 13568, 13568, 13568, 13568,
+    13568, 13568, 13568, 13568, 13568, 13568, 13568, 13568,
+    13568, 13568, 13568, 13568, 13568, 13568, 13568, 13568,
+    13568, 13568, 13568, 13568, 13568, 13568, 13568, 13568,
+    13568, 13568, 13568, 13568, 13568, 13568, 13568, 13568,
+    13568, 13568, 13568, 13568, 13568, 13568, 13568, 13568,
+    13568, 13568, 13568, 13568, 13568, 13568, 13568, 13568,
+    13568, 13568, 13568, 13568, 13568, 13568, 13568, 13568,
+    13568, 13568, 13568, 13568, 13568, 13568, 13568, 13568,
+    13568, 13568, 13568, 13568, 13568, 13568, 13568, 13568,
+    13568, 13568, 13568, 13568, 13568, 13568, 13568, 13568,
+    13568, 13568, 13568, 13568, 13568, 13568, 13568, 13568,
+    13568, 13568, 13568, 13568, 13568, 13568, 13568, 13568,
+    13568, 13568, 13568, 13568, 13568, 13568, 13568, 13568,
+    13568, 13568, 13568, 13568, 13568, 13568, 13568, 13568,
+    13568, 13568, 13568, 13568, 13568, 13568, 13568, 13568,
+    13568, 13568, 13568, 13568, 13568, 13568, 13568, 13568,
+    13568, 13568, 13568, 13568, 13568, 13568, 13568, 13568,
+    13568, 13568, 13568, 13568, 13568, 13568, 13568, 13568,
+    13568, 13568, 13568, 13568, 13568, 13568, 13568, 13568,
+    13568, 13568, 13568, 13568, 13568, 13568, 13568, 13568,
+    13568, 13568, 13568, 13568, 13568, 13568, 13568, 13568,
+    13568, 13568, 13568, 13568, 13568, 13568, 13568, 13568,
+    13568, 13568, 13568, 13568, 13568, 13568, 13568, 13568,
+    13568, 13568, 13568, 13568, 13568, 13568, 13568, 13568,
+    13568, 13568, 13568, 13568, 13568, 13568, 13568, 13568,
+    13568, 13568, 13568, 13568, 13568, 13568, 13568, 13568,
+    13568, 13568, 13568, 13568, 13568, 13568, 13568, 13568,
+    13568, 13568, 13568, 13568, 13568, 13568, 13568, 13568,
+    13568, 13568, 13568, 13568, 13568, 13568, 13568, 13568,
+    13568, 13568, 13568, 13568, 13568, 13568, 13568, 13568,
+    13568, 13568, 13568, 13568, 13568, 13568, 13568, 13568,
+    13568, 13568, 13568, 13568, 13568, 13568, 13568, 13568,
+    13568, 13568, 13568, 13568, 13568, 13568, 13568, 13568,
+    13568, 13568, 13568, 13568, 13568, 13568, 13568, 13568,
+    13568, 13568, 13568, 13568, 13568, 13568, 13568, 13568,
+    13568, 13568, 13568, 13568, 13568, 13568, 13568, 13568,
+    13568, 13568, 13568, 13568, 13568, 13568, 13568, 13568,
+    13568, 13568, 13568, 13568, 13568, 13568, 13568, 13568,
+    13568, 13568, 13568, 13568, 13568, 13568, 13568, 13568,
+    13568, 13568, 13568, 13568, 13568, 13568, 13568, 13568,
+    13568, 13568, 13568, 13568, 13568, 13568, 13568, 13568,
+    13568, 13568, 13568, 13568, 13568, 13568, 13568, 13568,
+    13568, 13568, 13568, 13568, 13568, 13568, 13568, 13568,
+    13568, 13568, 13568, 13568, 13568, 13568, 13568, 13568,
+    13568, 13568, 13568, 13568, 13568, 13568, 13568, 13568,
+    13568, 13568, 13568, 13568, 13568, 13568, 13568, 13568,
+    13568, 13568, 13568, 13568, 13568, 13568, 13568, 13568,
+    13568, 13568, 13568, 13568, 13568, 13568, 13568, 20480
   },
   {
     0xe739, 0x739c, 0x39ce, 0x9ce7, 0xce73, 0xe739, 0x739c, 0x39ce,
@@ -394,7 +394,7 @@
     0x0840, 0x8020, 0x0200, 0x2008, 0x0080, 0x0802, 0x8020, 0x0200,
     0x2008, 0x0080, 0x0802, 0x8020, 0x0200, 0x2008, 0x0080, 0x0802,
     0x8020, 0x0200, 0x2008, 0x0080, 0x0802, 0x8020, 0x0200, 0x2008,
-    0x0080, 0x0802, 0x8020, 0x7bd0, 0xbdef, 0xdef7, 0xef7b, 0x001d,
+    0x0080, 0x0802, 0x8020, 0x4200, 0xbdef, 0xdef7, 0xef7b, 0x001d,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
     0x0000, 0x0000, 0x0000, 0x7de8, 0x18c4, 0x8c63, 0x843d, 0x4210,
     0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842,
@@ -423,16 +423,21 @@
     0x7bde, 0xbdef, 0xdef7, 0xef7b, 0x2108, 0x1084, 0x0842, 0x4211,
     0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842,
     0x8421, 0x5290, 0x294a, 0x94a5, 0x4632, 0x318d, 0xde8e, 0xef7b,
-    0x14bd, 0x0843, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421,
+    0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x4842, 0xa529,
+    0x528c, 0x294a, 0x94a5, 0x4a32, 0xa329, 0x5294, 0xef4a, 0xc631,
+    0x6318, 0x318c, 0x18c6, 0xec63, 0xf7bd, 0x7bde, 0xbdef, 0xdef7,
+    0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde,
+    0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b,
+    0x14a5, 0x0843, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421,
     0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084,
     0x0842, 0x8421, 0x5ef4, 0x3188, 0x94a6, 0x4a52, 0xc529, 0x6318,
-    0xef4a, 0x94a4, 0x7a52, 0x84ef, 0x4210, 0x2108, 0x9484, 0x2312,
-    0x0842, 0x8421, 0x4210, 0x9071, 0x7bde, 0xbdef, 0x4277, 0x2108,
+    0xe98a, 0x94a4, 0x4a52, 0x84ef, 0x4210, 0x2108, 0x9484, 0x2312,
+    0x0842, 0x8421, 0x4210, 0x9071, 0x7bde, 0x9def, 0x4210, 0x2108,
     0x18bd, 0x09d3, 0x8421, 0x4210, 0x277a, 0x77a4, 0x0842, 0x8421,
     0x4210, 0x2108, 0x1084, 0x0842, 0xa421, 0x4213, 0x2108, 0x93a4,
     0x3bde, 0x8421, 0x5ef4, 0x3188, 0x94a6, 0x7a52, 0xa637, 0x6377,
     0xe90a, 0xf7bd, 0x7bde, 0xbd37, 0x4ef7, 0x2748, 0x9484, 0x3bd2,
-    0x0842, 0x8421, 0x4210, 0xcc84, 0x94a9, 0x4a52, 0xded5, 0xef7b,
+    0x0842, 0x8421, 0x4210, 0xcc84, 0x94a9, 0x4a52, 0xd9d5, 0xef7b,
     0x14bd, 0x09d3, 0x8421, 0xde90, 0x277b, 0x77a4, 0x0842, 0x8421,
     0x4210, 0x2108, 0x1084, 0x0842, 0xa421, 0x4213, 0x2108, 0x13a4,
     0x09d2, 0x84e9, 0x5ef4, 0x31ba, 0x94a6, 0x7bde, 0xa52f, 0x52f7,
@@ -491,7 +496,7 @@
     0x94a5, 0x6252, 0x8429, 0xd210, 0xef7b, 0x94a5, 0x4a52, 0xbd29,
     0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5,
     0x4a52, 0xa529, 0x5294, 0xad7a, 0xd6b5, 0x6b5a, 0xb5a9, 0x5ad6,
-    0xad7b, 0xc631, 0x7b18, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde,
+    0xad7b, 0xc631, 0x6b18, 0xb5ad, 0xdef7, 0xef7b, 0xf7bd, 0x7bde,
     0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b,
     0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421,
     0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x6310, 0x294a, 0x94c5,
@@ -499,21 +504,16 @@
     0x8c63, 0x1084, 0x8842, 0xa531, 0x4210, 0x2948, 0x1885, 0x0863,
     0xc631, 0x6318, 0x210c, 0x94a4, 0x0852, 0x8421, 0x4210, 0x2108,
     0x1484, 0x4a63, 0xc631, 0x6318, 0x310a, 0x2108, 0x1084, 0x0842,
-    0xdef5, 0xad7b, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x6319, 0xad4a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4000, 0xbdef, 0xdef7,
     0xef7b, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842,
     0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x3890, 0xef7a,
     0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421,
     0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084,
     0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210,
-    0x2108, 0x1084, 0x0842, 0x8421, 0xdef4, 0x277b, 0x1084, 0x0842,
+    0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842,
     0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108,
     0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421,
-    0x4210, 0x2108, 0x9084, 0x7bde, 0x84ef, 0x4210, 0x2108, 0x1084,
-    0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210,
-    0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842,
-    0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0xdef4, 0xef7b,
-    0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421,
     0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084,
     0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0xa421, 0x4213,
     0xef48, 0x1084, 0x0842, 0xa4e9, 0x4213, 0xef48, 0x1084, 0x0842,
@@ -533,7 +533,7 @@
     0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210,
     0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842,
     0x8421, 0x4210, 0x2108, 0x1084, 0x7a42, 0xbdef, 0xdef7, 0xef7b,
-    0x109d, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421,
+    0x108c, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421,
     0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084,
     0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210,
     0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842,
@@ -542,12 +542,7 @@
     0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084,
     0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210,
     0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842,
-    0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108,
-    0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421,
-    0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084,
-    0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210,
-    0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842,
-    0x8421, 0x4210, 0x2462, 0x1084, 0x0842, 0xbde9, 0xdef7, 0xef7b,
+    0x8421, 0x4210, 0x2462, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108,
     0x1096, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421,
     0xe690, 0xef7a, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084,
     0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210,
@@ -569,22 +564,27 @@
     0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842,
     0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0xbd21, 0xdef7, 0xef7b,
     0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421,
-    0x4210, 0x2108, 0x1084, 0x0842, 0xa421, 0xde90, 0xef7b, 0xf7bd,
-    0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7,
-    0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde,
-    0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b,
+    0x4210, 0x2108, 0x1084, 0x0842, 0xa421, 0xde90, 0xef7b, 0x1084,
+    0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210,
+    0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842,
+    0x8421, 0x4210, 0x2108, 0x1084, 0x4842, 0xbdef, 0xdef7, 0xef7b,
     0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421,
     0x4210, 0xef7a, 0x14a5, 0x8c63, 0xc529, 0xd318, 0xef7b, 0x14c6,
     0x8c63, 0xa631, 0xd294, 0xef7b, 0xf7b5, 0x231e, 0x0842, 0x8421,
     0x4210, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842,
     0x8421, 0x4210, 0xef48, 0x1084, 0x7a42, 0xbdef, 0xdef7, 0xef7b,
     0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421,
-    0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0xdef4, 0xef7b, 0x18c6,
+    0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0xd210, 0xef7b, 0x18c6,
     0x8c63, 0xc631, 0x6318, 0x318c, 0x1086, 0x0842, 0xc621, 0xdef4,
-    0xef7b, 0x2108, 0x1084, 0x0842, 0xdef5, 0x8c7b, 0xd6b5, 0x6b5a,
+    0xef7b, 0x2108, 0x1084, 0x0842, 0xdea1, 0x8c7b, 0xd6b5, 0x6b5a,
     0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b,
     0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0xc529,
-    0xd318, 0x8c7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd,
+    0xd318, 0x8c7b, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084,
+    0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210,
+    0x2108, 0x1084, 0x4c42, 0xa531, 0x5294, 0xe94a, 0x14c5, 0x4a63,
+    0xa529, 0x5294, 0x318c, 0x98c6, 0x4a52, 0xa529, 0x5294, 0x2f7a,
+    0x2108, 0x1084, 0x0842, 0xdef5, 0xef7b, 0x2108, 0x1084, 0x0842,
+    0xdef5, 0xef7b, 0xc631, 0x6318, 0x311c, 0x18c6, 0xef63, 0xf7bd,
     0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7,
     0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde,
     0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b,
@@ -603,6 +603,11 @@
     0x4c62, 0xbd29, 0x18f7, 0x8c63, 0x2108, 0x1084, 0x0842, 0xdef5,
     0x2109, 0x2108, 0x1084, 0x0842, 0x4211, 0x2108, 0x1084, 0x0842,
     0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x6321, 0x318c, 0x8c46,
+    0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef,
+    0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd,
+    0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7,
+    0xef7b, 0x94a5, 0x4a58, 0xa529, 0x5294, 0x294a, 0x94c5, 0x4a52,
+    0x8529, 0x4210, 0x210a, 0x9884, 0x7bde, 0xbdef, 0xdef7, 0xef7b,
     0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108,
     0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x3084, 0x18c6, 0x8c63,
     0xc631, 0x6318, 0x318c, 0x18c6, 0x8c63, 0xc631, 0x6318, 0x318c,
@@ -612,7 +617,7 @@
     0x3184, 0x18c6, 0x8c63, 0xc631, 0x6318, 0x318c, 0x18c6, 0x8c63,
     0xc631, 0x6318, 0x318c, 0x18c6, 0x94a5, 0x4a52, 0xa529, 0x5294,
     0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52,
-    0xbde9, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0x297b,
+    0xbde9, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0x294b,
     0x8020, 0x0200, 0x2008, 0x0080, 0x0802, 0x8020, 0x0200, 0x2008,
     0x0080, 0x0802, 0x8020, 0x0200, 0x2008, 0x0080, 0x0802, 0x8020,
     0x0200, 0x2008, 0x0080, 0x0802, 0x8020, 0x0200, 0x2008, 0x0080,
@@ -637,18 +642,18 @@
     0xf7b6, 0x7b60, 0xc631, 0x6318, 0x178c, 0xad6b, 0xb6b5, 0xc631,
     0x6318, 0xf18c, 0x18c1, 0x5c63, 0xc62b, 0x9b28, 0x318b, 0x18c6,
     0x8c63, 0xca31, 0x62b8, 0x318c, 0x18c6, 0xb463, 0x6b5a, 0x7bad,
-    0xbdef, 0xad6b, 0xd6b5, 0xf42a, 0x94ae, 0x4a52, 0x2949, 0x0b9b,
+    0xbdef, 0xad6b, 0xd6b5, 0xf46a, 0x94ae, 0x4a52, 0x2949, 0x1b9b,
     0x294a, 0x94a5, 0x4a52, 0x2949, 0xeb9b, 0x8c63, 0x7a31, 0xbdef,
     0xdef7, 0xef7b, 0xce73, 0xe739, 0x739c, 0x39ce, 0x9ce7, 0xce73,
-    0x6739, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7,
+    0xe739, 0xb39c, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7,
     0xef7b, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x39ce, 0x9ca7, 0x4a73,
     0xa529, 0x5294, 0x294a, 0xf7a5, 0x7bde, 0xbdef, 0xdef7, 0xef7b,
     0x82b5, 0x6b5a, 0xb505, 0x0006, 0x0840, 0x8000, 0x4150, 0x15ad,
     0x0000, 0xad40, 0xd6b5, 0x2a0a, 0xa0a8, 0x0002, 0x0d40, 0x0000,
     0x0810, 0x2421, 0x1ad4, 0x0002, 0x4a52, 0x4129, 0x2108, 0x5954,
-    0xa86b, 0x77bd, 0x94a5, 0x4a52, 0xa529, 0x5294, 0xa529, 0x5294,
+    0xa86b, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0xa529, 0x5294,
     0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52,
-    0x2529, 0x5210, 0xa94a, 0xdef7, 0xef7b, 0x4a52, 0x6b29, 0xb5ad,
+    0x2529, 0x5210, 0x494a, 0xdef5, 0xef7b, 0x4a52, 0x6b29, 0xb5ad,
     0x594a, 0xad6b, 0x56b2, 0xab59, 0xb5ac, 0x5ad6, 0xacab, 0xd6b5,
     0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6,
     0x94ab, 0xcab5, 0x6b2a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a,
@@ -667,7 +672,7 @@
     0x2956, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52,
     0x6b59, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6,
     0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x2ad6, 0x94a5, 0xd652, 0x6b5a,
-    0xbdad, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b,
+    0xb5ad, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b,
     0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad,
     0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xbded, 0xdef7, 0xef7b, 0xf7bd,
     0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xd6b5, 0x6b5a, 0xb5ad, 0xded6,
@@ -694,14 +699,14 @@
     0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a,
     0xb5ad, 0x5ad6, 0x956b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b,
     0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad,
-    0x5ad6, 0xef6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5,
-    0x6b5a, 0xb5ad, 0x5ad6, 0xef7b, 0xd6b5, 0x7bda, 0xbdef, 0xdef7,
-    0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde,
-    0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b,
+    0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5,
+    0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6,
+    0xaf6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xf6b5, 0x7bda,
+    0xb5ef, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b,
     0xd6bd, 0x7b5a, 0xb5ad, 0x5ef6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad,
     0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xbdad, 0x5ad6, 0xad6b, 0xd6b5,
     0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0xdad6,
-    0xaf6b, 0xd6b5, 0x7bde, 0xb5ed, 0x5ad6, 0xed6b, 0xd6bd, 0x6b5a,
+    0xaf6b, 0xd6b5, 0x7bde, 0xb5ad, 0x5ad6, 0xed6b, 0xd6bd, 0x6b5a,
     0xcdad, 0xd735, 0x735c, 0x35cd, 0x9cd7, 0x4a52, 0xa529, 0x5294,
     0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0x7b55, 0xb5ef,
     0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6bd,
@@ -716,18 +721,18 @@
     0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad,
     0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0x4a52,
     0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0x6b29, 0x5295, 0x294a,
-    0xef7b, 0xd6b5, 0x7b5a, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde,
+    0xef7b, 0xd6b5, 0x6b5a, 0xb5ad, 0xdef6, 0xef7b, 0xf7bd, 0x7bde,
     0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xe800, 0x8421,
     0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084,
     0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0xe842, 0x0020, 0x4200,
-    0x0100, 0x1004, 0x0000, 0x803d, 0x4010, 0x2108, 0x1084, 0xef46,
+    0x0100, 0x1004, 0x0000, 0x8020, 0x4010, 0x2108, 0x1084, 0x0006,
     0x8020, 0x0200, 0x2008, 0x0080, 0x0802, 0x8020, 0x0200, 0x2008,
     0x0080, 0x0802, 0x8020, 0x0200, 0x2008, 0x0080, 0x0802, 0x8020,
     0x0200, 0x2008, 0x0080, 0x0802, 0x8020, 0x0200, 0x2008, 0x0080,
     0x0802, 0x8020, 0x0200, 0x2008, 0x0080, 0x0802, 0x8020, 0x6a10,
-    0xb5ad, 0xded6, 0xef7b, 0xf7bd, 0x7bde, 0x3def, 0x18c6, 0x8c55,
+    0xb5ad, 0x1056, 0x2840, 0xf4a5, 0x7bde, 0x3def, 0x18c6, 0x8c55,
     0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108,
     0x1084, 0x0842, 0x8421, 0x4210, 0xbdef, 0xdef7, 0xef7b, 0x1084,
     0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210,
@@ -739,7 +744,7 @@
     0xe908, 0x1084, 0x0842, 0x84e9, 0x4210, 0xe908, 0x94a5, 0x4a52,
     0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a,
     0x3e31, 0x60f8, 0xf18c, 0xf8c1, 0x8c60, 0xc631, 0x6318, 0x3164,
-    0xf8b2, 0x8c60, 0x360f, 0x5cd7, 0xcd73, 0x18c5, 0x1c63, 0xf7b1,
+    0xf8b2, 0x8c60, 0x360f, 0x5cd7, 0xcd73, 0x18c5, 0x1c63, 0xf631,
     0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7,
     0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde,
     0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b,
@@ -775,8 +780,8 @@
     0xbdef, 0xdef7, 0xef7b, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108,
     0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad,
     0x5ad6, 0xed6b, 0x294a, 0x94a5, 0x4a52, 0x5ad5, 0xad6b, 0xd6b5,
-    0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x7bda, 0xbdef, 0xdef7,
-    0xef7b, 0x2955, 0x94a5, 0x4a52, 0xa529, 0x5294, 0xd6b5, 0x6b5a,
+    0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6,
+    0xad6b, 0x2955, 0x94a5, 0x4a52, 0xa529, 0x5294, 0xd6b5, 0x6b5a,
     0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b,
     0x294a, 0x94a5, 0x4a52, 0x5ad5, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad,
     0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0x2955,
@@ -790,7 +795,7 @@
     0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b,
     0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421,
     0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084,
-    0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x7bd2, 0xbdef, 0xdef7,
+    0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0xd210,
     0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde,
     0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b,
     0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0642, 0x8421,
@@ -801,18 +806,18 @@
     0x1084, 0x0842, 0x8421, 0x4210, 0xef7a, 0xd6b5, 0x6b5a, 0xb5ad,
     0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5,
     0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xbded, 0xdef7,
-    0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde,
-    0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b,
+    0xef7b, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842,
+    0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x6321, 0x318c, 0x8c46,
     0x1084, 0x0842, 0x8421, 0x3210, 0x8c62, 0x1084, 0x0842, 0x8421,
     0x4210, 0x2108, 0x2108, 0x1084, 0x0842, 0xd211, 0xef7b, 0xf7bd,
     0x7bde, 0xbdef, 0xdef7, 0xef7b, 0x8020, 0x0200, 0x2008, 0x0080,
     0x0802, 0x8020, 0x0200, 0x2008, 0x0080, 0x0802, 0x83bd, 0x0200,
     0x2008, 0x0080, 0x2902, 0x9ce7, 0x7bd8, 0xbdef, 0x5ef7, 0x1c4a,
     0x8020, 0x0200, 0x2008, 0x0080, 0x0802, 0x8020, 0x0200, 0xbd08,
-    0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd,
-    0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7,
-    0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde,
-    0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b,
+    0xdef7, 0xef7b, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084,
+    0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210,
+    0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x4842,
+    0x294a, 0x94a5, 0x4a52, 0xc4a5, 0x6318, 0xbd8c, 0xdef7, 0xef7b,
     0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0x631d,
     0x318c, 0x18c6, 0x8294, 0x0200, 0x2008, 0x0080, 0x0802, 0x8021,
     0x0200, 0x2008, 0x0080, 0x0802, 0x8020, 0x0200, 0x2008, 0x0080,
@@ -824,30 +829,45 @@
     0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde,
     0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0x4277, 0x2108,
     0x1484, 0x4842, 0x8421, 0x4290, 0x2108, 0x1084, 0x0842, 0x8421,
-    0x4210, 0x2108, 0x1084, 0x4a63, 0xb531, 0xdad6, 0xef7b, 0xf7bd,
-    0x7bde, 0xbdef, 0xdef7, 0xef7b, 0x1084, 0x0842, 0x8421, 0x4210,
+    0x4210, 0x2108, 0x1084, 0x4a63, 0xb531, 0xdad6, 0xef7b, 0x294a,
+    0x54a5, 0xb3ad, 0xdef6, 0xef7b, 0x1084, 0x0842, 0x8421, 0x4210,
     0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842,
     0x8421, 0x4210, 0x2108, 0x1084, 0x6312, 0xbd8c, 0xdef7, 0xef7b,
     0x10c6, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421,
     0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084,
     0x8c62, 0xc631, 0x6318, 0x318c, 0x18c6, 0x7a53, 0xbdef, 0xdef7,
-    0x8c7b, 0x2108, 0x1084, 0x0842, 0xdef5, 0xef7b, 0xf7bd, 0x7bde,
-    0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b,
+    0x8c7b, 0x2108, 0x1084, 0x0842, 0xdef5, 0xef7b, 0x94a5, 0x4a52,
+    0xa529, 0x5294, 0x294a, 0x10a5, 0x0842, 0x3121, 0xd246, 0xef7b,
     0x2108, 0x1084, 0x0842, 0x4211, 0x2108, 0x1084, 0x0842, 0x8421,
     0x4210, 0x2108, 0x1084, 0x4842, 0xa529, 0x5294, 0x8c4a, 0x1084,
     0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0xa529, 0x5294,
-    0x294a, 0x18a5, 0x7bd3, 0xbdef, 0xdef7, 0x8f7b, 0xf7bd, 0x7bde,
+    0x294a, 0x18a5, 0x7bd3, 0xbdef, 0xdef7, 0x8f7b, 0x1084, 0x0842,
+    0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0xef7a,
+    0x14a5, 0x0843, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421,
+    0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x9084,
+    0x4c62, 0xa529, 0x5318, 0x318c, 0xc626, 0x6318, 0x318c, 0x18c6,
+    0x1f63, 0x2108, 0x1084, 0x0842, 0xdef5, 0x8c7b, 0xf7bd, 0x7bde,
     0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b,
     0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421,
     0x4210, 0x2108, 0x1084, 0x0842, 0xa421, 0x5294, 0x314a, 0x14a6,
     0x4a63, 0xbde9, 0xdef7, 0xef7b, 0x9084, 0x0842, 0x8421, 0x5210,
-    0xef4c, 0x2108, 0x1084, 0x0842, 0x1ef5, 0x8c63, 0xf7bd, 0x7bde,
-    0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b,
+    0xef4c, 0x2108, 0x1084, 0x0842, 0x1ef5, 0x8c63, 0x1084, 0x0842,
+    0x8421, 0x4210, 0x2108, 0x1083, 0x0842, 0xb5a9, 0xd312, 0xef7b,
     0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421,
-    0x4210, 0x2108, 0x1084, 0x7bd2, 0xbdef, 0xdef7, 0xef7b, 0xf7bd,
-    0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7,
-    0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde,
+    0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x9485,
+    0x0852, 0x8529, 0x4210, 0x2948, 0x90a4, 0x7bde, 0xbdef, 0xdef7,
+    0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0x4277, 0x8c46, 0xf7bd, 0x7bde,
     0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b,
+    0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef,
+    0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd,
+    0x7bde, 0xbdef, 0xdef7, 0xef7b, 0x1084, 0x0842, 0x8421, 0x4210,
+    0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x8a63,
+    0xc531, 0x6898, 0xef4a, 0x2108, 0x1084, 0x0842, 0xdef5, 0xef7b,
+    0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421,
+    0x4210, 0x2108, 0x1084, 0x7bd2, 0xbdef, 0xdef7, 0xef7b, 0x1084,
+    0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0xbde9, 0x4277,
+    0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842,
+    0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0xd210, 0xef7b,
     0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde,
     0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b,
     0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef,
@@ -862,7 +882,7 @@
     0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0xef48, 0x1084,
     0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210,
     0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842,
-    0x8421, 0xde90, 0xef7b, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108,
+    0x8421, 0x4210, 0xef48, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108,
     0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421,
     0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084,
     0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210,
@@ -955,18 +975,38 @@
     0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b,
     0x1084, 0x4842, 0xa4ef, 0x4213, 0x2108, 0x1084, 0x0842, 0x8421,
     0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084,
-    0x4842, 0xa427, 0x4ef7, 0x277a, 0xf7bd, 0x7bde, 0xbdef, 0xdef7,
-    0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde,
+    0x4842, 0xa427, 0x4ef7, 0x277a, 0x1084, 0x0842, 0x8421, 0x4210,
+    0x2108, 0x1084, 0x4842, 0x4a8f, 0xa529, 0x5294, 0xf7bd, 0x7bde,
     0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b,
     0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x8842, 0x4a52,
-    0xdef5, 0x8f7b, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084,
+    0xd529, 0x8f7b, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084,
     0x0842, 0x8421, 0xdef4, 0x8f7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7,
     0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde,
     0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b,
     0x94a4, 0x4bd2, 0xbde9, 0x5ef7, 0x294a, 0x1084, 0x09d2, 0x9d21,
     0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084,
     0x7bd2, 0xa5ef, 0xde94, 0x2f7b, 0x294a, 0x94a5, 0xbd52, 0xdef7,
-    0xef7b, 0xc631, 0x6318, 0xb18c, 0xdef7, 0xef7b, 0xf7bd, 0x7bde,
+    0xef7b, 0xc631, 0x6318, 0xb18c, 0xdef7, 0xef7b, 0x1084, 0x0842,
+    0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x8a94,
+    0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421,
+    0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084,
+    0x4842, 0x3def, 0x18c6, 0x8c63, 0x1084, 0x0842, 0x8421, 0x4210,
+    0x2108, 0x1084, 0x4842, 0x4aef, 0xa529, 0x5294, 0x1084, 0x0842,
+    0x8421, 0x4210, 0x2108, 0x9084, 0x7bde, 0x4aef, 0xa529, 0x5294,
+    0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421,
+    0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084,
+    0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0xa421, 0xdef7,
+    0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde,
+    0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b,
+    0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef,
+    0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd,
+    0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7,
+    0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0x294a, 0x94a5,
+    0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0xea94,
+    0x18a5, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421,
+    0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x98c6,
+    0x4a52, 0xa631, 0x1894, 0x8c75, 0xf631, 0x7bde, 0xbdef, 0xdef7,
+    0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde,
     0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b,
     0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421,
     0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084,
@@ -978,6 +1018,11 @@
     0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5,
     0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x7bde,
     0xbdef, 0xdef7, 0xef7b, 0xc631, 0x7bd8, 0xbdef, 0xdef7, 0xef7b,
+    0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421,
+    0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0xe908, 0xf7bd,
+    0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7,
+    0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde,
+    0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b,
     0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad,
     0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5,
     0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6,
@@ -1053,12 +1098,32 @@
     0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7,
     0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde,
     0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b,
+    0x294a, 0x94a5, 0x4a52, 0xdea9, 0xef7b, 0xd6b5, 0x6b5a, 0xb5ad,
+    0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xed6b, 0xf6bd,
+    0x7bde, 0xbdef, 0xdef7, 0xaf6b, 0xd7bd, 0x7bde, 0xbded, 0x5ad7,
+    0xed6b, 0xf7bd, 0x7bde, 0xbdaf, 0xdef7, 0xaf7b, 0xf7bd, 0x7bde,
+    0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0x5af6, 0xaf7b,
+    0xf7bd, 0x7bde, 0xbdef, 0x5ad7, 0xef6b, 0xf7b5, 0x7bde, 0xbdef,
+    0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd,
+    0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7,
+    0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde,
+    0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b,
+    0xf7b5, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xd6b5, 0x6b5a, 0xb5ad,
+    0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xf6b5,
+    0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xd6b5, 0x6b5a, 0xb5ad, 0xdef7,
+    0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde,
+    0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b,
     0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421,
     0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084,
     0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210,
     0x2108, 0x1084, 0x0842, 0xbde9, 0xdef7, 0xef7b, 0xf7bd, 0x7bde,
     0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b,
     0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421,
+    0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084,
+    0x7a42, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7,
+    0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde,
+    0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b,
+    0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421,
     0x4210, 0xef48, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd,
     0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7,
     0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde,
--- a/lib/unictype/combining.h
+++ b/lib/unictype/combining.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Combining class of Unicode characters.  */
-/* Generated automatically by gen-ctype.c for Unicode 5.1.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 5.2.0.  */
 #define combclass_header_0 16
 #define combclass_header_1 2
 #define combclass_header_2 7
@@ -11,7 +11,7 @@
   {
     int level1[2];
     short level2[2 << 9];
-    unsigned char level3[43 << 7];
+    unsigned char level3[51 << 7];
   }
 u_combclass =
 {
@@ -19,17 +19,17 @@
   {
        -1,    -1,    -1,    -1,    -1,    -1,     0,    -1,
        -1,   128,    -1,   256,   384,   512,   640,   768,
-       -1,    -1,   896,  1024,  1024,  1024,  1024,  1152,
-     1280,  1024,  1152,  1408,  1536,  1664,  1792,  1920,
-     2048,  2176,    -1,    -1,    -1,    -1,  2304,    -1,
-       -1,    -1,    -1,    -1,    -1,    -1,  2432,  2560,
-       -1,  2688,  2816,    -1,  2944,    -1,  3072,  3200,
-     3328,    -1,    -1,  3456,    -1,    -1,    -1,    -1,
-       -1,  3584,    -1,    -1,    -1,    -1,    -1,    -1,
+      896,    -1,  1024,  1152,  1152,  1152,  1152,  1280,
+     1408,  1152,  1280,  1536,  1664,  1792,  1920,  2048,
+     2176,  2304,    -1,    -1,    -1,    -1,  2432,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,  2560,  2688,
+       -1,  2816,  2944,    -1,  3072,    -1,  3200,  3328,
+     3456,  3584,    -1,  3712,    -1,    -1,    -1,    -1,
+       -1,  3840,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,    -1,  3712,    -1,    -1,    -1,    -1,
-     3840,  3968,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,  3968,    -1,  4096,    -1,    -1,    -1,    -1,
+     4224,  4352,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
@@ -58,8 +58,8 @@
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,    -1,    -1,  4096,    -1,    -1,    -1,
-     4224,  4352,  4480,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,  4480,  4608,    -1,    -1,
+     4736,  4864,  4992,  5120,    -1,  5248,    -1,  5376,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
@@ -79,11 +79,13 @@
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,    -1,    -1,    -1,    -1,  4608,    -1,
-       -1,    -1,    -1,    -1,  4736,    -1,    -1,    -1,
-       -1,    -1,    -1,  4864,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,  5504,    -1,
+       -1,    -1,    -1,    -1,  5632,    -1,    -1,    -1,
+       -1,    -1,    -1,  5760,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,    -1,    -1,  4992,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,  5888,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,  6016,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
@@ -131,9 +133,7 @@
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,  5120,  5248,  5376,    -1,    -1,    -1,
+       -1,    -1,  6144,  6272,  6400,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
@@ -261,6 +261,22 @@
       0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0, 230, 230,
+    230, 230,   0, 230, 230, 230, 230, 230,
+    230, 230, 230, 230,   0, 230, 230, 230,
+      0, 230, 230, 230, 230, 230,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,
@@ -527,10 +543,10 @@
       0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   0,   0,   0,   0,
+      9,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0, 230, 230, 230,
+    230, 230, 230, 230, 230,   0,   0, 220,
       0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,
@@ -587,6 +603,22 @@
       0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+    230, 230, 230,   0,   1, 220, 220, 220,
+    220, 220, 230, 230, 220, 220, 220, 220,
+    230,   0,   1,   1,   1,   1,   1,   1,
+      1,   0,   0,   0,   0, 220,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
     230, 230, 220, 230, 230, 230, 230, 230,
     230, 230, 220, 230, 230, 234, 214, 220,
     202, 230, 230, 230, 230, 230, 230, 230,
@@ -594,7 +626,7 @@
     230, 230, 230, 230, 230, 230, 230,   0,
       0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   0,   0, 230, 220,
+      0,   0,   0,   0,   0, 220, 230, 220,
       0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,
@@ -623,6 +655,22 @@
       0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0, 230,
+    230, 230,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
     230, 230, 230, 230, 230, 230, 230, 230,
     230, 230, 230, 230, 230, 230, 230, 230,
     230, 230, 230, 230, 230, 230, 230, 230,
@@ -675,6 +723,22 @@
       0,   0,   0,   0,   0,   0,   0, 230,
       0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0, 230, 230,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+    230, 230,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   9,   0,
       0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,
@@ -703,9 +767,9 @@
       0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   0,   0,   0,   0,
+    230, 230, 230, 230, 230, 230, 230, 230,
+    230, 230, 230, 230, 230, 230, 230, 230,
+    230, 230,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,
@@ -726,6 +790,54 @@
       0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   7,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      9,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+    230,   0, 230, 230, 220,   0,   0, 230,
+    230,   0,   0,   0,   0,   0, 230, 230,
+      0, 230,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   9,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,  26,   0,
       0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,
@@ -794,6 +906,22 @@
       0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,
+      0,   9,   7,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,
--- a/lib/unictype/ctype_alnum.h
+++ b/lib/unictype/ctype_alnum.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* ISO C <ctype.h> like properties of Unicode characters.  */
-/* Generated automatically by gen-ctype.c for Unicode 5.1.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 5.2.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
@@ -11,7 +11,7 @@
     int header[1];
     int level1[3];
     short level2[3 << 7];
-    /*unsigned*/ int level3[44 << 4];
+    /*unsigned*/ int level3[49 << 4];
   }
 u_is_alnum =
 {
@@ -156,9 +156,9 @@
        -1,
         4 +   384 * sizeof (short) / sizeof (int) +   576,
         4 +   384 * sizeof (short) / sizeof (int) +   592,
-       -1,
+        4 +   384 * sizeof (short) / sizeof (int) +   608,
        -1,
-       -1,
+        4 +   384 * sizeof (short) / sizeof (int) +   624,
        -1,
        -1,
        -1,
@@ -167,8 +167,16 @@
        -1,
        -1,
         4 +   384 * sizeof (short) / sizeof (int) +   336,
-        4 +   384 * sizeof (short) / sizeof (int) +   608,
-        4 +   384 * sizeof (short) / sizeof (int) +   624,
+        4 +   384 * sizeof (short) / sizeof (int) +   640,
+        4 +   384 * sizeof (short) / sizeof (int) +   656,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        4 +   384 * sizeof (short) / sizeof (int) +   336,
+        4 +   384 * sizeof (short) / sizeof (int) +   336,
+        4 +   384 * sizeof (short) / sizeof (int) +   672,
        -1,
        -1,
        -1,
@@ -248,16 +256,8 @@
        -1,
        -1,
        -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-        4 +   384 * sizeof (short) / sizeof (int) +   640,
-        4 +   384 * sizeof (short) / sizeof (int) +   656,
+        4 +   384 * sizeof (short) / sizeof (int) +   688,
+        4 +   384 * sizeof (short) / sizeof (int) +   704,
        -1,
        -1,
        -1,
@@ -270,7 +270,7 @@
        -1,
        -1,
        -1,
-       -1,
+        4 +   384 * sizeof (short) / sizeof (int) +   720,
        -1,
        -1,
        -1,
@@ -361,15 +361,15 @@
         4 +   384 * sizeof (short) / sizeof (int) +   336,
         4 +   384 * sizeof (short) / sizeof (int) +   336,
         4 +   384 * sizeof (short) / sizeof (int) +   336,
-        4 +   384 * sizeof (short) / sizeof (int) +   672,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
+        4 +   384 * sizeof (short) / sizeof (int) +   736,
+        4 +   384 * sizeof (short) / sizeof (int) +   336,
+        4 +   384 * sizeof (short) / sizeof (int) +   336,
+        4 +   384 * sizeof (short) / sizeof (int) +   336,
+        4 +   384 * sizeof (short) / sizeof (int) +   336,
+        4 +   384 * sizeof (short) / sizeof (int) +   336,
+        4 +   384 * sizeof (short) / sizeof (int) +   336,
+        4 +   384 * sizeof (short) / sizeof (int) +   336,
+        4 +   384 * sizeof (short) / sizeof (int) +   752,
        -1,
        -1,
        -1,
@@ -403,7 +403,7 @@
        -1,
        -1,
         4 +   384 * sizeof (short) / sizeof (int) +   336,
-        4 +   384 * sizeof (short) / sizeof (int) +   688,
+        4 +   384 * sizeof (short) / sizeof (int) +   768,
        -1,
        -1
   },
@@ -418,15 +418,15 @@
     0xFFFFD740, 0xFFFFFFFB, 0xFFFFFFFF, 0xFFBFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFC03, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFE000F, 0x027FFFFF, 0xFFFFFFFE,
+    0xFFFFFFFF, 0xFFFE003F, 0x027FFFFF, 0xFFFFFFFE,
     0x000000FF, 0x00000000, 0xFFFF0000, 0x000707FF,
     0x00000000, 0xFFFFFFFE, 0x000007FF, 0xFFFEC3FF,
     0xFFFFFFFF, 0xFFFFFFFF, 0x002FFFFF, 0x9FFFC060,
     0xFFFD0000, 0x0000FFFF, 0xFFFFE000, 0xFFFFFFFF,
     0xFFFFFFFF, 0x0002003F, 0xFFFFFFFF, 0x043007FF,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x043FFFFF, 0x00000110, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0xFFFFFFF0, 0x23FFFFFF, 0xFF010000, 0xF806FFC3,
+    0xFFFFFFF0, 0x23FFFFFF, 0xFF010000, 0xFE06FFC3,
     0xFFF99FE0, 0x23C5FDFF, 0xB0004000, 0x0003FFC3,
     0xFFF987E0, 0x036DFDFF, 0x5E000000, 0x001CFFC0,
     0xFFFBBFE0, 0x23EDFDFF, 0x00010000, 0x0000FFC3,
@@ -442,8 +442,8 @@
     0x00000F00, 0x00000000, 0x00000000, 0x00000000,
     0xFFFFFFFF, 0x800007FF, 0x3C3F03FF, 0xFFE1C062,
     0x03FF4003, 0xFFFFFFFF, 0xFFFF003F, 0x17FFFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0x83FFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFFFF07, 0xFFFFFFFF, 0x03FFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0x3D7F3DFF, 0xFFFFFFFF,
     0xFFFF3DFF, 0x7F3DFFFF, 0xFF7FFF3D, 0xFFFFFFFF,
     0xFF3DFFFF, 0xFFFFFFFF, 0x07FFFFFF, 0x00000000,
@@ -452,20 +452,20 @@
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x007F9FFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFF9FFF,
     0x07FFFFFE, 0xFFFFFFFF, 0xFFFFFFFF, 0x0001C7FF,
     0x0003DFFF, 0x0003FFFF, 0x0003FFFF, 0x0001DFFF,
     0xFFFFFFFF, 0x000FFFFF, 0x10800000, 0x000003FF,
     0x03FF0000, 0xFFFFFFFF, 0xFFFFFFFF, 0x00FFFFFF,
-    0xFFFFFFFF, 0x000005FF, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFF05FF, 0xFFFFFFFF, 0x003FFFFF,
     0x1FFFFFFF, 0x00000000, 0xFFFFFFC0, 0x001F3FFF,
-    0xFFFFFFFF, 0x000003FF, 0x03FF00FE, 0x00000000,
-    0x007FFFFF, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0x00000FFF, 0x07FF00FE, 0x00000000,
+    0x007FFFFF, 0xFFFFFFFF, 0x001FFFFF, 0x00000000,
+    0x03FF03FF, 0x00000080, 0x00000000, 0x00000000,
     0xFFFFFFE0, 0x000FFFFF, 0x03FF0FE0, 0x00000000,
     0xFFFFFFF8, 0x03FFC001, 0x00000000, 0x00000000,
     0xFFFFFFFF, 0x0000000F, 0xFFFFE3FF, 0x3FFFFFFF,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x0003DE00,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0x00000000, 0x00000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
@@ -480,8 +480,8 @@
     0xF0000000, 0xFFFFFFFF, 0xFFFFFFFF, 0x000003FF,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0xFFFFFFFF, 0xFFFF7FFF, 0x7FFFFFFF, 0x3FFEFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x0000001F,
+    0xFFFFFFFF, 0xFFFF7FFF, 0x7FFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x0000781F,
     0xFFFFFFFF, 0xFFFF003F, 0xFFFFFFFF, 0x0000803F,
     0x007FFFFF, 0x7F7F7F7F, 0x7F7F7F7F, 0x00000000,
     0x00000000, 0x00008000, 0x00000000, 0x00000000,
@@ -503,32 +503,32 @@
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0x0000000F, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x00000FFF, 0x00000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0x00001FFF, 0x00000000, 0x00000000, 0x00000000,
+    0x00001FFF, 0x00000000, 0xFFFF0000, 0x3FFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFF1FFF, 0x00000FFF, 0xFFFFFFFF, 0x80007FFC,
-    0x00FFFFFF, 0x00000000, 0x00000000, 0x00000000,
+    0x00FFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x0000FFFF,
     0xFF800000, 0xFFFFFFFC, 0xFFFFFFFF, 0xFFFFFFFF,
     0x000019FF, 0x00000000, 0x00000000, 0xF8000000,
     0xFFFFF7BB, 0x00000007, 0xFFFFFFFF, 0x000FFFFF,
-    0xFFFFFFFC, 0x000FFFFF, 0x03FF0000, 0x00000000,
-    0xFFFFFFFF, 0xFFFF003F, 0x0000007F, 0x00000000,
+    0xFFFFFFFC, 0x000FFFFF, 0x03FF0000, 0x08FC0000,
+    0xFFFFFFFF, 0xFFFF003F, 0x0000007F, 0x1FFFFFFF,
+    0xFFFFFFF0, 0x0007FFFF, 0x03FF8000, 0x00000000,
+    0xFFFFFFFF, 0x000001FF, 0x03FF0FF7, 0x047FFFFF,
+    0xFFFFFFFF, 0x3E62FFFF, 0x38000005, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0xFFFFFFFF, 0x000001FF, 0x03FF0FF7, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0xFFFFFFFF, 0x03FF0007,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFF000F, 0xFFFFF87F, 0x0FFFFFFF,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0x0000000F, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFF3FFF, 0xFFFFFFFF, 0xFFFF07FF,
+    0xFFFFFFFF, 0xFFFF3FFF, 0xFFFFFFFF, 0xFFFF3FFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0x03FFFFFF, 0x00000000,
     0xA0F8007F, 0x5F7FFDFF, 0xFFFFFFDB, 0xFFFFFFFF,
     0xFFFFFFFF, 0x0003FFFF, 0xFFF80000, 0xFFFFFFFF,
@@ -552,12 +552,20 @@
     0x3FFFFFFF, 0x000003FF, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0xFFFFFD3F, 0x91BFFFFF, 0x00000000, 0x00000000,
+    0xFFFFFD3F, 0x91BFFFFF, 0x003FFFFF, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x003FFFFF, 0x03FFFFFF, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0xFEEF0001, 0x000FFFFF, 0x00000000, 0x00000000,
+    0xFEEF0001, 0x000FFFFF, 0x00000000, 0x1FFFFFFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0x003FFFFF, 0x003FFFFF, 0x0007FFFF,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x000001FF, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFF8, 0x0000FFFF, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
@@ -568,6 +576,10 @@
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0x00007FFF, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFDFFFFF, 0xFFFFFFFF,
     0xDFFFFFFF, 0xEBFFDE64, 0xFFFFFFEF, 0xFFFFFFFF,
     0xDFDFE7BF, 0x7BFFFFFF, 0xFFFDFC5F, 0xFFFFFFFF,
@@ -576,9 +588,17 @@
     0xFFFFFFFF, 0xFFFFFF3F, 0xF7FFFFFD, 0xF7FFFFFF,
     0xFFDFFFFF, 0xFFDFFFFF, 0xFFFF7FFF, 0xFFFF7FFF,
     0xFFFFFDFF, 0xFFFFFDFF, 0xFFFFCFF7, 0xFFFFFFFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFF0000, 0xA0021FFF, 0x80800044, 0x9A000000,
+    0x00000400, 0x00000000, 0x00000000, 0x00000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0x007FFFFF, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0x001FFFFF, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x3FFFFFFF, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
--- a/lib/unictype/ctype_alpha.h
+++ b/lib/unictype/ctype_alpha.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* ISO C <ctype.h> like properties of Unicode characters.  */
-/* Generated automatically by gen-ctype.c for Unicode 5.1.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 5.2.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
@@ -11,7 +11,7 @@
     int header[1];
     int level1[3];
     short level2[3 << 7];
-    /*unsigned*/ int level3[44 << 4];
+    /*unsigned*/ int level3[49 << 4];
   }
 u_is_alpha =
 {
@@ -156,9 +156,9 @@
        -1,
         4 +   384 * sizeof (short) / sizeof (int) +   576,
         4 +   384 * sizeof (short) / sizeof (int) +   592,
-       -1,
+        4 +   384 * sizeof (short) / sizeof (int) +   608,
        -1,
-       -1,
+        4 +   384 * sizeof (short) / sizeof (int) +   624,
        -1,
        -1,
        -1,
@@ -167,8 +167,16 @@
        -1,
        -1,
         4 +   384 * sizeof (short) / sizeof (int) +   336,
-        4 +   384 * sizeof (short) / sizeof (int) +   608,
-        4 +   384 * sizeof (short) / sizeof (int) +   624,
+        4 +   384 * sizeof (short) / sizeof (int) +   640,
+        4 +   384 * sizeof (short) / sizeof (int) +   656,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        4 +   384 * sizeof (short) / sizeof (int) +   336,
+        4 +   384 * sizeof (short) / sizeof (int) +   336,
+        4 +   384 * sizeof (short) / sizeof (int) +   672,
        -1,
        -1,
        -1,
@@ -248,16 +256,8 @@
        -1,
        -1,
        -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-        4 +   384 * sizeof (short) / sizeof (int) +   640,
-        4 +   384 * sizeof (short) / sizeof (int) +   656,
+        4 +   384 * sizeof (short) / sizeof (int) +   688,
+        4 +   384 * sizeof (short) / sizeof (int) +   704,
        -1,
        -1,
        -1,
@@ -270,7 +270,7 @@
        -1,
        -1,
        -1,
-       -1,
+        4 +   384 * sizeof (short) / sizeof (int) +   720,
        -1,
        -1,
        -1,
@@ -361,15 +361,15 @@
         4 +   384 * sizeof (short) / sizeof (int) +   336,
         4 +   384 * sizeof (short) / sizeof (int) +   336,
         4 +   384 * sizeof (short) / sizeof (int) +   336,
-        4 +   384 * sizeof (short) / sizeof (int) +   672,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
+        4 +   384 * sizeof (short) / sizeof (int) +   736,
+        4 +   384 * sizeof (short) / sizeof (int) +   336,
+        4 +   384 * sizeof (short) / sizeof (int) +   336,
+        4 +   384 * sizeof (short) / sizeof (int) +   336,
+        4 +   384 * sizeof (short) / sizeof (int) +   336,
+        4 +   384 * sizeof (short) / sizeof (int) +   336,
+        4 +   384 * sizeof (short) / sizeof (int) +   336,
+        4 +   384 * sizeof (short) / sizeof (int) +   336,
+        4 +   384 * sizeof (short) / sizeof (int) +   752,
        -1,
        -1,
        -1,
@@ -403,7 +403,7 @@
        -1,
        -1,
         4 +   384 * sizeof (short) / sizeof (int) +   336,
-        4 +   384 * sizeof (short) / sizeof (int) +   688,
+        4 +   384 * sizeof (short) / sizeof (int) +   768,
        -1,
        -1
   },
@@ -418,15 +418,15 @@
     0xFFFFD740, 0xFFFFFFFB, 0xFFFFFFFF, 0xFFBFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFC03, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFE000F, 0x027FFFFF, 0xFFFFFFFE,
+    0xFFFFFFFF, 0xFFFE003F, 0x027FFFFF, 0xFFFFFFFE,
     0x000000FF, 0x00000000, 0xFFFF0000, 0x000707FF,
     0x00000000, 0xFFFFFFFE, 0x000007FF, 0xFFFEC3FF,
     0xFFFFFFFF, 0xFFFFFFFF, 0x002FFFFF, 0x9FFFC060,
     0xFFFD0000, 0x0000FFFF, 0xFFFFE000, 0xFFFFFFFF,
     0xFFFFFFFF, 0x0002003F, 0xFFFFFFFF, 0x043007FF,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x043FFFFF, 0x00000110, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0xFFFFFFF0, 0x23FFFFFF, 0xFF010000, 0xF806FFC3,
+    0xFFFFFFF0, 0x23FFFFFF, 0xFF010000, 0xFE06FFC3,
     0xFFF99FE0, 0x23C5FDFF, 0xB0004000, 0x0003FFC3,
     0xFFF987E0, 0x036DFDFF, 0x5E000000, 0x001CFFC0,
     0xFFFBBFE0, 0x23EDFDFF, 0x00010000, 0x0000FFC3,
@@ -442,8 +442,8 @@
     0x00000F00, 0x00000000, 0x00000000, 0x00000000,
     0xFFFFFFFF, 0x800007FF, 0x3C3F03FF, 0xFFE1C062,
     0x03FF4003, 0xFFFFFFFF, 0xFFFF003F, 0x17FFFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0x83FFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFFFF07, 0xFFFFFFFF, 0x03FFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0x3D7F3DFF, 0xFFFFFFFF,
     0xFFFF3DFF, 0x7F3DFFFF, 0xFF7FFF3D, 0xFFFFFFFF,
     0xFF3DFFFF, 0xFFFFFFFF, 0x07FFFFFF, 0x00000000,
@@ -452,20 +452,20 @@
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x007F9FFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFF9FFF,
     0x07FFFFFE, 0xFFFFFFFF, 0xFFFFFFFF, 0x0001C7FF,
     0x0003DFFF, 0x0003FFFF, 0x0003FFFF, 0x0001DFFF,
     0xFFFFFFFF, 0x000FFFFF, 0x10800000, 0x000003FF,
     0x03FF0000, 0xFFFFFFFF, 0xFFFFFFFF, 0x00FFFFFF,
-    0xFFFFFFFF, 0x000005FF, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFF05FF, 0xFFFFFFFF, 0x003FFFFF,
     0x1FFFFFFF, 0x00000000, 0xFFFFFFC0, 0x001F3FFF,
-    0xFFFFFFFF, 0x000003FF, 0x03FF00FE, 0x00000000,
-    0x007FFFFF, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0x00000FFF, 0x07FF00FE, 0x00000000,
+    0x007FFFFF, 0xFFFFFFFF, 0x001FFFFF, 0x00000000,
+    0x03FF03FF, 0x00000080, 0x00000000, 0x00000000,
     0xFFFFFFE0, 0x000FFFFF, 0x03FF0FE0, 0x00000000,
     0xFFFFFFF8, 0x03FFC001, 0x00000000, 0x00000000,
     0xFFFFFFFF, 0x0000000F, 0xFFFFE3FF, 0x3FFFFFFF,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x0003DE00,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0x00000000, 0x00000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
@@ -480,8 +480,8 @@
     0xF0000000, 0xFFFFFFFF, 0xFFFFFFFF, 0x000003FF,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0xFFFFFFFF, 0xFFFF7FFF, 0x7FFFFFFF, 0x3FFEFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x0000001F,
+    0xFFFFFFFF, 0xFFFF7FFF, 0x7FFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x0000781F,
     0xFFFFFFFF, 0xFFFF003F, 0xFFFFFFFF, 0x0000803F,
     0x007FFFFF, 0x7F7F7F7F, 0x7F7F7F7F, 0x00000000,
     0x00000000, 0x00008000, 0x00000000, 0x00000000,
@@ -503,32 +503,32 @@
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0x0000000F, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x00000FFF, 0x00000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0x00001FFF, 0x00000000, 0x00000000, 0x00000000,
+    0x00001FFF, 0x00000000, 0xFFFF0000, 0x3FFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFF1FFF, 0x00000FFF, 0xFFFFFFFF, 0x80007FFC,
-    0x00FFFFFF, 0x00000000, 0x00000000, 0x00000000,
+    0x00FFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x0000FFFF,
     0xFF800000, 0xFFFFFFFC, 0xFFFFFFFF, 0xFFFFFFFF,
     0x000019FF, 0x00000000, 0x00000000, 0xF8000000,
     0xFFFFF7BB, 0x00000007, 0xFFFFFFFF, 0x000FFFFF,
-    0xFFFFFFFC, 0x000FFFFF, 0x03FF0000, 0x00000000,
-    0xFFFFFFFF, 0xFFFF003F, 0x0000007F, 0x00000000,
+    0xFFFFFFFC, 0x000FFFFF, 0x03FF0000, 0x08FC0000,
+    0xFFFFFFFF, 0xFFFF003F, 0x0000007F, 0x1FFFFFFF,
+    0xFFFFFFF0, 0x0007FFFF, 0x03FF8000, 0x00000000,
+    0xFFFFFFFF, 0x000001FF, 0x03FF0FF7, 0x047FFFFF,
+    0xFFFFFFFF, 0x3E62FFFF, 0x38000005, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0xFFFFFFFF, 0x000001FF, 0x03FF0FF7, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0xFFFFFFFF, 0x03FF0007,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFF000F, 0xFFFFF87F, 0x0FFFFFFF,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0x0000000F, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFF3FFF, 0xFFFFFFFF, 0xFFFF07FF,
+    0xFFFFFFFF, 0xFFFF3FFF, 0xFFFFFFFF, 0xFFFF3FFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0x03FFFFFF, 0x00000000,
     0xA0F8007F, 0x5F7FFDFF, 0xFFFFFFDB, 0xFFFFFFFF,
     0xFFFFFFFF, 0x0003FFFF, 0xFFF80000, 0xFFFFFFFF,
@@ -552,12 +552,20 @@
     0x3FFFFFFF, 0x000003FF, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0xFFFFFD3F, 0x91BFFFFF, 0x00000000, 0x00000000,
+    0xFFFFFD3F, 0x91BFFFFF, 0x003FFFFF, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x003FFFFF, 0x03FFFFFF, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0xFEEF0001, 0x000FFFFF, 0x00000000, 0x00000000,
+    0xFEEF0001, 0x000FFFFF, 0x00000000, 0x1FFFFFFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0x003FFFFF, 0x003FFFFF, 0x0007FFFF,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x000001FF, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFF8, 0x0000FFFF, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
@@ -568,6 +576,10 @@
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0x00007FFF, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFDFFFFF, 0xFFFFFFFF,
     0xDFFFFFFF, 0xEBFFDE64, 0xFFFFFFEF, 0xFFFFFFFF,
     0xDFDFE7BF, 0x7BFFFFFF, 0xFFFDFC5F, 0xFFFFFFFF,
@@ -576,9 +588,17 @@
     0xFFFFFFFF, 0xFFFFFF3F, 0xF7FFFFFD, 0xF7FFFFFF,
     0xFFDFFFFF, 0xFFDFFFFF, 0xFFFF7FFF, 0xFFFF7FFF,
     0xFFFFFDFF, 0xFFFFFDFF, 0xFFFFCFF7, 0xFFFFFFFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFF0000, 0xA0021FFF, 0x80800044, 0x9A000000,
+    0x00000400, 0x00000000, 0x00000000, 0x00000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0x007FFFFF, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0x001FFFFF, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x3FFFFFFF, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
--- a/lib/unictype/ctype_blank.h
+++ b/lib/unictype/ctype_blank.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* ISO C <ctype.h> like properties of Unicode characters.  */
-/* Generated automatically by gen-ctype.c for Unicode 5.1.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 5.2.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
--- a/lib/unictype/ctype_cntrl.h
+++ b/lib/unictype/ctype_cntrl.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* ISO C <ctype.h> like properties of Unicode characters.  */
-/* Generated automatically by gen-ctype.c for Unicode 5.1.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 5.2.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
--- a/lib/unictype/ctype_digit.h
+++ b/lib/unictype/ctype_digit.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* ISO C <ctype.h> like properties of Unicode characters.  */
-/* Generated automatically by gen-ctype.c for Unicode 5.1.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 5.2.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
--- a/lib/unictype/ctype_graph.h
+++ b/lib/unictype/ctype_graph.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* ISO C <ctype.h> like properties of Unicode characters.  */
-/* Generated automatically by gen-ctype.c for Unicode 5.1.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 5.2.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
@@ -11,7 +11,7 @@
     int header[1];
     int level1[17];
     short level2[5 << 7];
-    /*unsigned*/ int level3[52 << 4];
+    /*unsigned*/ int level3[57 << 4];
   }
 u_is_graph =
 {
@@ -56,120 +56,123 @@
        18 +   640 * sizeof (short) / sizeof (int) +   272,
        18 +   640 * sizeof (short) / sizeof (int) +   288,
        18 +   640 * sizeof (short) / sizeof (int) +   304,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
        18 +   640 * sizeof (short) / sizeof (int) +   320,
        18 +   640 * sizeof (short) / sizeof (int) +   336,
        18 +   640 * sizeof (short) / sizeof (int) +   352,
        18 +   640 * sizeof (short) / sizeof (int) +   368,
        18 +   640 * sizeof (short) / sizeof (int) +   384,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
        18 +   640 * sizeof (short) / sizeof (int) +   400,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
        18 +   640 * sizeof (short) / sizeof (int) +   416,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
        18 +   640 * sizeof (short) / sizeof (int) +   432,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
        18 +   640 * sizeof (short) / sizeof (int) +   448,
        18 +   640 * sizeof (short) / sizeof (int) +   464,
        18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
        18 +   640 * sizeof (short) / sizeof (int) +   496,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
        -1,
        -1,
        -1,
        -1,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   512,
        18 +   640 * sizeof (short) / sizeof (int) +   528,
        18 +   640 * sizeof (short) / sizeof (int) +   544,
        18 +   640 * sizeof (short) / sizeof (int) +   560,
        18 +   640 * sizeof (short) / sizeof (int) +   576,
        18 +   640 * sizeof (short) / sizeof (int) +   592,
+       -1,
        18 +   640 * sizeof (short) / sizeof (int) +   608,
-       -1,
        18 +   640 * sizeof (short) / sizeof (int) +   624,
        18 +   640 * sizeof (short) / sizeof (int) +   640,
+       18 +   640 * sizeof (short) / sizeof (int) +   656,
+       18 +   640 * sizeof (short) / sizeof (int) +   672,
        -1,
        -1,
        -1,
@@ -177,12 +180,17 @@
        -1,
        -1,
        -1,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   688,
+       18 +   640 * sizeof (short) / sizeof (int) +   704,
        -1,
        -1,
        -1,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   656,
-       18 +   640 * sizeof (short) / sizeof (int) +   672,
+       -1,
+       -1,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   720,
        -1,
        -1,
        -1,
@@ -260,18 +268,10 @@
        -1,
        -1,
        -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       18 +   640 * sizeof (short) / sizeof (int) +   688,
-       18 +   640 * sizeof (short) / sizeof (int) +   704,
-       18 +   640 * sizeof (short) / sizeof (int) +   720,
        18 +   640 * sizeof (short) / sizeof (int) +   736,
+       18 +   640 * sizeof (short) / sizeof (int) +   752,
+       18 +   640 * sizeof (short) / sizeof (int) +   768,
+       18 +   640 * sizeof (short) / sizeof (int) +   784,
        -1,
        -1,
        -1,
@@ -284,98 +284,106 @@
        -1,
        -1,
        -1,
-       18 +   640 * sizeof (short) / sizeof (int) +   752,
-       -1,
+       18 +   640 * sizeof (short) / sizeof (int) +   800,
+       18 +   640 * sizeof (short) / sizeof (int) +   816,
        -1,
        -1,
        -1,
        -1,
        -1,
        -1,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   768,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   832,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   848,
        -1,
        -1,
        -1,
@@ -408,19 +416,11 @@
        -1,
        -1,
        -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   864,
        -1,
        -1,
-       -1,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   784,
-       -1,
-       -1,
-       18 +   640 * sizeof (short) / sizeof (int) +   800,
+       18 +   640 * sizeof (short) / sizeof (int) +   880,
        -1,
        -1,
        -1,
@@ -548,134 +548,134 @@
        -1,
        -1,
        -1,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   816
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   896
   },
   {
     0x00000000, 0xFFFFFFFE, 0xFFFFFFFF, 0x7FFFFFFF,
@@ -688,16 +688,16 @@
     0xFFFFD7F0, 0xFFFFFFFB, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFE000F, 0xFE7FFFFF, 0xFFFFFFFE,
+    0xFFFFFFFF, 0xFFFE003F, 0xFE7FFFFF, 0xFFFFFFFE,
     0xFFFE06FF, 0xFFFFFFFF, 0xFFFF00FF, 0x001F07FF,
     0xCFFFFFCF, 0xFFFFFFFE, 0x7FFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFBFFF, 0xFFFFFFFF, 0xFFFFE7FF, 0xFFFFFFFF,
     0xFFFFFFFF, 0x0003FFFF, 0xFFFFFFFF, 0x07FFFFFF,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0x7FFF3FFF, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0xFFFFFFFE, 0xF3FFFFFF, 0xFF1F3FFF, 0xF807FFFF,
-    0xFFF99FEE, 0xF3C5FDFF, 0xB080799F, 0x07FFFFCF,
+    0xFFFFFFFF, 0xF3FFFFFF, 0xFF3F7FFF, 0xFE07FFFF,
+    0xFFF99FEE, 0xF3C5FDFF, 0xB080799F, 0x0FFFFFCF,
     0xFFF987EE, 0xD36DFDFF, 0x5E023987, 0x003FFFC0,
     0xFFFBBFEE, 0xF3EDFDFF, 0x00013BBF, 0x0002FFCF,
     0xFFF99FEE, 0xF3EDFDFF, 0xB0C0399F, 0x0003FFCF,
@@ -709,68 +709,64 @@
     0xFFFFFFFE, 0x87FFFFFF, 0x0FFFFFFF, 0x00000000,
     0xFEF02596, 0x3BFFECAE, 0x33FF3F5F, 0x00000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFEFF, 0xFFFE1FFF,
-    0xFEFF0FFF, 0xDFFFFFFF, 0x001FDFFF, 0x00000000,
+    0xFEFF0FFF, 0xDFFFFFFF, 0x01FFDFFF, 0x00000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xC3FFFFFF, 0xFFFFFFFF, 0xFFFF003F, 0x1FFFFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0x83FFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFFFF07, 0xFFFFFFFF, 0x03FFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFF003F, 0x1FFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0x3D7F3DFF, 0xFFFFFFFF,
     0xFFFF3DFF, 0x7F3DFFFF, 0xFF7FFF3D, 0xFFFFFFFF,
     0xFF3DFFFF, 0xFFFFFFFF, 0x87FFFFFF, 0x1FFFFFFF,
     0x03FFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x001FFFFF,
-    0xFFFFFFFE, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x007FFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0x1FFFFFFE, 0xFFFFFFFF, 0xFFFFFFFF, 0x0001FFFF,
     0x001FDFFF, 0x007FFFFF, 0x000FFFFF, 0x000DDFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0x3FFFFFFF, 0x03FF03FF,
     0x03FF3FFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x00FFFFFF,
-    0xFFFFFFFF, 0x000007FF, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFF07FF, 0xFFFFFFFF, 0x003FFFFF,
     0x1FFFFFFF, 0x0FFF0FFF, 0xFFFFFFF1, 0x001F3FFF,
-    0xFFFFFFFF, 0xFFFF03FF, 0xC3FF03FF, 0xFFFFFFFF,
-    0xCFFFFFFF, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFF0FFF, 0xC7FF03FF, 0xFFFFFFFF,
+    0xCFFFFFFF, 0xFFFFFFFF, 0x7FFFFFFF, 0x9FFFFFFF,
+    0x03FF03FF, 0x00003FFF, 0x00000000, 0x00000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFF0FFF, 0x1FFFFFFF,
     0xFFFFFFFF, 0x03FFC7FF, 0x00000000, 0x00000000,
     0xFFFFFFFF, 0xF8FFFFFF, 0xFFFFE3FF, 0xFFFFFFFF,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0xFFFF0000, 0x0007FFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xC000007F,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xE000007F,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0x3F3FFFFF, 0xFFFFFFFF, 0xAAFF3F3F, 0x3FFFFFFF,
     0xFFFFFFFF, 0xFFDFFFFF, 0xEFCFFFDF, 0x7FDCFFFF,
     0xFFFFF880, 0xFFFFFCFF, 0x7FFFFFFF, 0xFFF3FC1F,
-    0x001F7FFF, 0x003FFFFF, 0xFFFF0000, 0x0001FFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0xFFF8FFFF, 0xFFFFFFFF,
-    0xFFFF01FF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x001F7FFF, 0x01FFFFFF, 0xFFFF0000, 0x0001FFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFF03FF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x000000FF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x000001FF,
     0xFFFFFFFF, 0x0000007F, 0x000007FF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0x3FFFFFFF, 0x1FFFFFFF, 0x0000000F, 0x00000000,
-    0xFFFFF3DE, 0xFFFFFEFF, 0x7F47AFFF, 0xFFFFFFFE,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFBFFF, 0xFFFFFF0B,
+    0xFFFFF3DE, 0xFFFFFEFF, 0x7FC7AFFF, 0xFFFFFFFE,
     0xFF1FFFFF, 0x7FFEFFFF, 0xFFFF17FF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0x001F1FFF, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x03FF1FFF, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0xFFFFFFFF, 0xFFFF7FFF, 0x7FFFFFFF, 0x3FFEFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFE0007FF,
+    0xFFFFFFFF, 0xFFFF7FFF, 0x7FFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFE03FFFF,
     0xFFFFFFFF, 0xFFFF003F, 0xFFFFFFFF, 0x0000803F,
     0x007FFFFF, 0x7F7F7F7F, 0x7F7F7F7F, 0xFFFFFFFF,
-    0xFFFFFFFF, 0x0001FFFF, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0x0003FFFF, 0x00000000, 0x00000000,
     0xFBFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x000FFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0x003FFFFF, 0x0FFF0000,
@@ -778,7 +774,7 @@
     0xFE7FFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFE0, 0xFFFE3FFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFF7FFF, 0x00FFFFFF, 0xFFFFFFFF, 0xFFFF000F,
-    0x7FFFFFFF, 0xFFFFFFFF, 0xFFFF000F, 0xFFFFFFFF,
+    0x7FFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x7FFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
@@ -789,28 +785,28 @@
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0x0000000F, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x00000FFF, 0x00000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFF1FFF, 0xFFFFFFFF, 0x0000007F, 0x00000000,
+    0xFFFF1FFF, 0xFFFFFFFF, 0xFFFF007F, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0x00000FFF, 0xFFFFFFFF, 0xF00FFFFC,
-    0x00FFFFFF, 0x00000000, 0x00000000, 0x00000000,
+    0x00FFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x00FFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0x00001FFF, 0x00000000, 0x00000000, 0xF8000000,
-    0xFFFFFFFF, 0x00000FFF, 0xFFFFFFFF, 0x00FFFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0x03FFC01F, 0x00000000,
-    0xFFFFFFFF, 0xFFFFFFFF, 0x800FFFFF, 0x00000000,
+    0xFFFFFFFF, 0x03FF0FFF, 0xFFFFFFFF, 0x00FFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x03FFC01F, 0x0FFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x800FFFFF, 0x1FFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xC3FFBFFF, 0x00000000,
+    0xFFFFFFFF, 0x007FFFFF, 0xF3FF3FFF, 0x0FFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xF8000007, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0xFFFFFFFF, 0x007FFFFF, 0xF3FF3FFF, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0xFFFFFFFF, 0x03FF3FFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0x0000000F, 0x00000000, 0x00000000,
-    0xFFFFFFFF, 0xFFFF3FFF, 0xFFFFFFFF, 0xFFFF07FF,
+    0xFFFFFFFF, 0xFFFF000F, 0xFFFFF87F, 0x0FFFFFFF,
+    0xFFFFFFFF, 0xFFFF3FFF, 0xFFFFFFFF, 0xFFFF3FFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0x03FFFFFF, 0x00000000,
     0xE0F8007F, 0x5F7FFFFF, 0xFFFFFFDB, 0xFFFFFFFF,
     0xFFFFFFFF, 0x0003FFFF, 0xFFF80000, 0xFFFFFFFF,
@@ -834,14 +830,26 @@
     0x3FFFFFFF, 0x000003FF, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0xFFFFFD3F, 0x91BFFFFF, 0x00000000, 0x00000000,
+    0xFFFFFD3F, 0x91BFFFFF, 0xFFBFFFFF, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x8FFFFFFF, 0x83FFFFFF, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFEEFF06F, 0x870FFFFF, 0x01FF00FF, 0xFFFFFFFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFE3FFFFF, 0xFF3FFFFF, 0xFF07FFFF,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x83FFFFFF, 0x83FFFFFF, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x000001FF, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0xFEEFF06F, 0x870FFFFF, 0x01FF00FF, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x7FFFFFFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x00000003, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x00007FFF,
@@ -850,6 +858,10 @@
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0x00007FFF, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x003FFFFF,
     0xFFFFFFFF, 0xFFFFFE7F, 0xFFFFFFFF, 0xFFFFFFFF,
@@ -868,11 +880,19 @@
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFCFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFF0FFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0x000FFFFF, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFF07FF, 0xA0027FFF, 0x80807C44, 0x9A000000,
+    0x00013C00, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFF0001, 0x0003FFFF, 0x000001FF, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0x007FFFFF, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0x001FFFFF, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x3FFFFFFF, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
--- a/lib/unictype/ctype_lower.h
+++ b/lib/unictype/ctype_lower.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* ISO C <ctype.h> like properties of Unicode characters.  */
-/* Generated automatically by gen-ctype.c for Unicode 5.1.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 5.2.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
@@ -283,13 +283,13 @@
     0x00000000, 0x00200000, 0x80000000, 0xFF7FFFFF,
     0xAAAAAAAA, 0x54AAAAAA, 0xAAAAA955, 0xD4AAAAAA,
     0x46241129, 0xA251212A, 0xB5555B60, 0xAA2CAAAA,
-    0xAAAAAAAA, 0x100AAAA8, 0x0ADBAA84, 0x20268B09,
+    0xAAAAAAAA, 0x900AAAA8, 0x0ADFAA85, 0x20268B09,
     0x00041F09, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000020, 0x388A0000,
     0x00000000, 0xFFFEF000, 0xAAE37FFF, 0x0927AAAA,
     0x00000000, 0xFFFF0000, 0xFFFFFFFF, 0xAAAAAAAA,
     0xAAAAA802, 0xAAAAAAAA, 0xAAAAD554, 0xAAAAAAAA,
-    0xAAAAAAAA, 0x0000000A, 0x00000000, 0xFFFFFFFE,
+    0xAAAAAAAA, 0x0000002A, 0x00000000, 0xFFFFFFFE,
     0x0000007F, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
@@ -308,7 +308,7 @@
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0xFFFF0000, 0x7FFFFFFF, 0x00481562,
-    0xAAAAAAAA, 0xAAAAAAAA, 0xAAAAAAAA, 0x0000000A,
+    0xAAAAAAAA, 0xAAAAAAAA, 0xAAAAAAAA, 0x0000500A,
     0xFFFFFFFF, 0x0000003F, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0xAAAAAAAA, 0x00002AA8,
--- a/lib/unictype/ctype_print.h
+++ b/lib/unictype/ctype_print.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* ISO C <ctype.h> like properties of Unicode characters.  */
-/* Generated automatically by gen-ctype.c for Unicode 5.1.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 5.2.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
@@ -11,7 +11,7 @@
     int header[1];
     int level1[17];
     short level2[5 << 7];
-    /*unsigned*/ int level3[52 << 4];
+    /*unsigned*/ int level3[57 << 4];
   }
 u_is_print =
 {
@@ -56,120 +56,123 @@
        18 +   640 * sizeof (short) / sizeof (int) +   272,
        18 +   640 * sizeof (short) / sizeof (int) +   288,
        18 +   640 * sizeof (short) / sizeof (int) +   304,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
        18 +   640 * sizeof (short) / sizeof (int) +   320,
        18 +   640 * sizeof (short) / sizeof (int) +   336,
        18 +   640 * sizeof (short) / sizeof (int) +   352,
        18 +   640 * sizeof (short) / sizeof (int) +   368,
        18 +   640 * sizeof (short) / sizeof (int) +   384,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
        18 +   640 * sizeof (short) / sizeof (int) +   400,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
        18 +   640 * sizeof (short) / sizeof (int) +   416,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
        18 +   640 * sizeof (short) / sizeof (int) +   432,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
        18 +   640 * sizeof (short) / sizeof (int) +   448,
        18 +   640 * sizeof (short) / sizeof (int) +   464,
        18 +   640 * sizeof (short) / sizeof (int) +   480,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
        18 +   640 * sizeof (short) / sizeof (int) +   496,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   512,
        -1,
        -1,
        -1,
        -1,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   512,
        18 +   640 * sizeof (short) / sizeof (int) +   528,
        18 +   640 * sizeof (short) / sizeof (int) +   544,
        18 +   640 * sizeof (short) / sizeof (int) +   560,
        18 +   640 * sizeof (short) / sizeof (int) +   576,
        18 +   640 * sizeof (short) / sizeof (int) +   592,
+       -1,
        18 +   640 * sizeof (short) / sizeof (int) +   608,
-       -1,
        18 +   640 * sizeof (short) / sizeof (int) +   624,
        18 +   640 * sizeof (short) / sizeof (int) +   640,
+       18 +   640 * sizeof (short) / sizeof (int) +   656,
+       18 +   640 * sizeof (short) / sizeof (int) +   672,
        -1,
        -1,
        -1,
@@ -177,12 +180,17 @@
        -1,
        -1,
        -1,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   688,
+       18 +   640 * sizeof (short) / sizeof (int) +   704,
        -1,
        -1,
        -1,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   656,
-       18 +   640 * sizeof (short) / sizeof (int) +   672,
+       -1,
+       -1,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   720,
        -1,
        -1,
        -1,
@@ -260,18 +268,10 @@
        -1,
        -1,
        -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       18 +   640 * sizeof (short) / sizeof (int) +   688,
-       18 +   640 * sizeof (short) / sizeof (int) +   704,
-       18 +   640 * sizeof (short) / sizeof (int) +   720,
        18 +   640 * sizeof (short) / sizeof (int) +   736,
+       18 +   640 * sizeof (short) / sizeof (int) +   752,
+       18 +   640 * sizeof (short) / sizeof (int) +   768,
+       18 +   640 * sizeof (short) / sizeof (int) +   784,
        -1,
        -1,
        -1,
@@ -284,98 +284,106 @@
        -1,
        -1,
        -1,
-       18 +   640 * sizeof (short) / sizeof (int) +   752,
-       -1,
+       18 +   640 * sizeof (short) / sizeof (int) +   800,
+       18 +   640 * sizeof (short) / sizeof (int) +   816,
        -1,
        -1,
        -1,
        -1,
        -1,
        -1,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   768,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   832,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   848,
        -1,
        -1,
        -1,
@@ -408,19 +416,11 @@
        -1,
        -1,
        -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   864,
        -1,
        -1,
-       -1,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   784,
-       -1,
-       -1,
-       18 +   640 * sizeof (short) / sizeof (int) +   800,
+       18 +   640 * sizeof (short) / sizeof (int) +   880,
        -1,
        -1,
        -1,
@@ -548,134 +548,134 @@
        -1,
        -1,
        -1,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   320,
-       18 +   640 * sizeof (short) / sizeof (int) +   816
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   160,
+       18 +   640 * sizeof (short) / sizeof (int) +   896
   },
   {
     0x00000000, 0xFFFFFFFF, 0xFFFFFFFF, 0x7FFFFFFF,
@@ -688,16 +688,16 @@
     0xFFFFD7F0, 0xFFFFFFFB, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFE000F, 0xFE7FFFFF, 0xFFFFFFFE,
+    0xFFFFFFFF, 0xFFFE003F, 0xFE7FFFFF, 0xFFFFFFFE,
     0xFFFE06FF, 0xFFFFFFFF, 0xFFFF00FF, 0x001F07FF,
     0xCFFFFFCF, 0xFFFFFFFE, 0x7FFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFBFFF, 0xFFFFFFFF, 0xFFFFE7FF, 0xFFFFFFFF,
     0xFFFFFFFF, 0x0003FFFF, 0xFFFFFFFF, 0x07FFFFFF,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0x7FFF3FFF, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0xFFFFFFFE, 0xF3FFFFFF, 0xFF1F3FFF, 0xF807FFFF,
-    0xFFF99FEE, 0xF3C5FDFF, 0xB080799F, 0x07FFFFCF,
+    0xFFFFFFFF, 0xF3FFFFFF, 0xFF3F7FFF, 0xFE07FFFF,
+    0xFFF99FEE, 0xF3C5FDFF, 0xB080799F, 0x0FFFFFCF,
     0xFFF987EE, 0xD36DFDFF, 0x5E023987, 0x003FFFC0,
     0xFFFBBFEE, 0xF3EDFDFF, 0x00013BBF, 0x0002FFCF,
     0xFFF99FEE, 0xF3EDFDFF, 0xB0C0399F, 0x0003FFCF,
@@ -709,68 +709,64 @@
     0xFFFFFFFE, 0x87FFFFFF, 0x0FFFFFFF, 0x00000000,
     0xFEF02596, 0x3BFFECAE, 0x33FF3F5F, 0x00000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFEFF, 0xFFFE1FFF,
-    0xFEFF0FFF, 0xDFFFFFFF, 0x001FDFFF, 0x00000000,
+    0xFEFF0FFF, 0xDFFFFFFF, 0x01FFDFFF, 0x00000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xC3FFFFFF, 0xFFFFFFFF, 0xFFFF003F, 0x1FFFFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0x83FFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFFFF07, 0xFFFFFFFF, 0x03FFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFF003F, 0x1FFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0x3D7F3DFF, 0xFFFFFFFF,
     0xFFFF3DFF, 0x7F3DFFFF, 0xFF7FFF3D, 0xFFFFFFFF,
     0xFF3DFFFF, 0xFFFFFFFF, 0x87FFFFFF, 0x1FFFFFFF,
     0x03FFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x001FFFFF,
-    0xFFFFFFFE, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x007FFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0x1FFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x0001FFFF,
     0x001FDFFF, 0x007FFFFF, 0x000FFFFF, 0x000DDFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0x3FFFFFFF, 0x03FF03FF,
     0x03FF7FFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x00FFFFFF,
-    0xFFFFFFFF, 0x000007FF, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFF07FF, 0xFFFFFFFF, 0x003FFFFF,
     0x1FFFFFFF, 0x0FFF0FFF, 0xFFFFFFF1, 0x001F3FFF,
-    0xFFFFFFFF, 0xFFFF03FF, 0xC3FF03FF, 0xFFFFFFFF,
-    0xCFFFFFFF, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFF0FFF, 0xC7FF03FF, 0xFFFFFFFF,
+    0xCFFFFFFF, 0xFFFFFFFF, 0x7FFFFFFF, 0x9FFFFFFF,
+    0x03FF03FF, 0x00003FFF, 0x00000000, 0x00000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFF0FFF, 0x1FFFFFFF,
     0xFFFFFFFF, 0x03FFC7FF, 0x00000000, 0x00000000,
     0xFFFFFFFF, 0xF8FFFFFF, 0xFFFFE3FF, 0xFFFFFFFF,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0xFFFF0000, 0x0007FFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xC000007F,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xE000007F,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0x3F3FFFFF, 0xFFFFFFFF, 0xAAFF3F3F, 0x3FFFFFFF,
     0xFFFFFFFF, 0xFFDFFFFF, 0xEFCFFFDF, 0x7FDCFFFF,
     0xFFFFFFFF, 0xFFFFFCFF, 0xFFFFFFFF, 0xFFF3FC1F,
-    0x001F7FFF, 0x003FFFFF, 0xFFFF0000, 0x0001FFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0xFFF8FFFF, 0xFFFFFFFF,
-    0xFFFF01FF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x001F7FFF, 0x01FFFFFF, 0xFFFF0000, 0x0001FFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFF03FF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x000000FF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x000001FF,
     0xFFFFFFFF, 0x0000007F, 0x000007FF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0x3FFFFFFF, 0x1FFFFFFF, 0x0000000F, 0x00000000,
-    0xFFFFF3DE, 0xFFFFFEFF, 0x7F47AFFF, 0xFFFFFFFE,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFBFFF, 0xFFFFFF0B,
+    0xFFFFF3DE, 0xFFFFFEFF, 0x7FC7AFFF, 0xFFFFFFFE,
     0xFF1FFFFF, 0x7FFEFFFF, 0xFFFF17FF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0x001F1FFF, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x03FF1FFF, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0xFFFFFFFF, 0xFFFF7FFF, 0x7FFFFFFF, 0x3FFEFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFE0007FF,
+    0xFFFFFFFF, 0xFFFF7FFF, 0x7FFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFE03FFFF,
     0xFFFFFFFF, 0xFFFF003F, 0xFFFFFFFF, 0x0000803F,
     0x007FFFFF, 0x7F7F7F7F, 0x7F7F7F7F, 0xFFFFFFFF,
-    0xFFFFFFFF, 0x0001FFFF, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0x0003FFFF, 0x00000000, 0x00000000,
     0xFBFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x000FFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0x003FFFFF, 0x0FFF0000,
@@ -778,7 +774,7 @@
     0xFE7FFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFE0, 0xFFFE3FFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFF7FFF, 0x00FFFFFF, 0xFFFFFFFF, 0xFFFF000F,
-    0x7FFFFFFF, 0xFFFFFFFF, 0xFFFF000F, 0xFFFFFFFF,
+    0x7FFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x7FFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
@@ -789,28 +785,28 @@
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0x0000000F, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x00000FFF, 0x00000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFF1FFF, 0xFFFFFFFF, 0x0000007F, 0x00000000,
+    0xFFFF1FFF, 0xFFFFFFFF, 0xFFFF007F, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0x00000FFF, 0xFFFFFFFF, 0xF00FFFFC,
-    0x00FFFFFF, 0x00000000, 0x00000000, 0x00000000,
+    0x00FFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x00FFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0x00001FFF, 0x00000000, 0x00000000, 0xF8000000,
-    0xFFFFFFFF, 0x00000FFF, 0xFFFFFFFF, 0x00FFFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0x03FFC01F, 0x00000000,
-    0xFFFFFFFF, 0xFFFFFFFF, 0x800FFFFF, 0x00000000,
+    0xFFFFFFFF, 0x03FF0FFF, 0xFFFFFFFF, 0x00FFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x03FFC01F, 0x0FFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x800FFFFF, 0x1FFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xC3FFBFFF, 0x00000000,
+    0xFFFFFFFF, 0x007FFFFF, 0xF3FF3FFF, 0x0FFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xF8000007, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0xFFFFFFFF, 0x007FFFFF, 0xF3FF3FFF, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0xFFFFFFFF, 0x03FF3FFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0x0000000F, 0x00000000, 0x00000000,
-    0xFFFFFFFF, 0xFFFF3FFF, 0xFFFFFFFF, 0xFFFF07FF,
+    0xFFFFFFFF, 0xFFFF000F, 0xFFFFF87F, 0x0FFFFFFF,
+    0xFFFFFFFF, 0xFFFF3FFF, 0xFFFFFFFF, 0xFFFF3FFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0x03FFFFFF, 0x00000000,
     0xE0F8007F, 0x5F7FFFFF, 0xFFFFFFDB, 0xFFFFFFFF,
     0xFFFFFFFF, 0x0003FFFF, 0xFFF80000, 0xFFFFFFFF,
@@ -834,14 +830,26 @@
     0x3FFFFFFF, 0x000003FF, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0xFFFFFD3F, 0x91BFFFFF, 0x00000000, 0x00000000,
+    0xFFFFFD3F, 0x91BFFFFF, 0xFFBFFFFF, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x8FFFFFFF, 0x83FFFFFF, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFEEFF06F, 0x870FFFFF, 0x01FF00FF, 0xFFFFFFFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFE3FFFFF, 0xFF3FFFFF, 0xFF07FFFF,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x83FFFFFF, 0x83FFFFFF, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x000001FF, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0xFEEFF06F, 0x870FFFFF, 0x01FF00FF, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x7FFFFFFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x00000003, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x00007FFF,
@@ -850,6 +858,10 @@
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0x00007FFF, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x003FFFFF,
     0xFFFFFFFF, 0xFFFFFE7F, 0xFFFFFFFF, 0xFFFFFFFF,
@@ -868,11 +880,19 @@
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFCFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFF0FFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0x000FFFFF, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFF07FF, 0xA0027FFF, 0x80807C44, 0x9A000000,
+    0x00013C00, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFF0001, 0x0003FFFF, 0x000001FF, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0x007FFFFF, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0x001FFFFF, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x3FFFFFFF, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
--- a/lib/unictype/ctype_punct.h
+++ b/lib/unictype/ctype_punct.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* ISO C <ctype.h> like properties of Unicode characters.  */
-/* Generated automatically by gen-ctype.c for Unicode 5.1.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 5.2.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
@@ -11,7 +11,7 @@
     int header[1];
     int level1[17];
     short level2[4 << 7];
-    /*unsigned*/ int level3[45 << 4];
+    /*unsigned*/ int level3[49 << 4];
   }
 u_is_punct =
 {
@@ -46,7 +46,6 @@
        18 +   512 * sizeof (short) / sizeof (int) +   112,
        18 +   512 * sizeof (short) / sizeof (int) +   128,
        18 +   512 * sizeof (short) / sizeof (int) +   144,
-       -1,
        18 +   512 * sizeof (short) / sizeof (int) +   160,
        18 +   512 * sizeof (short) / sizeof (int) +   176,
        18 +   512 * sizeof (short) / sizeof (int) +   192,
@@ -62,6 +61,7 @@
        18 +   512 * sizeof (short) / sizeof (int) +   352,
        18 +   512 * sizeof (short) / sizeof (int) +   368,
        18 +   512 * sizeof (short) / sizeof (int) +   384,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
        -1,
        -1,
        -1,
@@ -74,7 +74,7 @@
        -1,
        -1,
        -1,
-       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   416,
        -1,
        -1,
        -1,
@@ -118,10 +118,10 @@
        -1,
        -1,
        -1,
-       18 +   512 * sizeof (short) / sizeof (int) +   416,
        18 +   512 * sizeof (short) / sizeof (int) +   432,
        18 +   512 * sizeof (short) / sizeof (int) +   448,
        18 +   512 * sizeof (short) / sizeof (int) +   464,
+       18 +   512 * sizeof (short) / sizeof (int) +   480,
        -1,
        -1,
        -1,
@@ -148,28 +148,31 @@
        -1,
        -1,
        -1,
-       18 +   512 * sizeof (short) / sizeof (int) +   304,
-       18 +   512 * sizeof (short) / sizeof (int) +   304,
-       18 +   512 * sizeof (short) / sizeof (int) +   304,
-       18 +   512 * sizeof (short) / sizeof (int) +   304,
-       18 +   512 * sizeof (short) / sizeof (int) +   304,
-       18 +   512 * sizeof (short) / sizeof (int) +   304,
-       18 +   512 * sizeof (short) / sizeof (int) +   304,
-       18 +   512 * sizeof (short) / sizeof (int) +   304,
-       18 +   512 * sizeof (short) / sizeof (int) +   304,
-       18 +   512 * sizeof (short) / sizeof (int) +   304,
-       18 +   512 * sizeof (short) / sizeof (int) +   304,
-       18 +   512 * sizeof (short) / sizeof (int) +   304,
-       18 +   512 * sizeof (short) / sizeof (int) +   480,
+       18 +   512 * sizeof (short) / sizeof (int) +   320,
+       18 +   512 * sizeof (short) / sizeof (int) +   320,
+       18 +   512 * sizeof (short) / sizeof (int) +   320,
+       18 +   512 * sizeof (short) / sizeof (int) +   320,
+       18 +   512 * sizeof (short) / sizeof (int) +   320,
+       18 +   512 * sizeof (short) / sizeof (int) +   320,
+       18 +   512 * sizeof (short) / sizeof (int) +   320,
+       18 +   512 * sizeof (short) / sizeof (int) +   320,
+       18 +   512 * sizeof (short) / sizeof (int) +   320,
+       18 +   512 * sizeof (short) / sizeof (int) +   320,
+       18 +   512 * sizeof (short) / sizeof (int) +   320,
+       18 +   512 * sizeof (short) / sizeof (int) +   320,
        18 +   512 * sizeof (short) / sizeof (int) +   496,
        18 +   512 * sizeof (short) / sizeof (int) +   512,
        18 +   512 * sizeof (short) / sizeof (int) +   528,
        18 +   512 * sizeof (short) / sizeof (int) +   544,
        18 +   512 * sizeof (short) / sizeof (int) +   560,
+       18 +   512 * sizeof (short) / sizeof (int) +   576,
        -1,
        -1,
-       18 +   512 * sizeof (short) / sizeof (int) +   576,
        18 +   512 * sizeof (short) / sizeof (int) +   592,
+       18 +   512 * sizeof (short) / sizeof (int) +   608,
+       -1,
+       18 +   512 * sizeof (short) / sizeof (int) +   624,
+       18 +   512 * sizeof (short) / sizeof (int) +   640,
        -1,
        -1,
        -1,
@@ -179,10 +182,7 @@
        -1,
        -1,
        -1,
-       -1,
-       -1,
-       -1,
-       18 +   512 * sizeof (short) / sizeof (int) +   608,
+       18 +   512 * sizeof (short) / sizeof (int) +   656,
        -1,
        -1,
        -1,
@@ -268,10 +268,10 @@
        -1,
        -1,
        -1,
-       18 +   512 * sizeof (short) / sizeof (int) +   624,
-       18 +   512 * sizeof (short) / sizeof (int) +   640,
+       18 +   512 * sizeof (short) / sizeof (int) +   672,
+       18 +   512 * sizeof (short) / sizeof (int) +   688,
        -1,
-       18 +   512 * sizeof (short) / sizeof (int) +   656,
+       18 +   512 * sizeof (short) / sizeof (int) +   704,
        -1,
        -1,
        -1,
@@ -284,15 +284,15 @@
        -1,
        -1,
        -1,
-       18 +   512 * sizeof (short) / sizeof (int) +   672,
+       18 +   512 * sizeof (short) / sizeof (int) +   720,
+       18 +   512 * sizeof (short) / sizeof (int) +   736,
        -1,
        -1,
        -1,
        -1,
        -1,
        -1,
-       -1,
-       18 +   512 * sizeof (short) / sizeof (int) +   688,
+       18 +   512 * sizeof (short) / sizeof (int) +   752,
        -1,
        -1,
        -1,
@@ -420,134 +420,134 @@
        -1,
        -1,
        -1,
-       18 +   512 * sizeof (short) / sizeof (int) +   304,
-       18 +   512 * sizeof (short) / sizeof (int) +   304,
-       18 +   512 * sizeof (short) / sizeof (int) +   304,
-       18 +   512 * sizeof (short) / sizeof (int) +   304,
-       18 +   512 * sizeof (short) / sizeof (int) +   304,
-       18 +   512 * sizeof (short) / sizeof (int) +   304,
-       18 +   512 * sizeof (short) / sizeof (int) +   304,
-       18 +   512 * sizeof (short) / sizeof (int) +   304,
-       18 +   512 * sizeof (short) / sizeof (int) +   304,
-       18 +   512 * sizeof (short) / sizeof (int) +   304,
-       18 +   512 * sizeof (short) / sizeof (int) +   304,
-       18 +   512 * sizeof (short) / sizeof (int) +   304,
-       18 +   512 * sizeof (short) / sizeof (int) +   304,
-       18 +   512 * sizeof (short) / sizeof (int) +   304,
-       18 +   512 * sizeof (short) / sizeof (int) +   304,
-       18 +   512 * sizeof (short) / sizeof (int) +   304,
-       18 +   512 * sizeof (short) / sizeof (int) +   304,
-       18 +   512 * sizeof (short) / sizeof (int) +   304,
-       18 +   512 * sizeof (short) / sizeof (int) +   304,
-       18 +   512 * sizeof (short) / sizeof (int) +   304,
-       18 +   512 * sizeof (short) / sizeof (int) +   304,
-       18 +   512 * sizeof (short) / sizeof (int) +   304,
-       18 +   512 * sizeof (short) / sizeof (int) +   304,
-       18 +   512 * sizeof (short) / sizeof (int) +   304,
-       18 +   512 * sizeof (short) / sizeof (int) +   304,
-       18 +   512 * sizeof (short) / sizeof (int) +   304,
-       18 +   512 * sizeof (short) / sizeof (int) +   304,
-       18 +   512 * sizeof (short) / sizeof (int) +   304,
-       18 +   512 * sizeof (short) / sizeof (int) +   304,
-       18 +   512 * sizeof (short) / sizeof (int) +   304,
-       18 +   512 * sizeof (short) / sizeof (int) +   304,
-       18 +   512 * sizeof (short) / sizeof (int) +   304,
-       18 +   512 * sizeof (short) / sizeof (int) +   304,
-       18 +   512 * sizeof (short) / sizeof (int) +   304,
-       18 +   512 * sizeof (short) / sizeof (int) +   304,
-       18 +   512 * sizeof (short) / sizeof (int) +   304,
-       18 +   512 * sizeof (short) / sizeof (int) +   304,
-       18 +   512 * sizeof (short) / sizeof (int) +   304,
-       18 +   512 * sizeof (short) / sizeof (int) +   304,
-       18 +   512 * sizeof (short) / sizeof (int) +   304,
-       18 +   512 * sizeof (short) / sizeof (int) +   304,
-       18 +   512 * sizeof (short) / sizeof (int) +   304,
-       18 +   512 * sizeof (short) / sizeof (int) +   304,
-       18 +   512 * sizeof (short) / sizeof (int) +   304,
-       18 +   512 * sizeof (short) / sizeof (int) +   304,
-       18 +   512 * sizeof (short) / sizeof (int) +   304,
-       18 +   512 * sizeof (short) / sizeof (int) +   304,
-       18 +   512 * sizeof (short) / sizeof (int) +   304,
-       18 +   512 * sizeof (short) / sizeof (int) +   304,
-       18 +   512 * sizeof (short) / sizeof (int) +   304,
-       18 +   512 * sizeof (short) / sizeof (int) +   304,
-       18 +   512 * sizeof (short) / sizeof (int) +   304,
-       18 +   512 * sizeof (short) / sizeof (int) +   304,
-       18 +   512 * sizeof (short) / sizeof (int) +   304,
-       18 +   512 * sizeof (short) / sizeof (int) +   304,
-       18 +   512 * sizeof (short) / sizeof (int) +   304,
-       18 +   512 * sizeof (short) / sizeof (int) +   304,
-       18 +   512 * sizeof (short) / sizeof (int) +   304,
-       18 +   512 * sizeof (short) / sizeof (int) +   304,
-       18 +   512 * sizeof (short) / sizeof (int) +   304,
-       18 +   512 * sizeof (short) / sizeof (int) +   304,
-       18 +   512 * sizeof (short) / sizeof (int) +   304,
-       18 +   512 * sizeof (short) / sizeof (int) +   304,
-       18 +   512 * sizeof (short) / sizeof (int) +   304,
-       18 +   512 * sizeof (short) / sizeof (int) +   304,
-       18 +   512 * sizeof (short) / sizeof (int) +   304,
-       18 +   512 * sizeof (short) / sizeof (int) +   304,
-       18 +   512 * sizeof (short) / sizeof (int) +   304,
-       18 +   512 * sizeof (short) / sizeof (int) +   304,
-       18 +   512 * sizeof (short) / sizeof (int) +   304,
-       18 +   512 * sizeof (short) / sizeof (int) +   304,
-       18 +   512 * sizeof (short) / sizeof (int) +   304,
-       18 +   512 * sizeof (short) / sizeof (int) +   304,
-       18 +   512 * sizeof (short) / sizeof (int) +   304,
-       18 +   512 * sizeof (short) / sizeof (int) +   304,
-       18 +   512 * sizeof (short) / sizeof (int) +   304,
-       18 +   512 * sizeof (short) / sizeof (int) +   304,
-       18 +   512 * sizeof (short) / sizeof (int) +   304,
-       18 +   512 * sizeof (short) / sizeof (int) +   304,
-       18 +   512 * sizeof (short) / sizeof (int) +   304,
-       18 +   512 * sizeof (short) / sizeof (int) +   304,
-       18 +   512 * sizeof (short) / sizeof (int) +   304,
-       18 +   512 * sizeof (short) / sizeof (int) +   304,
-       18 +   512 * sizeof (short) / sizeof (int) +   304,
-       18 +   512 * sizeof (short) / sizeof (int) +   304,
-       18 +   512 * sizeof (short) / sizeof (int) +   304,
-       18 +   512 * sizeof (short) / sizeof (int) +   304,
-       18 +   512 * sizeof (short) / sizeof (int) +   304,
-       18 +   512 * sizeof (short) / sizeof (int) +   304,
-       18 +   512 * sizeof (short) / sizeof (int) +   304,
-       18 +   512 * sizeof (short) / sizeof (int) +   304,
-       18 +   512 * sizeof (short) / sizeof (int) +   304,
-       18 +   512 * sizeof (short) / sizeof (int) +   304,
-       18 +   512 * sizeof (short) / sizeof (int) +   304,
-       18 +   512 * sizeof (short) / sizeof (int) +   304,
-       18 +   512 * sizeof (short) / sizeof (int) +   304,
-       18 +   512 * sizeof (short) / sizeof (int) +   304,
-       18 +   512 * sizeof (short) / sizeof (int) +   304,
-       18 +   512 * sizeof (short) / sizeof (int) +   304,
-       18 +   512 * sizeof (short) / sizeof (int) +   304,
-       18 +   512 * sizeof (short) / sizeof (int) +   304,
-       18 +   512 * sizeof (short) / sizeof (int) +   304,
-       18 +   512 * sizeof (short) / sizeof (int) +   304,
-       18 +   512 * sizeof (short) / sizeof (int) +   304,
-       18 +   512 * sizeof (short) / sizeof (int) +   304,
-       18 +   512 * sizeof (short) / sizeof (int) +   304,
-       18 +   512 * sizeof (short) / sizeof (int) +   304,
-       18 +   512 * sizeof (short) / sizeof (int) +   304,
-       18 +   512 * sizeof (short) / sizeof (int) +   304,
-       18 +   512 * sizeof (short) / sizeof (int) +   304,
-       18 +   512 * sizeof (short) / sizeof (int) +   304,
-       18 +   512 * sizeof (short) / sizeof (int) +   304,
-       18 +   512 * sizeof (short) / sizeof (int) +   304,
-       18 +   512 * sizeof (short) / sizeof (int) +   304,
-       18 +   512 * sizeof (short) / sizeof (int) +   304,
-       18 +   512 * sizeof (short) / sizeof (int) +   304,
-       18 +   512 * sizeof (short) / sizeof (int) +   304,
-       18 +   512 * sizeof (short) / sizeof (int) +   304,
-       18 +   512 * sizeof (short) / sizeof (int) +   304,
-       18 +   512 * sizeof (short) / sizeof (int) +   304,
-       18 +   512 * sizeof (short) / sizeof (int) +   304,
-       18 +   512 * sizeof (short) / sizeof (int) +   304,
-       18 +   512 * sizeof (short) / sizeof (int) +   304,
-       18 +   512 * sizeof (short) / sizeof (int) +   304,
-       18 +   512 * sizeof (short) / sizeof (int) +   304,
-       18 +   512 * sizeof (short) / sizeof (int) +   304,
-       18 +   512 * sizeof (short) / sizeof (int) +   304,
-       18 +   512 * sizeof (short) / sizeof (int) +   704
+       18 +   512 * sizeof (short) / sizeof (int) +   320,
+       18 +   512 * sizeof (short) / sizeof (int) +   320,
+       18 +   512 * sizeof (short) / sizeof (int) +   320,
+       18 +   512 * sizeof (short) / sizeof (int) +   320,
+       18 +   512 * sizeof (short) / sizeof (int) +   320,
+       18 +   512 * sizeof (short) / sizeof (int) +   320,
+       18 +   512 * sizeof (short) / sizeof (int) +   320,
+       18 +   512 * sizeof (short) / sizeof (int) +   320,
+       18 +   512 * sizeof (short) / sizeof (int) +   320,
+       18 +   512 * sizeof (short) / sizeof (int) +   320,
+       18 +   512 * sizeof (short) / sizeof (int) +   320,
+       18 +   512 * sizeof (short) / sizeof (int) +   320,
+       18 +   512 * sizeof (short) / sizeof (int) +   320,
+       18 +   512 * sizeof (short) / sizeof (int) +   320,
+       18 +   512 * sizeof (short) / sizeof (int) +   320,
+       18 +   512 * sizeof (short) / sizeof (int) +   320,
+       18 +   512 * sizeof (short) / sizeof (int) +   320,
+       18 +   512 * sizeof (short) / sizeof (int) +   320,
+       18 +   512 * sizeof (short) / sizeof (int) +   320,
+       18 +   512 * sizeof (short) / sizeof (int) +   320,
+       18 +   512 * sizeof (short) / sizeof (int) +   320,
+       18 +   512 * sizeof (short) / sizeof (int) +   320,
+       18 +   512 * sizeof (short) / sizeof (int) +   320,
+       18 +   512 * sizeof (short) / sizeof (int) +   320,
+       18 +   512 * sizeof (short) / sizeof (int) +   320,
+       18 +   512 * sizeof (short) / sizeof (int) +   320,
+       18 +   512 * sizeof (short) / sizeof (int) +   320,
+       18 +   512 * sizeof (short) / sizeof (int) +   320,
+       18 +   512 * sizeof (short) / sizeof (int) +   320,
+       18 +   512 * sizeof (short) / sizeof (int) +   320,
+       18 +   512 * sizeof (short) / sizeof (int) +   320,
+       18 +   512 * sizeof (short) / sizeof (int) +   320,
+       18 +   512 * sizeof (short) / sizeof (int) +   320,
+       18 +   512 * sizeof (short) / sizeof (int) +   320,
+       18 +   512 * sizeof (short) / sizeof (int) +   320,
+       18 +   512 * sizeof (short) / sizeof (int) +   320,
+       18 +   512 * sizeof (short) / sizeof (int) +   320,
+       18 +   512 * sizeof (short) / sizeof (int) +   320,
+       18 +   512 * sizeof (short) / sizeof (int) +   320,
+       18 +   512 * sizeof (short) / sizeof (int) +   320,
+       18 +   512 * sizeof (short) / sizeof (int) +   320,
+       18 +   512 * sizeof (short) / sizeof (int) +   320,
+       18 +   512 * sizeof (short) / sizeof (int) +   320,
+       18 +   512 * sizeof (short) / sizeof (int) +   320,
+       18 +   512 * sizeof (short) / sizeof (int) +   320,
+       18 +   512 * sizeof (short) / sizeof (int) +   320,
+       18 +   512 * sizeof (short) / sizeof (int) +   320,
+       18 +   512 * sizeof (short) / sizeof (int) +   320,
+       18 +   512 * sizeof (short) / sizeof (int) +   320,
+       18 +   512 * sizeof (short) / sizeof (int) +   320,
+       18 +   512 * sizeof (short) / sizeof (int) +   320,
+       18 +   512 * sizeof (short) / sizeof (int) +   320,
+       18 +   512 * sizeof (short) / sizeof (int) +   320,
+       18 +   512 * sizeof (short) / sizeof (int) +   320,
+       18 +   512 * sizeof (short) / sizeof (int) +   320,
+       18 +   512 * sizeof (short) / sizeof (int) +   320,
+       18 +   512 * sizeof (short) / sizeof (int) +   320,
+       18 +   512 * sizeof (short) / sizeof (int) +   320,
+       18 +   512 * sizeof (short) / sizeof (int) +   320,
+       18 +   512 * sizeof (short) / sizeof (int) +   320,
+       18 +   512 * sizeof (short) / sizeof (int) +   320,
+       18 +   512 * sizeof (short) / sizeof (int) +   320,
+       18 +   512 * sizeof (short) / sizeof (int) +   320,
+       18 +   512 * sizeof (short) / sizeof (int) +   320,
+       18 +   512 * sizeof (short) / sizeof (int) +   320,
+       18 +   512 * sizeof (short) / sizeof (int) +   320,
+       18 +   512 * sizeof (short) / sizeof (int) +   320,
+       18 +   512 * sizeof (short) / sizeof (int) +   320,
+       18 +   512 * sizeof (short) / sizeof (int) +   320,
+       18 +   512 * sizeof (short) / sizeof (int) +   320,
+       18 +   512 * sizeof (short) / sizeof (int) +   320,
+       18 +   512 * sizeof (short) / sizeof (int) +   320,
+       18 +   512 * sizeof (short) / sizeof (int) +   320,
+       18 +   512 * sizeof (short) / sizeof (int) +   320,
+       18 +   512 * sizeof (short) / sizeof (int) +   320,
+       18 +   512 * sizeof (short) / sizeof (int) +   320,
+       18 +   512 * sizeof (short) / sizeof (int) +   320,
+       18 +   512 * sizeof (short) / sizeof (int) +   320,
+       18 +   512 * sizeof (short) / sizeof (int) +   320,
+       18 +   512 * sizeof (short) / sizeof (int) +   320,
+       18 +   512 * sizeof (short) / sizeof (int) +   320,
+       18 +   512 * sizeof (short) / sizeof (int) +   320,
+       18 +   512 * sizeof (short) / sizeof (int) +   320,
+       18 +   512 * sizeof (short) / sizeof (int) +   320,
+       18 +   512 * sizeof (short) / sizeof (int) +   320,
+       18 +   512 * sizeof (short) / sizeof (int) +   320,
+       18 +   512 * sizeof (short) / sizeof (int) +   320,
+       18 +   512 * sizeof (short) / sizeof (int) +   320,
+       18 +   512 * sizeof (short) / sizeof (int) +   320,
+       18 +   512 * sizeof (short) / sizeof (int) +   320,
+       18 +   512 * sizeof (short) / sizeof (int) +   320,
+       18 +   512 * sizeof (short) / sizeof (int) +   320,
+       18 +   512 * sizeof (short) / sizeof (int) +   320,
+       18 +   512 * sizeof (short) / sizeof (int) +   320,
+       18 +   512 * sizeof (short) / sizeof (int) +   320,
+       18 +   512 * sizeof (short) / sizeof (int) +   320,
+       18 +   512 * sizeof (short) / sizeof (int) +   320,
+       18 +   512 * sizeof (short) / sizeof (int) +   320,
+       18 +   512 * sizeof (short) / sizeof (int) +   320,
+       18 +   512 * sizeof (short) / sizeof (int) +   320,
+       18 +   512 * sizeof (short) / sizeof (int) +   320,
+       18 +   512 * sizeof (short) / sizeof (int) +   320,
+       18 +   512 * sizeof (short) / sizeof (int) +   320,
+       18 +   512 * sizeof (short) / sizeof (int) +   320,
+       18 +   512 * sizeof (short) / sizeof (int) +   320,
+       18 +   512 * sizeof (short) / sizeof (int) +   320,
+       18 +   512 * sizeof (short) / sizeof (int) +   320,
+       18 +   512 * sizeof (short) / sizeof (int) +   320,
+       18 +   512 * sizeof (short) / sizeof (int) +   320,
+       18 +   512 * sizeof (short) / sizeof (int) +   320,
+       18 +   512 * sizeof (short) / sizeof (int) +   320,
+       18 +   512 * sizeof (short) / sizeof (int) +   320,
+       18 +   512 * sizeof (short) / sizeof (int) +   320,
+       18 +   512 * sizeof (short) / sizeof (int) +   320,
+       18 +   512 * sizeof (short) / sizeof (int) +   320,
+       18 +   512 * sizeof (short) / sizeof (int) +   320,
+       18 +   512 * sizeof (short) / sizeof (int) +   320,
+       18 +   512 * sizeof (short) / sizeof (int) +   320,
+       18 +   512 * sizeof (short) / sizeof (int) +   320,
+       18 +   512 * sizeof (short) / sizeof (int) +   320,
+       18 +   512 * sizeof (short) / sizeof (int) +   320,
+       18 +   512 * sizeof (short) / sizeof (int) +   320,
+       18 +   512 * sizeof (short) / sizeof (int) +   320,
+       18 +   512 * sizeof (short) / sizeof (int) +   320,
+       18 +   512 * sizeof (short) / sizeof (int) +   320,
+       18 +   512 * sizeof (short) / sizeof (int) +   320,
+       18 +   512 * sizeof (short) / sizeof (int) +   320,
+       18 +   512 * sizeof (short) / sizeof (int) +   768
   },
   {
     0x00000000, 0xFC00FFFE, 0xF8000001, 0x78000001,
@@ -566,10 +566,10 @@
     0x00000000, 0x00000000, 0xFFD00000, 0x60003F9F,
     0x0002BFFF, 0xFFFF0000, 0x000007FF, 0x00000000,
     0x00000000, 0x0001FFC0, 0x00000000, 0x03CFF800,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFBC00000, 0x7FFF3EEF, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x0000000E, 0xD0000000, 0x001E3FFF, 0x0001003C,
-    0x0000000E, 0xD0000000, 0x0080399F, 0x07FC000C,
+    0x0000000F, 0xD0000000, 0x003E7FFF, 0x0001003C,
+    0x0000000E, 0xD0000000, 0x0080399F, 0x0FFC000C,
     0x0000000E, 0xD0000000, 0x00023987, 0x00230000,
     0x0000000E, 0xD0000000, 0x00003BBF, 0x0002000C,
     0x0000000E, 0xD0000000, 0x00C0399F, 0x0001000C,
@@ -581,15 +581,19 @@
     0x00000000, 0x80008000, 0x0C008040, 0x00000000,
     0x00000000, 0x1BF20000, 0x00003F00, 0x00000000,
     0xFFFFFFFE, 0xFFFFFC00, 0x00000000, 0xFFFE0000,
-    0xFEFF00FF, 0xDFFFFFFF, 0x001FDFFF, 0x00000000,
+    0xFEFF00FF, 0xDFFFFFFF, 0x01FFDFFF, 0x00000000,
     0x00000000, 0x7FFFF800, 0xC3C0FC00, 0x001E3F9D,
-    0xC000BFFC, 0x00000000, 0x00000000, 0x08000000,
+    0xFC00BFFC, 0x00000000, 0x00000000, 0x08000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x80000000, 0x1FFFFFFF,
     0x03FF0000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000001, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00006000,
     0x18000000, 0x00000000, 0x00000000, 0x00003800,
     0x001C0000, 0x007C0000, 0x000C0000, 0x000C0000,
@@ -598,33 +602,33 @@
     0x00000000, 0x00000200, 0x00000000, 0x00000000,
     0x00000000, 0x0FFF0FFF, 0x00000031, 0x00000000,
     0x00000000, 0xFFFF0000, 0xC0000301, 0xFFFFFFFF,
-    0xCF800000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xCF800000, 0x00000000, 0x7FE00000, 0x9FFFFFFF,
+    0x00000000, 0x00003F7F, 0x00000000, 0x00000000,
     0x0000001F, 0xFFF00000, 0xFC00001F, 0x1FFFFFFF,
     0x00000007, 0x000007FE, 0x00000000, 0x00000000,
     0x00000000, 0xF8FFFFF0, 0x00000000, 0xC0000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0xFFFF0000, 0x000421FF,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0xFFFFFFFF, 0xC000007F,
+    0x00000000, 0x00000000, 0xFFFFFFFF, 0xE000007F,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0xA0000000, 0xE000E003, 0x6000E000,
     0xFFFFF880, 0xFFFFFCFF, 0x7FFFFFFF, 0x7FF1FC1F,
-    0x00007FFF, 0x003FFFFF, 0xFFFF0000, 0x0001FFFF,
-    0xC1D0037B, 0x0C0040AF, 0xFFF8BC1F, 0x00000000,
-    0xFFFF0000, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x00007FFF, 0x01FFFFFF, 0xFFFF0000, 0x0001FFFF,
+    0xC1D0037B, 0x0C0040AF, 0xFFFFBC1F, 0x00000000,
+    0xFFFF0200, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x000000FF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x000001FF,
     0xFFFFFFFF, 0x0000007F, 0x000007FF, 0xFFFFFFFF,
     0x0FFFFFFF, 0x00000000, 0x00000000, 0xFFFFFC00,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0x3FFFFFFF, 0x1FFFFFFF, 0x0000000F, 0x00000000,
-    0xFFFFF3DE, 0xFFFFFEFF, 0x7F47AFFF, 0xFFFFFFFE,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFBFFF, 0xFFFFFF0B,
+    0xFFFFF3DE, 0xFFFFFEFF, 0x7FC7AFFF, 0xFFFFFFFE,
     0xFF1FFFFF, 0x7FFEFFFF, 0xFFFF17FF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
@@ -632,13 +636,13 @@
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0x001F1FFF, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x03FF1FFF, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0xFE0007E0,
+    0x00000000, 0x00000000, 0x00000000, 0xFE0387E0,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0xFFFFFFFF,
-    0xFFFFFFFF, 0x00017FFF, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0x00037FFF, 0x00000000, 0x00000000,
     0xFBFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x000FFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0x003FFFFF, 0x0FFF0000,
@@ -646,7 +650,7 @@
     0x1E000000, 0x00000001, 0x00000000, 0x08000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0xFFFF0000, 0x00000000, 0xFFFFFFFF, 0x0000000F,
-    0x7FFFFFFF, 0xFFFFFFFF, 0xFFFF000F, 0xFFFFFFFF,
+    0x7FFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x7FFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
@@ -655,21 +659,21 @@
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0xFFFFFFFF, 0xFFFFFFFF,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0xFFFF0000, 0xFFFFFFFF, 0x0000007F, 0x00000000,
+    0xFFFF0000, 0xFFFFFFFF, 0x0000007F, 0xC0000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x0000E000, 0x00000000, 0x00000000, 0x700F8000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00FF0000,
     0x007FFFFF, 0x00000003, 0x00000000, 0x00000000,
     0x00000600, 0x00000000, 0x00000000, 0x00000000,
-    0x00000844, 0x00000FF8, 0x00000000, 0x00F00000,
-    0x00000003, 0xFFF00000, 0x0000C01F, 0x00000000,
+    0x00000844, 0x03FF0FF8, 0x00000000, 0x00F00000,
+    0x00000003, 0xFFF00000, 0x0000C01F, 0x0703FFFF,
     0x00000000, 0x0000FFC0, 0x800FFF80, 0x00000000,
+    0x0000000F, 0xFFF80000, 0xC0003FFF, 0x00000000,
+    0x00000000, 0x007FFE00, 0xF0003008, 0x0B800000,
+    0x00000000, 0xC19D0000, 0xC0000002, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x007FFE00, 0xF0003008, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00003FF8,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
@@ -694,12 +698,20 @@
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x0000000F, 0x00000000, 0x00000000,
     0x80000000, 0x00000000, 0x00010000, 0x00000000,
+    0x00000000, 0x00000000, 0xFF800000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x8FC00000, 0x80000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x0000F06E, 0x87000000, 0x01FF00FF, 0xE0000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0xFE000000, 0xFF000000, 0xFF000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x7FFFFFFF,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x83C00000, 0x80000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x0000F06E, 0x87000000, 0x01FF00FF, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000007, 0xFFFF0000, 0x00000003, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x000F0000,
@@ -720,6 +732,10 @@
     0x00000200, 0x00000200, 0x00000008, 0x00000000,
     0xFFFFFFFF, 0xFFFF0FFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0x000FFFFF, 0x00000000, 0x00000000, 0x00000000,
+    0x000007FF, 0x00006000, 0x00007C00, 0x00000000,
+    0x00013800, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFF0001, 0x0003FFFF, 0x000001FF, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000002, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
--- a/lib/unictype/ctype_space.h
+++ b/lib/unictype/ctype_space.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* ISO C <ctype.h> like properties of Unicode characters.  */
-/* Generated automatically by gen-ctype.c for Unicode 5.1.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 5.2.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
--- a/lib/unictype/ctype_upper.h
+++ b/lib/unictype/ctype_upper.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* ISO C <ctype.h> like properties of Unicode characters.  */
-/* Generated automatically by gen-ctype.c for Unicode 5.1.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 5.2.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
@@ -289,7 +289,7 @@
     0xFFFED740, 0x00000FFB, 0x55008000, 0xE6905555,
     0xFFFFFFFF, 0x0000FFFF, 0x00000000, 0x55555555,
     0x55555401, 0x55555555, 0x55552AAB, 0x55555555,
-    0x55555555, 0xFFFE0005, 0x007FFFFF, 0x00000000,
+    0x55555555, 0xFFFE0015, 0x007FFFFF, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0xFFFFFFFF, 0x0000003F, 0x00000000,
@@ -307,8 +307,8 @@
     0x00000000, 0xFFC00000, 0x0000FFFF, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0xFFFFFFFF, 0x00007FFF, 0x00000000, 0x0024EA9D,
-    0x55555555, 0x55555555, 0x55555555, 0x00000005,
+    0xFFFFFFFF, 0x00007FFF, 0x00000000, 0xC025EA9D,
+    0x55555555, 0x55555555, 0x55555555, 0x00002805,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x55555555, 0x00001554,
--- a/lib/unictype/ctype_xdigit.h
+++ b/lib/unictype/ctype_xdigit.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* ISO C <ctype.h> like properties of Unicode characters.  */
-/* Generated automatically by gen-ctype.c for Unicode 5.1.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 5.2.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
--- a/lib/unictype/decdigit.h
+++ b/lib/unictype/decdigit.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Decimal digit values of Unicode characters.  */
-/* Generated automatically by gen-ctype.c for Unicode 5.1.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 5.2.0.  */
 #define decdigit_header_0 16
 #define decdigit_header_1 2
 #define decdigit_header_2 7
@@ -11,7 +11,7 @@
   {
     int level1[2];
     short level2[2 << 9];
-    unsigned char level3[12 << 6];
+    unsigned char level3[14 << 6];
   }
 u_decdigit =
 {
@@ -23,8 +23,8 @@
       512,   512,   512,    -1,   640,   640,   768,    -1,
       384,   896,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,   128,
-      896,    -1,  1024,   640,    -1,    -1,   640,     0,
-     1152,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      896,    -1,  1024,  1152,    -1,  1280,   640,     0,
+     1408,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
@@ -59,7 +59,7 @@
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,   768,    -1,    -1,    -1,
-       -1,   640,  1280,    -1,   640,    -1,    -1,    -1,
+       -1,   640,  1536,   640,   640,    -1,    -1,   256,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
@@ -134,7 +134,7 @@
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1408,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1664,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
@@ -223,6 +223,22 @@
     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x21, 0x43, 0x65, 0x87, 0xa9, 0x02, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x21, 0x43, 0x65, 0x87, 0xa9, 0x00, 0x00, 0x00,
+    0x21, 0x43, 0x65, 0x87, 0xa9, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     0x21, 0x43, 0x65, 0x87, 0xa9, 0x00, 0x00, 0x00,
     0x21, 0x43, 0x65, 0x87, 0xa9, 0x00, 0x00, 0x00,
     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
--- a/lib/unictype/digit.h
+++ b/lib/unictype/digit.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Digit values of Unicode characters.  */
-/* Generated automatically by gen-ctype.c for Unicode 5.1.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 5.2.0.  */
 #define digit_header_0 16
 #define digit_header_1 2
 #define digit_header_2 7
@@ -11,7 +11,7 @@
   {
     int level1[2];
     short level2[2 << 9];
-    unsigned char level3[20 << 6];
+    unsigned char level3[24 << 6];
   }
 u_digit =
 {
@@ -23,10 +23,10 @@
       640,   640,   640,    -1,   768,   768,   896,    -1,
       512,  1024,    -1,    -1,    -1,    -1,  1152,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,   256,
-     1024,    -1,  1280,   768,    -1,    -1,   768,     0,
-     1408,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-     1536,  1664,    -1,    -1,    -1,    -1,    -1,    -1,
-     1792,  1920,    -1,    -1,    -1,    -1,  2048,  2176,
+     1024,    -1,  1280,  1408,    -1,  1536,   768,     0,
+     1664,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+     1792,  1920,    -1,    -1,    -1,    -1,    -1,    -1,
+     2048,  2176,    -1,    -1,    -1,    -1,  2304,  2432,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
@@ -59,7 +59,7 @@
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,   896,    -1,    -1,    -1,
-       -1,   768,  1664,    -1,   768,    -1,    -1,    -1,
+       -1,   768,  1920,   768,   768,    -1,    -1,   384,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
@@ -83,7 +83,8 @@
        -1,    -1,    -1,    -1,    -1,    -1,  1024,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,   896,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,    -1,    -1,  2304,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,  2560,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,  2688,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
@@ -133,15 +134,14 @@
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,    -1,    -1,    -1,    -1,    -1,  2432,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,  2816,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,  2944,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1
@@ -239,6 +239,22 @@
     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x21, 0x43, 0x65, 0x87, 0xa9, 0x02, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x21, 0x43, 0x65, 0x87, 0xa9, 0x00, 0x00, 0x00,
+    0x21, 0x43, 0x65, 0x87, 0xa9, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     0x21, 0x43, 0x65, 0x87, 0xa9, 0x00, 0x00, 0x00,
     0x21, 0x43, 0x65, 0x87, 0xa9, 0x00, 0x00, 0x00,
     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
@@ -303,9 +319,25 @@
     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x32, 0x54, 0x76, 0x98, 0x0a, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x21,
     0x43, 0x65, 0x87, 0xa9, 0x21, 0x43, 0x65, 0x87,
     0xa9, 0x21, 0x43, 0x65, 0x87, 0xa9, 0x21, 0x43,
-    0x65, 0x87, 0xa9, 0x21, 0x43, 0x65, 0x87, 0xa9
+    0x65, 0x87, 0xa9, 0x21, 0x43, 0x65, 0x87, 0xa9,
+    0x11, 0x32, 0x54, 0x76, 0x98, 0x0a, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
   }
 };
--- a/lib/unictype/mirror.h
+++ b/lib/unictype/mirror.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Mirrored Unicode characters.  */
-/* Generated automatically by gen-ctype.c for Unicode 5.1.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 5.2.0.  */
 #define mirror_header_0 16
 #define mirror_header_1 2
 #define mirror_header_2 7
--- a/lib/unictype/numeric.h
+++ b/lib/unictype/numeric.h
@@ -1,7 +1,7 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Numeric values of Unicode characters.  */
-/* Generated automatically by gen-ctype.c for Unicode 5.1.0.  */
-static const uc_fraction_t u_numeric_values[108] =
+/* Generated automatically by gen-uni-tables.c for Unicode 5.2.0.  */
+static const uc_fraction_t u_numeric_values[113] =
 {
   { 0, 0 },
   { 0, 1 },
@@ -107,10 +107,15 @@
   { 4, 5 },
   { 1, 6 },
   { 5, 6 },
+  { 1, 7 },
   { 1, 8 },
   { 3, 8 },
   { 5, 8 },
-  { 7, 8 }
+  { 7, 8 },
+  { 1, 9 },
+  { 1, 10 },
+  { 1, 16 },
+  { 3, 16 }
 };
 #define numeric_header_0 16
 #define numeric_header_1 3
@@ -122,7 +127,7 @@
   {
     int level1[3];
     short level2[3 << 9];
-    unsigned short level3[44 * 56 + 1];
+    unsigned short level3[52 * 56 + 1];
   }
 u_numeric =
 {
@@ -134,13 +139,13 @@
      1024,   640,  1152,    -1,  1280,  1280,  1408,    -1,
       512,  1536,    -1,    -1,    -1,    -1,  1664,    -1,
        -1,    -1,    -1,    -1,    -1,  1792,    -1,  1920,
-     1536,    -1,  2048,  1280,    -1,    -1,  1280,     0,
-     2176,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-     2304,  2432,  2560,  2688,    -1,    -1,    -1,    -1,
-     2816,  2944,    -1,    -1,    -1,    -1,  3072,  3200,
+     1536,    -1,  2048,  2176,    -1,  2304,  1280,     0,
+     2432,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+     2560,  2688,  2816,  2944,    -1,    -1,    -1,    -1,
+     3072,  3200,    -1,    -1,    -1,    -1,  3328,  3456,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,  3328,    -1,    -1,    -1,    -1,    -1,    -1,
-     3456,    -1,    -1,  3584,  3712,  3840,    -1,    -1,
+       -1,  3584,    -1,    -1,    -1,    -1,    -1,    -1,
+     3712,    -1,    -1,  3840,  3968,  4096,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
@@ -169,8 +174,8 @@
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,    -1,    -1,  3968,    -1,    -1,    -1,
-       -1,  1280,  2432,    -1,  1280,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,  4224,  4352,    -1,    -1,
+     4480,  1280,  2688,  1280,  1280,    -1,    -1,   384,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
@@ -190,18 +195,18 @@
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,  4096,  4224,    -1,    -1,    -1,    -1,
+       -1,    -1,  4608,  4736,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,  1536,    -1,
-       -1,    -1,  4352,  4480,    -1,    -1,  4608,  4736,
-       -1,  3968,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,  4864,    -1,  4992,    -1,    -1,    -1,
+       -1,    -1,  4864,  4992,    -1,    -1,  5120,  5248,
+       -1,  4224,    -1,    -1,    -1,    -1,    -1,    -1,
+     5376,    -1,  5504,    -1,  5632,    -1,  5760,    -1,
+       -1,    -1,    -1,    -1,  5888,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-     5120,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+     6016,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
@@ -244,8 +249,15 @@
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,    -1,    -1,    -1,    -1,  5248,    -1,
-       -1,    -1,    -1,    -1,    -1,    -1,    -1,  5376,
+       -1,    -1,    -1,    -1,    -1,    -1,  6144,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,  6272,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,  6400,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
@@ -311,14 +323,7 @@
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,  5504,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,  6528,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1
   },
   {
@@ -370,7 +375,7 @@
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0400, 0x0304, 0xc142, 0x4070,
-    0x1424, 0x0000, 0x2000, 0x1018, 0x800a, 0x0008, 0x0000, 0x0000,
+    0x1424, 0x0000, 0xf000, 0xc34e, 0xe1c1, 0x0008, 0x0000, 0x0000,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
@@ -444,6 +449,20 @@
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0xc101, 0x5080, 0x1c30, 0x0910, 0x0085,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0xc101, 0x5080, 0x1c30, 0x0910, 0x0005, 0x0000, 0x0000, 0xc101,
+    0x5080, 0x1c30, 0x0910, 0x0005, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
     0x0000, 0x0000, 0x0000, 0x0000, 0xc101, 0x5080, 0x1c30, 0x0910,
     0x0005, 0x0000, 0x0000, 0xc101, 0x5080, 0x1c30, 0x0910, 0x0005,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
@@ -466,10 +485,10 @@
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
-    0x0000, 0x0000, 0x0000, 0x0000, 0xfbc0, 0x8f15, 0x65c9, 0x19f3,
-    0x569d, 0x05af, 0x0182, 0x60a1, 0x2038, 0x8a12, 0xa305, 0xc331,
+    0x0000, 0x0000, 0x0000, 0xb6e8, 0xfbdb, 0x8f15, 0x65c9, 0x39f3,
+    0x5ead, 0x05b3, 0x0182, 0x60a1, 0x2038, 0x8a12, 0xa305, 0xc331,
     0x82f1, 0x0182, 0x60a1, 0x2038, 0x8a12, 0xa305, 0xc331, 0x82f1,
-    0xa2c1, 0x0012, 0xcc38, 0x539c, 0x0000, 0x0000, 0x0000, 0x0000,
+    0xa2c1, 0x0012, 0xcc38, 0xd39c, 0x0000, 0x0000, 0x0000, 0x0000,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
@@ -551,6 +570,20 @@
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0800, 0x8406, 0xe182, 0x4880,
+    0x0228, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6ae0, 0x9df8, 0x0386,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0x0000,
     0x0000, 0x0000, 0x0160, 0x0000, 0x0300, 0x0000, 0x0000, 0x0000,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
@@ -589,7 +622,14 @@
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
-    0x0000, 0x0800, 0x1516, 0x001c, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8200, 0x6101,
+    0xc151, 0x9505, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0800, 0x1516, 0x80dc, 0x0000, 0x0000, 0x0000, 0x0000,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
@@ -601,13 +641,27 @@
     0x0000, 0x0000, 0x0000, 0x0000, 0x0182, 0xb0a1, 0xe0a8, 0x0082,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1000, 0x00cc,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8200, 0xa101,
+    0xa8b0, 0x82e0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x8200, 0xa101, 0xa8b0, 0x82e0,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0182, 0x60a1, 0x2038, 0x8a12, 0xe545, 0x9a93,
+    0x6ad1, 0x1bb6, 0xa72e, 0xf1db, 0xbe7a, 0xb01f, 0xf60a, 0x017e,
     0x4203, 0x70c1, 0x2440, 0x8414, 0xe182, 0x4880, 0x0a28, 0x0386,
     0xa122, 0x0c10, 0x0508, 0x01c3, 0x5091, 0x0608, 0x8284, 0x4061,
     0x1420, 0x070c, 0x4244, 0x1821, 0x0810, 0x0305, 0x2000, 0x1018,
     0x0508, 0x8103, 0x2850, 0x0a14, 0x0407, 0x9102, 0x2848, 0x0a14,
     0x80c5, 0x3050, 0x041c, 0x4203, 0x60a1, 0x0030, 0x8200, 0xf781,
-    0xf67b, 0xd17e, 0x3360, 0x0018, 0x0000, 0x0000, 0x0000, 0x0000,
+    0xf67b, 0xd37e, 0x3360, 0x0018, 0x0000, 0x0000, 0x0000, 0x0000,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
@@ -623,6 +677,13 @@
     0x0000, 0x0000, 0x0404, 0x4203, 0x70c1, 0x2440, 0x0114, 0x80c1,
     0x3050, 0x101c, 0x4509, 0x3040, 0x1420, 0x070c, 0x4244, 0x1011,
     0x080c, 0xc305, 0x9101, 0x0450, 0x0304, 0xc142, 0x4070, 0x1424,
+    0x8081, 0x4060, 0x1828, 0x880e, 0x0284, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x000a,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
--- a/lib/unictype/pr_alphabetic.h
+++ b/lib/unictype/pr_alphabetic.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-ctype.c for Unicode 5.1.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 5.2.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
@@ -11,7 +11,7 @@
     int header[1];
     int level1[3];
     short level2[3 << 7];
-    /*unsigned*/ int level3[44 << 4];
+    /*unsigned*/ int level3[48 << 4];
   }
 u_property_alphabetic =
 {
@@ -156,9 +156,9 @@
        -1,
         4 +   384 * sizeof (short) / sizeof (int) +   576,
         4 +   384 * sizeof (short) / sizeof (int) +   592,
-       -1,
+        4 +   384 * sizeof (short) / sizeof (int) +   608,
        -1,
-       -1,
+        4 +   384 * sizeof (short) / sizeof (int) +   624,
        -1,
        -1,
        -1,
@@ -167,8 +167,16 @@
        -1,
        -1,
         4 +   384 * sizeof (short) / sizeof (int) +   336,
-        4 +   384 * sizeof (short) / sizeof (int) +   608,
-        4 +   384 * sizeof (short) / sizeof (int) +   624,
+        4 +   384 * sizeof (short) / sizeof (int) +   640,
+        4 +   384 * sizeof (short) / sizeof (int) +   656,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        4 +   384 * sizeof (short) / sizeof (int) +   336,
+        4 +   384 * sizeof (short) / sizeof (int) +   336,
+        4 +   384 * sizeof (short) / sizeof (int) +   672,
        -1,
        -1,
        -1,
@@ -248,16 +256,8 @@
        -1,
        -1,
        -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-        4 +   384 * sizeof (short) / sizeof (int) +   640,
-        4 +   384 * sizeof (short) / sizeof (int) +   656,
+        4 +   384 * sizeof (short) / sizeof (int) +   688,
+        4 +   384 * sizeof (short) / sizeof (int) +   704,
        -1,
        -1,
        -1,
@@ -361,15 +361,15 @@
         4 +   384 * sizeof (short) / sizeof (int) +   336,
         4 +   384 * sizeof (short) / sizeof (int) +   336,
         4 +   384 * sizeof (short) / sizeof (int) +   336,
-        4 +   384 * sizeof (short) / sizeof (int) +   672,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
+        4 +   384 * sizeof (short) / sizeof (int) +   720,
+        4 +   384 * sizeof (short) / sizeof (int) +   336,
+        4 +   384 * sizeof (short) / sizeof (int) +   336,
+        4 +   384 * sizeof (short) / sizeof (int) +   336,
+        4 +   384 * sizeof (short) / sizeof (int) +   336,
+        4 +   384 * sizeof (short) / sizeof (int) +   336,
+        4 +   384 * sizeof (short) / sizeof (int) +   336,
+        4 +   384 * sizeof (short) / sizeof (int) +   336,
+        4 +   384 * sizeof (short) / sizeof (int) +   736,
        -1,
        -1,
        -1,
@@ -403,7 +403,7 @@
        -1,
        -1,
         4 +   384 * sizeof (short) / sizeof (int) +   336,
-        4 +   384 * sizeof (short) / sizeof (int) +   688,
+        4 +   384 * sizeof (short) / sizeof (int) +   752,
        -1,
        -1
   },
@@ -418,15 +418,15 @@
     0xFFFFD740, 0xFFFFFFFB, 0xFFFFFFFF, 0xFFBFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFC03, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFE000F, 0x027FFFFF, 0xFFFFFFFE,
+    0xFFFFFFFF, 0xFFFE003F, 0x027FFFFF, 0xFFFFFFFE,
     0x000000FF, 0xBFFF0000, 0xFFFF00B6, 0x000707FF,
     0x07FF0000, 0xFFFFFFFE, 0x7EFFFFFF, 0xFFFFC000,
     0xFFFFFFFF, 0xFFFFFFFF, 0x1FEFFFFF, 0x9C00E1FE,
     0xFFFF0000, 0xFFFFFFFF, 0xFFFFE000, 0xFFFFFFFF,
     0xFFFFFFFF, 0x0003FFFF, 0xFFFFFC00, 0x043007FF,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFCFFFFFF, 0x00001FFF, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0xFFFFFFFE, 0xE3FFFFFF, 0xFF011FFF, 0xF806000F,
+    0xFFFFFFFF, 0xE3FFFFFF, 0xFF215FFF, 0xFE06000F,
     0xFFF99FEE, 0xE3C5FDFF, 0xB080599F, 0x0003000F,
     0xFFF987EE, 0xC36DFDFF, 0x5E021987, 0x003F0000,
     0xFFFBBFEE, 0xE3EDFDFF, 0x00011BBF, 0x0000000F,
@@ -441,9 +441,9 @@
     0x00000001, 0x00000000, 0xFFFFFEFF, 0xFFFE1FFF,
     0xFEFF0F03, 0x1FFFFFFF, 0x00000000, 0x00000000,
     0xFFFFFFFF, 0xF97FFFFF, 0xFFFF0000, 0xFFFFC1E7,
-    0x0000407F, 0xFFFFFFFF, 0xFFFF003F, 0x17FFFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0x83FFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFFFF07, 0xFFFFFFFF, 0x03FFFFFF,
+    0x3000407F, 0xFFFFFFFF, 0xFFFF003F, 0x17FFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0x3D7F3DFF, 0xFFFFFFFF,
     0xFFFF3DFF, 0x7F3DFFFF, 0xFF7FFF3D, 0xFFFFFFFF,
     0xFF3DFFFF, 0xFFFFFFFF, 0x87FFFFFF, 0x00000000,
@@ -452,20 +452,20 @@
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x007F9FFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFF9FFF,
     0x07FFFFFE, 0xFFFFFFFF, 0xFFFFFFFF, 0x0001C7FF,
     0x000FDFFF, 0x000FFFFF, 0x000FFFFF, 0x000DDFFF,
     0xFFFFFFFF, 0xFFCFFFFF, 0x108001FF, 0x00000000,
     0x00000000, 0xFFFFFFFF, 0xFFFFFFFF, 0x00FFFFFF,
-    0xFFFFFFFF, 0x000007FF, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFF07FF, 0xFFFFFFFF, 0x003FFFFF,
     0x1FFFFFFF, 0x01FF0FFF, 0xFFFF0000, 0x001F3FFF,
-    0xFFFFFFFF, 0xFFFF03FF, 0x000003FF, 0x00000000,
-    0x0FFFFFFF, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFF0FFF, 0x000003FF, 0x00000000,
+    0x0FFFFFFF, 0xFFFFFFFF, 0x7FFFFFFF, 0x001FFFFE,
+    0x00000000, 0x00000080, 0x00000000, 0x00000000,
     0xFFFFFFFF, 0xFFEFFFFF, 0x00000FEF, 0x00000000,
     0xFFFFFFFF, 0x0000C3FF, 0x00000000, 0x00000000,
     0xFFFFFFFF, 0x003FFFFF, 0xFC00E000, 0x3FFFFFFF,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x0007DE00,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0x00000000, 0x00000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
@@ -480,8 +480,8 @@
     0x00000000, 0xFFC00000, 0xFFFFFFFF, 0x000003FF,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0xFFFFFFFF, 0xFFFF7FFF, 0x7FFFFFFF, 0x3FFEFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x0000001F,
+    0xFFFFFFFF, 0xFFFF7FFF, 0x7FFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x0000781F,
     0xFFFFFFFF, 0xFFFF003F, 0xFFFFFFFF, 0x0000803F,
     0x007FFFFF, 0x7F7F7F7F, 0x7F7F7F7F, 0xFFFFFFFF,
     0x00000000, 0x00008000, 0x00000000, 0x00000000,
@@ -503,32 +503,32 @@
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0x0000000F, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x00000FFF, 0x00000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0x00001FFF, 0x00000000, 0x00000000, 0x00000000,
+    0x00001FFF, 0x00000000, 0xFFFF0000, 0x3FFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFF1FFF, 0x00000C00, 0xFFFFFFFF, 0x80007FFC,
-    0x00FFFFFF, 0x00000000, 0x00000000, 0x00000000,
+    0x00FFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x0000FFFF,
     0xFF800000, 0xFFFFFFFC, 0xFFFFFFFF, 0xFFFFFFFF,
     0x000019FF, 0x00000000, 0x00000000, 0xF8000000,
     0xFFFFF7BB, 0x000000FF, 0xFFFFFFFF, 0x000FFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0x0000000F, 0x00000000,
-    0xFFFFFC00, 0xFFFF07FF, 0x0007FFFF, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x0000000F, 0x08FC0000,
+    0xFFFFFC00, 0xFFFF07FF, 0x0007FFFF, 0x1FFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x00008000, 0x00000000,
+    0xFFFFFFFF, 0x007FFFFF, 0x00003FFF, 0x047FFFFF,
+    0xFFFFFFFF, 0x7FFFFFFF, 0x38000005, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0xFFFFFFFF, 0x007FFFFF, 0x00003FFF, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0xFFFFFFFF, 0x000007FF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFF000F, 0xFFFFF87F, 0x0FFFFFFF,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0x0000000F, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFF3FFF, 0xFFFFFFFF, 0xFFFF07FF,
+    0xFFFFFFFF, 0xFFFF3FFF, 0xFFFFFFFF, 0xFFFF3FFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0x03FFFFFF, 0x00000000,
     0xE0F8007F, 0x5F7FFDFF, 0xFFFFFFDB, 0xFFFFFFFF,
     0xFFFFFFFF, 0x0003FFFF, 0xFFF80000, 0xFFFFFFFF,
@@ -552,12 +552,20 @@
     0x3FFFFFFF, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0xFFFFFD3F, 0x91BFFFFF, 0x00000000, 0x00000000,
+    0xFFFFFD3F, 0x91BFFFFF, 0x003FFFFF, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x003FFFFF, 0x03FFFFFF, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0xFEEFF06F, 0x000FFFFF, 0x00000000, 0x00000000,
+    0xFEEFF06F, 0x000FFFFF, 0x00000000, 0x1FFFFFFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0x003FFFFF, 0x003FFFFF, 0x0007FFFF,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x000001FF, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFC, 0x01FFFFFF, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
@@ -568,6 +576,10 @@
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0x00007FFF, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFDFFFFF, 0xFFFFFFFF,
     0xDFFFFFFF, 0xEBFFDE64, 0xFFFFFFEF, 0xFFFFFFFF,
     0xDFDFE7BF, 0x7BFFFFFF, 0xFFFDFC5F, 0xFFFFFFFF,
@@ -578,7 +590,11 @@
     0xFFFFFDFF, 0xFFFFFDFF, 0x00000FF7, 0x00000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0x007FFFFF, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0x001FFFFF, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x3FFFFFFF, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
--- a/lib/unictype/pr_ascii_hex_digit.h
+++ b/lib/unictype/pr_ascii_hex_digit.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-ctype.c for Unicode 5.1.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 5.2.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
--- a/lib/unictype/pr_bidi_arabic_digit.h
+++ b/lib/unictype/pr_bidi_arabic_digit.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-ctype.c for Unicode 5.1.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 5.2.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
@@ -9,19 +9,84 @@
 struct
   {
     int header[1];
-    int level1[1];
-    short level2[1 << 7];
-    /*unsigned*/ int level3[1 << 4];
+    int level1[2];
+    short level2[2 << 7];
+    /*unsigned*/ int level3[2 << 4];
   }
 u_property_bidi_arabic_digit =
 {
-  { 1 },
-  {     2 * sizeof (int) / sizeof (short) +     0 },
+  { 2 },
+  {
+        3 * sizeof (int) / sizeof (short) +     0,
+        3 * sizeof (int) / sizeof (short) +   128
+  },
   {
        -1,
        -1,
        -1,
-        2 +   128 * sizeof (short) / sizeof (int) +     0,
+        3 +   256 * sizeof (short) / sizeof (int) +     0,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
        -1,
        -1,
        -1,
@@ -91,6 +156,72 @@
        -1,
        -1,
        -1,
+        3 +   256 * sizeof (short) / sizeof (int) +    16,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
        -1,
        -1,
        -1,
@@ -151,6 +282,10 @@
     0x0000000F, 0x00000000, 0x00000000, 0x00001BFF,
     0x00000000, 0x00000000, 0x20000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x7FFFFFFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000
   }
 };
--- a/lib/unictype/pr_bidi_arabic_right_to_left.h
+++ b/lib/unictype/pr_bidi_arabic_right_to_left.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-ctype.c for Unicode 5.1.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 5.2.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
--- a/lib/unictype/pr_bidi_block_separator.h
+++ b/lib/unictype/pr_bidi_block_separator.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-ctype.c for Unicode 5.1.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 5.2.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
--- a/lib/unictype/pr_bidi_boundary_neutral.h
+++ b/lib/unictype/pr_bidi_boundary_neutral.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-ctype.c for Unicode 5.1.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 5.2.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
--- a/lib/unictype/pr_bidi_common_separator.h
+++ b/lib/unictype/pr_bidi_common_separator.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-ctype.c for Unicode 5.1.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 5.2.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
--- a/lib/unictype/pr_bidi_control.h
+++ b/lib/unictype/pr_bidi_control.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-ctype.c for Unicode 5.1.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 5.2.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
--- a/lib/unictype/pr_bidi_embedding_or_override.h
+++ b/lib/unictype/pr_bidi_embedding_or_override.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-ctype.c for Unicode 5.1.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 5.2.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
--- a/lib/unictype/pr_bidi_eur_num_separator.h
+++ b/lib/unictype/pr_bidi_eur_num_separator.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-ctype.c for Unicode 5.1.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 5.2.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
--- a/lib/unictype/pr_bidi_eur_num_terminator.h
+++ b/lib/unictype/pr_bidi_eur_num_terminator.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-ctype.c for Unicode 5.1.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 5.2.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
@@ -11,7 +11,7 @@
     int header[1];
     int level1[1];
     short level2[1 << 7];
-    /*unsigned*/ int level3[9 << 4];
+    /*unsigned*/ int level3[10 << 4];
   }
 u_property_bidi_eur_num_terminator =
 {
@@ -102,6 +102,7 @@
        -1,
        -1,
        -1,
+        2 +   128 * sizeof (short) / sizeof (int) +   128,
        -1,
        -1,
        -1,
@@ -144,8 +145,7 @@
        -1,
        -1,
        -1,
-       -1,
-        2 +   128 * sizeof (short) / sizeof (int) +   128
+        2 +   128 * sizeof (short) / sizeof (int) +   144
   },
   {
     0x00000000, 0x00000038, 0x00000000, 0x00000000,
@@ -159,7 +159,7 @@
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x000C0000,
+    0x00000000, 0x00000000, 0x00000000, 0x080C0000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00020000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
@@ -173,13 +173,17 @@
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x08000000, 0x00000000,
     0x00000000, 0x001F0000, 0x00000000, 0x00000000,
-    0x00000000, 0x003FFFFF, 0x00000000, 0x00000000,
+    0x00000000, 0x01FFFFFF, 0x00000000, 0x00000000,
     0x00000000, 0x00004000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00080000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x03000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x80000000, 0x00000600,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000038, 0x00000000, 0x00000000, 0x00000000,
--- a/lib/unictype/pr_bidi_european_digit.h
+++ b/lib/unictype/pr_bidi_european_digit.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-ctype.c for Unicode 5.1.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 5.2.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
@@ -11,7 +11,7 @@
     int header[1];
     int level1[2];
     short level2[2 << 7];
-    /*unsigned*/ int level3[6 << 4];
+    /*unsigned*/ int level3[7 << 4];
   }
 u_property_bidi_european_digit =
 {
@@ -269,7 +269,7 @@
        -1,
        -1,
        -1,
-       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +    96,
        -1,
        -1,
        -1,
@@ -302,6 +302,10 @@
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0xFFFFC000, 0xFFFFFFFF
+    0x00000000, 0x00000000, 0xFFFFC000, 0xFFFFFFFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x000007FF, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000
   }
 };
--- a/lib/unictype/pr_bidi_hebrew_right_to_left.h
+++ b/lib/unictype/pr_bidi_hebrew_right_to_left.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-ctype.c for Unicode 5.1.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 5.2.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
@@ -11,7 +11,7 @@
     int header[1];
     int level1[2];
     short level2[2 << 7];
-    /*unsigned*/ int level3[8 << 4];
+    /*unsigned*/ int level3[9 << 4];
   }
 u_property_bidi_hebrew_right_to_left =
 {
@@ -156,7 +156,7 @@
         3 +   256 * sizeof (short) / sizeof (int) +    80,
         3 +   256 * sizeof (short) / sizeof (int) +    96,
         3 +   256 * sizeof (short) / sizeof (int) +   112,
-        3 +   256 * sizeof (short) / sizeof (int) +   112,
+        3 +   256 * sizeof (short) / sizeof (int) +   128,
        -1,
        -1,
        -1,
@@ -287,7 +287,7 @@
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0xFFFFFFFF, 0xFC3007FF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x043FFFFF, 0xFFFFC110, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
@@ -305,11 +305,15 @@
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFF0F91, 0x78FFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0x01FFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x80000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
   }
 };
--- a/lib/unictype/pr_bidi_left_to_right.h
+++ b/lib/unictype/pr_bidi_left_to_right.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-ctype.c for Unicode 5.1.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 5.2.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
@@ -11,7 +11,7 @@
     int header[1];
     int level1[17];
     short level2[4 << 7];
-    /*unsigned*/ int level3[38 << 4];
+    /*unsigned*/ int level3[40 << 4];
   }
 u_property_bidi_left_to_right =
 {
@@ -62,364 +62,364 @@
        18 +   512 * sizeof (short) / sizeof (int) +   352,
        18 +   512 * sizeof (short) / sizeof (int) +   368,
        18 +   512 * sizeof (short) / sizeof (int) +   384,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   416,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
        18 +   512 * sizeof (short) / sizeof (int) +   400,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   416,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
        18 +   512 * sizeof (short) / sizeof (int) +   432,
        18 +   512 * sizeof (short) / sizeof (int) +   448,
        18 +   512 * sizeof (short) / sizeof (int) +   464,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
        18 +   512 * sizeof (short) / sizeof (int) +   480,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   496,
        -1,
-       18 +   512 * sizeof (short) / sizeof (int) +   496,
        18 +   512 * sizeof (short) / sizeof (int) +   512,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   528,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
        -1,
        -1,
        -1,
        -1,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   528,
        18 +   512 * sizeof (short) / sizeof (int) +   544,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
        18 +   512 * sizeof (short) / sizeof (int) +   560,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
        18 +   512 * sizeof (short) / sizeof (int) +   576,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
        18 +   512 * sizeof (short) / sizeof (int) +   592,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   592,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   608,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   624,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   624,
        -1,
        -1,
        -1,
@@ -428,126 +428,126 @@
        -1,
        -1,
        -1,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   144,
-       18 +   512 * sizeof (short) / sizeof (int) +   592
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   400,
+       18 +   512 * sizeof (short) / sizeof (int) +   624
   },
   {
     0x00000000, 0x00000000, 0x07FFFFFE, 0x07FFFFFE,
@@ -564,8 +564,8 @@
     0x0000FBFF, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0xFFFFFFF9, 0xEFFFFFFF, 0xFFE1DE01, 0xFFFFFFF3,
-    0xFFFFFFFD, 0xEFFFFFFF, 0xFFFFDFE1, 0xFFF3FFF3,
+    0xFFFFFFF8, 0xEFFFFFFF, 0xFFC1DE01, 0xFFFFFFF3,
+    0xFFFFFFFD, 0xEFFFFFFF, 0xFFFFDFE1, 0xF7F3FFF3,
     0xFFFFFFF9, 0xEFFFFFFF, 0xFFFDC679, 0xFFDCFFFF,
     0xFFFFFFF9, 0xEFFFFFFF, 0xFFFFDE41, 0xFFFDFFF3,
     0xFFFFFFFD, 0x6FFFFFFF, 0xFFBFDFE1, 0xFFFFFFF3,
@@ -579,14 +579,14 @@
     0xFCFFFFFF, 0xC15FFFFF, 0xFFFFFFFF, 0x8001FFFF,
     0x0100FF20, 0xE0000000, 0xFFFFFFBF, 0xFFFFFFFF,
     0xFFFFFFFF, 0x99021FFF, 0x3CFFFFFF, 0xFFE1FFFE,
-    0xFFFFDF9B, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xDFFFDF9B, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0x7FFFFFFF, 0xFFFFFFFF,
     0xFC00FFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFE, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
@@ -598,33 +598,33 @@
     0xFFFFFFFF, 0xFFFFFDFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xF1FBFE78, 0xFFFFFFCE, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0x3FFFFFFF, 0x00000000,
-    0xFE7FFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFE7FFFFF, 0xFFFFFFFF, 0x80BFFFFF, 0x6007E01A,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFF0, 0xE82FFFFF, 0xFFFFFFFB, 0xFFF007FF,
     0xFFFFFFFC, 0xFFFFFCC3, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFF300FFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x0008FFFF, 0xFFFFDE02,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0x00000000, 0x3FFFFF80,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x00000000, 0x1FFFFF80,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0x5FFFFFFF, 0x1FFF1FFC, 0x9FFF1FFF,
     0x00004000, 0x00000000, 0x00000000, 0x800E0000,
-    0xFFFF8000, 0xFFC00000, 0x0000FFFF, 0xFFFE0000,
-    0x3E2FFC84, 0xF3FFBD50, 0x0007C3E0, 0xFFFFFFFF,
-    0x0000FFFF, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFF8000, 0xFE000000, 0x0000FFFF, 0xFFFE0000,
+    0x3E2FFC84, 0xF3FFBD50, 0x0000C3E0, 0xFFFFFFFF,
+    0x0000FDFF, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0xFFC00000, 0xFFFFFFFF, 0x07FFFFFF,
-    0x00200000, 0x00000000, 0x00000000, 0xFFFFFF00,
+    0x00200000, 0x00000000, 0x00000000, 0xFFFFFE00,
     0x00000000, 0xFFFFFF80, 0xFFFFF800, 0x00000000,
     0xF0000000, 0xFFFFFFFF, 0xFFFFFFFF, 0x000003FF,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0xC0000000, 0xE0001000, 0xFFFFFFF0, 0xFFFFFFFF,
-    0x00000C21, 0x00000100, 0x80B85000, 0x00000001,
+    0x00000000, 0x00001000, 0x00004000, 0x000000F4,
+    0x00000C21, 0x00000100, 0x80385000, 0x00000001,
     0x00E00000, 0x80010000, 0x0000E800, 0x00000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
@@ -632,13 +632,13 @@
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0xFFE0E000, 0xFFFFFFFF,
+    0x00000000, 0x00000000, 0xFC00E000, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x01FFF81F,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x01FC781F,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x00000000,
-    0x00000000, 0xFFFE0000, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x00000000, 0xFFFC0000, 0xFFFFFFFF, 0xFFFFFFFF,
     0x04000000, 0x00000000, 0x00000000, 0xFFF00000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0xFFC00000, 0xF000FFFF,
@@ -653,23 +653,27 @@
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0x00000000, 0x00000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0x0000FFFF, 0x00000000, 0xFFFFFF80, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFF1FFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x0FF07FFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFCFFFF,
     0x00000000, 0xFFFFFFFC, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFEFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFF7BB, 0xFFFFF09F, 0xFFFFFFFF, 0xFF0FFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFEF, 0xFFFFFFFF,
+    0xFFFFF7BB, 0xFCFFF09F, 0xFFFFFFFF, 0xFF0FFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFEF, 0xFFFC0000,
     0xFFFFFFFF, 0xFFFFC03F, 0xFFFC007F, 0xFFFFFFFF,
+    0xFFFFFFF8, 0xEC37FFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFF9981FF, 0xFFFFEFF7, 0xFFFFFFFF,
+    0xFFFFFFFF, 0x3E62FFFF, 0xFFFFFFFD, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFF9981FF, 0xFFFFEFF7, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFDEDF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0x1FFFFFFF, 0x00000000, 0x00000000, 0x00000000,
@@ -683,6 +687,10 @@
     0xFFFFFFFD, 0xFFFFFFFF, 0x00000000, 0x00000000,
     0xF000F800, 0xFFFFFFFF, 0xFFFFFFFF, 0xDFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFC, 0xF987FFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x0007FC7F,
     0xFFFFF018, 0xFFFFC3FF, 0xFFFFFFFF, 0xFFFFFFFF,
@@ -691,12 +699,12 @@
     0x00000000, 0x00000000, 0xFF800000, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0x00003FFF, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xF7FFFFFF, 0xFFFFFFFF,
+    0xFFDFFFFF, 0xFFFFFFFF, 0xFFFF7FFF, 0xFFFFFFFF,
+    0xFFFFFDFF, 0xFFFFFFFF, 0x00003FF7, 0x00000000,
     0x00000000, 0x0000F000, 0x00000000, 0x00000000,
     0xFFF00000, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFF800, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
--- a/lib/unictype/pr_bidi_non_spacing_mark.h
+++ b/lib/unictype/pr_bidi_non_spacing_mark.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-ctype.c for Unicode 5.1.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 5.2.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
@@ -11,7 +11,7 @@
     int header[1];
     int level1[15];
     short level2[3 << 7];
-    /*unsigned*/ int level3[26 << 4];
+    /*unsigned*/ int level3[27 << 4];
   }
 u_property_bidi_non_spacing_mark =
 {
@@ -170,6 +170,7 @@
        16 +   384 * sizeof (short) / sizeof (int) +   352,
        -1,
        -1,
+       16 +   384 * sizeof (short) / sizeof (int) +   368,
        -1,
        -1,
        -1,
@@ -265,9 +266,8 @@
        -1,
        -1,
        -1,
-       -1,
-       16 +   384 * sizeof (short) / sizeof (int) +   368,
        16 +   384 * sizeof (short) / sizeof (int) +   384,
+       16 +   384 * sizeof (short) / sizeof (int) +   400,
        -1,
        -1,
        -1,
@@ -290,7 +290,7 @@
        -1,
        -1,
        -1,
-       16 +   384 * sizeof (short) / sizeof (int) +   400,
+       16 +   384 * sizeof (short) / sizeof (int) +   416,
        -1,
        -1,
        -1,
@@ -432,9 +432,9 @@
     0x00000000, 0x00000000, 0xDFC00000, 0x00003D9F,
     0x00020000, 0xFFFF0000, 0x000007FF, 0x00000000,
     0x00000000, 0x0001FFC0, 0x00000000, 0x000FF800,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFBC00000, 0x00003EEF, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000006, 0x10000000, 0x001E21FE, 0x0000000C,
+    0x00000007, 0x10000000, 0x003E21FE, 0x0000000C,
     0x00000002, 0x10000000, 0x0000201E, 0x0000000C,
     0x00000006, 0x10000000, 0x00023986, 0x00230000,
     0x00000006, 0x10000000, 0x000021BE, 0x0000000C,
@@ -449,7 +449,7 @@
     0x03000000, 0x02A00000, 0x00000000, 0x7FFE0000,
     0xFEFF00DF, 0x1FFFFFFF, 0x00000040, 0x00000000,
     0x00000000, 0x66FDE000, 0xC3000000, 0x001E0001,
-    0x00002064, 0x00000000, 0x00000000, 0x00000000,
+    0x20002064, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
@@ -464,20 +464,20 @@
     0x00000000, 0x00000200, 0x00000000, 0x00000000,
     0x00000000, 0x0E040187, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x01800000, 0x00000000, 0x00000000, 0x00000000,
+    0x01800000, 0x00000000, 0x7F400000, 0x9FF81FE5,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x0000000F, 0x17D00000, 0x00000004, 0x000FF800,
     0x00000003, 0x0000033C, 0x00000000, 0x00000000,
     0x00000000, 0x00CFF000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0xFFF70000, 0x000021FD,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0xFFFFFFFF, 0xC000007F,
+    0x00000000, 0x00000000, 0xFFFFFFFF, 0xE000007F,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0xFFFF0000, 0x0001FFFF,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00038000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0xFFFFFFFF,
     0x00000000, 0x0000FC00, 0x00000000, 0x00000000,
@@ -485,17 +485,17 @@
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x30078000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00030000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000844, 0x00000060, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000010, 0x00000000,
+    0x00000000, 0x00000000, 0x00000010, 0x0003FFFF,
     0x00000000, 0x00003FC0, 0x0003FF80, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000007, 0x13C80000, 0x00000000, 0x00000000,
     0x00000000, 0x00667E00, 0x00001008, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0xC19D0000, 0x00000002, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00002120,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x40000000, 0x00000000, 0x00000000, 0x00000000,
@@ -513,6 +513,10 @@
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000003, 0x06780000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0xF8000380,
     0x00000FE7, 0x00003C00, 0x00000000, 0x00000000,
--- a/lib/unictype/pr_bidi_other_neutral.h
+++ b/lib/unictype/pr_bidi_other_neutral.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-ctype.c for Unicode 5.1.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 5.2.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
@@ -11,7 +11,7 @@
     int header[1];
     int level1[2];
     short level2[2 << 7];
-    /*unsigned*/ int level3[31 << 4];
+    /*unsigned*/ int level3[34 << 4];
   }
 u_property_bidi_other_neutral =
 {
@@ -31,12 +31,11 @@
         3 +   256 * sizeof (short) / sizeof (int) +    96,
        -1,
         3 +   256 * sizeof (short) / sizeof (int) +   112,
-       -1,
         3 +   256 * sizeof (short) / sizeof (int) +   128,
         3 +   256 * sizeof (short) / sizeof (int) +   144,
+        3 +   256 * sizeof (short) / sizeof (int) +   160,
        -1,
        -1,
-        3 +   256 * sizeof (short) / sizeof (int) +   160,
         3 +   256 * sizeof (short) / sizeof (int) +   176,
         3 +   256 * sizeof (short) / sizeof (int) +   192,
         3 +   256 * sizeof (short) / sizeof (int) +   208,
@@ -47,6 +46,7 @@
         3 +   256 * sizeof (short) / sizeof (int) +   288,
         3 +   256 * sizeof (short) / sizeof (int) +   304,
         3 +   256 * sizeof (short) / sizeof (int) +   320,
+        3 +   256 * sizeof (short) / sizeof (int) +   336,
        -1,
        -1,
        -1,
@@ -59,7 +59,7 @@
        -1,
        -1,
        -1,
-        3 +   256 * sizeof (short) / sizeof (int) +   336,
+        3 +   256 * sizeof (short) / sizeof (int) +   352,
        -1,
        -1,
        -1,
@@ -103,9 +103,9 @@
        -1,
        -1,
        -1,
-        3 +   256 * sizeof (short) / sizeof (int) +   352,
         3 +   256 * sizeof (short) / sizeof (int) +   368,
         3 +   256 * sizeof (short) / sizeof (int) +   384,
+        3 +   256 * sizeof (short) / sizeof (int) +   400,
        -1,
        -1,
        -1,
@@ -147,13 +147,14 @@
        -1,
        -1,
        -1,
-        3 +   256 * sizeof (short) / sizeof (int) +   400,
         3 +   256 * sizeof (short) / sizeof (int) +   416,
         3 +   256 * sizeof (short) / sizeof (int) +   432,
+        3 +   256 * sizeof (short) / sizeof (int) +   448,
        -1,
        -1,
        -1,
-        3 +   256 * sizeof (short) / sizeof (int) +   448,
+        3 +   256 * sizeof (short) / sizeof (int) +   464,
+        3 +   256 * sizeof (short) / sizeof (int) +   480,
        -1,
        -1,
        -1,
@@ -253,8 +254,9 @@
        -1,
        -1,
        -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   496,
        -1,
-        3 +   256 * sizeof (short) / sizeof (int) +   464,
+        3 +   256 * sizeof (short) / sizeof (int) +   512,
        -1,
        -1,
        -1,
@@ -267,9 +269,7 @@
        -1,
        -1,
        -1,
-       -1,
-       -1,
-        3 +   256 * sizeof (short) / sizeof (int) +   480,
+        3 +   256 * sizeof (short) / sizeof (int) +   528,
        -1,
        -1,
        -1,
@@ -311,6 +311,10 @@
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x03FF0000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000001, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x18000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
@@ -325,19 +329,19 @@
     0x00000000, 0xA0000000, 0xE000E003, 0x6000E000,
     0xFFFF0000, 0xFFE000FF, 0x7FFFFFEF, 0x70000000,
     0x00007000, 0x00000000, 0x00000000, 0x00000000,
-    0xC1D0037B, 0x0C0002AF, 0xFFF83C1F, 0x00000000,
-    0xFFFF0000, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xC1D0037B, 0x0C0002AF, 0xFFFF3C1F, 0x00000000,
+    0xFFFF0200, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFF3FFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0x003FFFFF, 0x00000000, 0xF8000000,
-    0xFFDFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x000000FF,
+    0xFFDFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x000001FF,
     0xFFFFFFFF, 0x0000007F, 0x000007FF, 0xFFFFFFFF,
     0x000000FF, 0x00000000, 0x00000000, 0xFFFFFC00,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0x3FFFFFFF, 0x1FFFEFFF, 0x0000000F, 0x00000000,
-    0xFFFFF3DE, 0xFFFFFEFF, 0x7F47AFFF, 0xFFFFFFFE,
+    0xFFFFFFFF, 0xFFFFEFFF, 0xFFFFBFFF, 0xFFFFFF0B,
+    0xFFFFF3DE, 0xFFFFFEFF, 0x7FC7AFFF, 0xFFFFFFFE,
     0xFF1FFFFF, 0x7FFEFFFF, 0xFFFF17FF, 0xFFFFFFFF,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
@@ -345,13 +349,13 @@
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0x001F1FFF, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x03FF1FFF, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0xFE0007E0,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0xFFFFFFFF, 0x0001FFFF, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0x0003FFFF, 0x00000000, 0x00000000,
     0xFBFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x000FFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0x003FFFFF, 0x0FFF0000,
@@ -395,10 +399,18 @@
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x80000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0xFE000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0x00000023, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0x007FFFFF, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x08000000, 0x00000000,
+    0x00200000, 0x00000000, 0x00008000, 0x00000000,
+    0x00000200, 0x00000000, 0x00000008, 0x00000000,
     0xFFFFFFFF, 0xFFFF0FFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0x000FFFFF, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
--- a/lib/unictype/pr_bidi_pdf.h
+++ b/lib/unictype/pr_bidi_pdf.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-ctype.c for Unicode 5.1.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 5.2.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
--- a/lib/unictype/pr_bidi_segment_separator.h
+++ b/lib/unictype/pr_bidi_segment_separator.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-ctype.c for Unicode 5.1.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 5.2.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
--- a/lib/unictype/pr_bidi_whitespace.h
+++ b/lib/unictype/pr_bidi_whitespace.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-ctype.c for Unicode 5.1.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 5.2.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
--- a/lib/unictype/pr_combining.h
+++ b/lib/unictype/pr_combining.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-ctype.c for Unicode 5.1.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 5.2.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
@@ -11,7 +11,7 @@
     int header[1];
     int level1[15];
     short level2[3 << 7];
-    /*unsigned*/ int level3[26 << 4];
+    /*unsigned*/ int level3[27 << 4];
   }
 u_property_combining =
 {
@@ -170,6 +170,7 @@
        16 +   384 * sizeof (short) / sizeof (int) +   352,
        -1,
        -1,
+       16 +   384 * sizeof (short) / sizeof (int) +   368,
        -1,
        -1,
        -1,
@@ -265,9 +266,8 @@
        -1,
        -1,
        -1,
-       -1,
-       16 +   384 * sizeof (short) / sizeof (int) +   368,
        16 +   384 * sizeof (short) / sizeof (int) +   384,
+       16 +   384 * sizeof (short) / sizeof (int) +   400,
        -1,
        -1,
        -1,
@@ -290,7 +290,7 @@
        -1,
        -1,
        -1,
-       16 +   384 * sizeof (short) / sizeof (int) +   400,
+       16 +   384 * sizeof (short) / sizeof (int) +   416,
        -1,
        -1,
        -1,
@@ -432,9 +432,9 @@
     0x00000000, 0x00000000, 0xDFC00000, 0x00003D9F,
     0x00020000, 0xFFFF0000, 0x000007FF, 0x00000000,
     0x00000000, 0x0001FFC0, 0x00000000, 0x000FF800,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFBC00000, 0x00003EEF, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x0000000E, 0xD0000000, 0x001E3FFF, 0x0000000C,
+    0x0000000F, 0xD0000000, 0x003E7FFF, 0x0000000C,
     0x0000000E, 0xD0000000, 0x0080399F, 0x0000000C,
     0x0000000E, 0xD0000000, 0x00023987, 0x00230000,
     0x0000000E, 0xD0000000, 0x00003BBF, 0x0000000C,
@@ -449,7 +449,7 @@
     0x03000000, 0xC2A00000, 0x00000000, 0xFFFE0000,
     0xFEFF00DF, 0x1FFFFFFF, 0x00000040, 0x00000000,
     0x00000000, 0x7FFFF800, 0xC3C00000, 0x001E3F9D,
-    0x0000BFFC, 0x00000000, 0x00000000, 0x00000000,
+    0x3C00BFFC, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
@@ -464,20 +464,20 @@
     0x00000000, 0x00000200, 0x00000000, 0x00000000,
     0x00000000, 0x0FFF0FFF, 0x00000000, 0x00000000,
     0x00000000, 0xFFFF0000, 0x00000301, 0x00000000,
-    0x0F800000, 0x00000000, 0x00000000, 0x00000000,
+    0x0F800000, 0x00000000, 0x7FE00000, 0x9FFFFFFF,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x0000001F, 0xFFF00000, 0x0000001F, 0x000FF800,
     0x00000007, 0x000007FE, 0x00000000, 0x00000000,
     0x00000000, 0x00FFFFF0, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0xFFF70000, 0x000421FF,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0xFFFFFFFF, 0xC000007F,
+    0x00000000, 0x00000000, 0xFFFFFFFF, 0xE000007F,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0xFFFF0000, 0x0001FFFF,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00038000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0xFFFFFFFF,
     0x00000000, 0x0000FC00, 0x00000000, 0x00000000,
@@ -485,17 +485,17 @@
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x30078000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00030000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000844, 0x000000F8, 0x00000000, 0x00000000,
-    0x00000003, 0xFFF00000, 0x0000001F, 0x00000000,
+    0x00000003, 0xFFF00000, 0x0000001F, 0x0003FFFF,
     0x00000000, 0x00003FC0, 0x000FFF80, 0x00000000,
+    0x0000000F, 0xFFF80000, 0x00000001, 0x00000000,
+    0x00000000, 0x007FFE00, 0x00003008, 0x08000000,
+    0x00000000, 0xC19D0000, 0x00000002, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x007FFE00, 0x00003008, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x000037F8,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x40000000, 0x00000000, 0x00000000, 0x00000000,
@@ -513,6 +513,10 @@
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000007, 0x07FF0000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0xF807E3E0,
     0x00000FE7, 0x00003C00, 0x00000000, 0x00000000,
--- a/lib/unictype/pr_composite.h
+++ b/lib/unictype/pr_composite.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-ctype.c for Unicode 5.1.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 5.2.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
@@ -11,7 +11,7 @@
     int header[1];
     int level1[2];
     short level2[2 << 7];
-    /*unsigned*/ int level3[23 << 4];
+    /*unsigned*/ int level3[26 << 4];
   }
 u_property_composite =
 {
@@ -157,7 +157,7 @@
        -1,
        -1,
        -1,
-       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   352,
        -1,
        -1,
        -1,
@@ -253,7 +253,7 @@
        -1,
        -1,
        -1,
-        3 +   256 * sizeof (short) / sizeof (int) +   352,
+        3 +   256 * sizeof (short) / sizeof (int) +   368,
        -1,
        -1,
        -1,
@@ -269,8 +269,8 @@
        -1,
        -1,
        -1,
-       -1,
-       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   384,
+        3 +   256 * sizeof (short) / sizeof (int) +   400,
        -1,
        -1,
        -1,
@@ -325,8 +325,8 @@
     0xFFFFFFFF, 0x17DFFFFF, 0xE7C7F5DE, 0x15DC37F7,
     0x00000000, 0x10D80060, 0x00800380, 0x00000000,
     0x00000000, 0x00000100, 0x00000000, 0x00000000,
-    0x0040026B, 0x08000007, 0xFFF80000, 0x0DEE0DEE,
-    0x0C000000, 0x00004000, 0x0000E000, 0x00000000,
+    0x0040026B, 0x08000007, 0xFFFF0000, 0x0DEE0DEE,
+    0x0C000200, 0x00004000, 0x0000E000, 0x00000000,
     0x00001210, 0x0001B050, 0x00000292, 0x0333E005,
     0x00000333, 0x0000F000, 0x00000000, 0x00003C0F,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
@@ -368,8 +368,20 @@
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x14000000, 0x00000800, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0xC0000000, 0x0000001F,
-    0x00000000, 0xF8000000, 0x00000001, 0x00000000
+    0x00000000, 0xF8000000, 0x00000001, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFF07FF, 0x000067FF, 0x00007C00, 0x00000000,
+    0x00010000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000001, 0x00000000, 0x000001FF, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000
   }
 };
--- a/lib/unictype/pr_currency_symbol.h
+++ b/lib/unictype/pr_currency_symbol.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-ctype.c for Unicode 5.1.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 5.2.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
@@ -11,7 +11,7 @@
     int header[1];
     int level1[1];
     short level2[1 << 7];
-    /*unsigned*/ int level3[9 << 4];
+    /*unsigned*/ int level3[10 << 4];
   }
 u_property_currency_symbol =
 {
@@ -102,7 +102,7 @@
        -1,
        -1,
        -1,
-       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +   112,
        -1,
        -1,
        -1,
@@ -144,8 +144,8 @@
        -1,
        -1,
        -1,
-        2 +   128 * sizeof (short) / sizeof (int) +   112,
-        2 +   128 * sizeof (short) / sizeof (int) +   128
+        2 +   128 * sizeof (short) / sizeof (int) +   128,
+        2 +   128 * sizeof (short) / sizeof (int) +   144
   },
   {
     0x00000000, 0x00000010, 0x00000000, 0x00000000,
@@ -159,7 +159,7 @@
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x000C0000,
+    0x00000000, 0x00000000, 0x00000000, 0x080C0000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00020000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
@@ -173,7 +173,11 @@
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x08000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x003FFFFF, 0x00000000, 0x00000000,
+    0x00000000, 0x01FFFFFF, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x01000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
--- a/lib/unictype/pr_dash.h
+++ b/lib/unictype/pr_dash.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-ctype.c for Unicode 5.1.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 5.2.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
@@ -11,7 +11,7 @@
     int header[1];
     int level1[1];
     short level2[1 << 7];
-    /*unsigned*/ int level3[8 << 4];
+    /*unsigned*/ int level3[9 << 4];
   }
 u_property_dash =
 {
@@ -28,21 +28,21 @@
        -1,
        -1,
        -1,
-       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +    32,
        -1,
-        2 +   128 * sizeof (short) / sizeof (int) +    32,
+        2 +   128 * sizeof (short) / sizeof (int) +    48,
        -1,
        -1,
        -1,
-        2 +   128 * sizeof (short) / sizeof (int) +    48,
         2 +   128 * sizeof (short) / sizeof (int) +    64,
+        2 +   128 * sizeof (short) / sizeof (int) +    80,
        -1,
        -1,
        -1,
        -1,
        -1,
-        2 +   128 * sizeof (short) / sizeof (int) +    80,
         2 +   128 * sizeof (short) / sizeof (int) +    96,
+        2 +   128 * sizeof (short) / sizeof (int) +   112,
        -1,
        -1,
        -1,
@@ -145,7 +145,7 @@
        -1,
        -1,
        -1,
-        2 +   128 * sizeof (short) / sizeof (int) +   112
+        2 +   128 * sizeof (short) / sizeof (int) +   128
   },
   {
     0x00000000, 0x00002000, 0x00000000, 0x00000000,
@@ -156,6 +156,10 @@
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000400, 0x40000000, 0x00000000, 0x00000000,
+    0x00000001, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000040, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
--- a/lib/unictype/pr_decimal_digit.h
+++ b/lib/unictype/pr_decimal_digit.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-ctype.c for Unicode 5.1.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 5.2.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
@@ -314,9 +314,9 @@
     0x03FF0000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x0000FFC0, 0x00000000,
-    0x00000000, 0x00000000, 0x03FF0000, 0x00000000,
+    0x00000000, 0x00000000, 0x07FF0000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x03FF03FF, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x03FF0000, 0x00000000,
     0x00000000, 0x03FF0000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x03FF03FF, 0x00000000,
@@ -330,11 +330,11 @@
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x03FF0000, 0x00000000,
     0x000003FF, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x03FF0000, 0x00000000,
     0x00000000, 0x00000000, 0x03FF0000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x03FF0000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x03FF0000, 0x00000000, 0x00000000, 0x00000000,
--- a/lib/unictype/pr_default_ignorable_code_point.h
+++ b/lib/unictype/pr_default_ignorable_code_point.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-ctype.c for Unicode 5.1.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 5.2.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
--- a/lib/unictype/pr_deprecated.h
+++ b/lib/unictype/pr_deprecated.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-ctype.c for Unicode 5.1.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 5.2.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
@@ -11,7 +11,7 @@
     int header[1];
     int level1[15];
     short level2[2 << 7];
-    /*unsigned*/ int level3[4 << 4];
+    /*unsigned*/ int level3[6 << 4];
   }
 u_property_deprecated =
 {
@@ -34,7 +34,6 @@
        16 * sizeof (int) / sizeof (short) +   128
   },
   {
-       -1,
        16 +   256 * sizeof (short) / sizeof (int) +     0,
        -1,
        -1,
@@ -42,15 +41,17 @@
        -1,
        -1,
        -1,
-       -1,
-       -1,
-       -1,
        16 +   256 * sizeof (short) / sizeof (int) +    16,
        -1,
        -1,
        -1,
+       16 +   256 * sizeof (short) / sizeof (int) +    32,
        -1,
-       16 +   256 * sizeof (short) / sizeof (int) +    32,
+       -1,
+       -1,
+       -1,
+       16 +   256 * sizeof (short) / sizeof (int) +    48,
+       16 +   256 * sizeof (short) / sizeof (int) +    64,
        -1,
        -1,
        -1,
@@ -161,8 +162,7 @@
        -1,
        -1,
        -1,
-       -1,
-       16 +   256 * sizeof (short) / sizeof (int) +    48,
+       16 +   256 * sizeof (short) / sizeof (int) +    80,
        -1,
        -1,
        -1,
@@ -294,16 +294,24 @@
   {
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000003, 0x00000000,
+    0x00000000, 0x00000000, 0x00000200, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x02800000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000008, 0x00080000, 0x00000000,
+    0x00000000, 0x00000018, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x0000FC00,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000600, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000002, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
--- a/lib/unictype/pr_diacritic.h
+++ b/lib/unictype/pr_diacritic.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-ctype.c for Unicode 5.1.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 5.2.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
@@ -11,7 +11,7 @@
     int header[1];
     int level1[2];
     short level2[2 << 7];
-    /*unsigned*/ int level3[21 << 4];
+    /*unsigned*/ int level3[24 << 4];
   }
 u_property_diacritic =
 {
@@ -43,9 +43,9 @@
        -1,
        -1,
        -1,
-       -1,
         3 +   256 * sizeof (short) / sizeof (int) +   224,
         3 +   256 * sizeof (short) / sizeof (int) +   240,
+        3 +   256 * sizeof (short) / sizeof (int) +   256,
        -1,
        -1,
        -1,
@@ -104,8 +104,9 @@
        -1,
        -1,
        -1,
-        3 +   256 * sizeof (short) / sizeof (int) +   256,
         3 +   256 * sizeof (short) / sizeof (int) +   272,
+        3 +   256 * sizeof (short) / sizeof (int) +   288,
+        3 +   256 * sizeof (short) / sizeof (int) +   304,
        -1,
        -1,
        -1,
@@ -145,10 +146,18 @@
        -1,
        -1,
        -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   320,
        -1,
-        3 +   256 * sizeof (short) / sizeof (int) +   288,
+        3 +   256 * sizeof (short) / sizeof (int) +   336,
+       -1,
+       -1,
+       -1,
        -1,
-        3 +   256 * sizeof (short) / sizeof (int) +   304,
+       -1,
+       -1,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   352,
        -1,
        -1,
        -1,
@@ -244,16 +253,7 @@
        -1,
        -1,
        -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-        3 +   256 * sizeof (short) / sizeof (int) +   320,
+        3 +   256 * sizeof (short) / sizeof (int) +   368,
        -1,
        -1,
        -1,
@@ -295,7 +295,7 @@
     0x00000000, 0x00000000, 0x80000000, 0x00001C61,
     0x00000000, 0xFFFF0000, 0x000007FF, 0x00000000,
     0x00000000, 0x0001FFC0, 0x00000000, 0x003FF800,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x03000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x10000000, 0x001E2000, 0x00020000,
     0x00000000, 0x10000000, 0x00002000, 0x00000000,
@@ -312,7 +312,7 @@
     0x03000000, 0xC2A00000, 0x00000000, 0x00000000,
     0x000000DC, 0x00000000, 0x00000040, 0x00000000,
     0x00000000, 0x06800000, 0x00000000, 0x00000000,
-    0x0000BF80, 0x00000000, 0x00000000, 0x00000000,
+    0x0C00BF80, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
@@ -323,18 +323,22 @@
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x0E000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x9FE00000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00100000, 0x00000010, 0x000FF800,
     0x00000000, 0x00000400, 0x00000000, 0x00000000,
     0x00000000, 0x00C00000, 0x00000000, 0x3F000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0xFFFF0000, 0x000021FF,
     0x00000000, 0xFFFFF000, 0xFFFFFFFF, 0x000007FF,
-    0x00000000, 0x00000000, 0x0000FFF0, 0xC0000000,
+    0x00000000, 0x00000000, 0x0000FFF0, 0xE0000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0xA0000000, 0xE000E003, 0x6000E000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00038000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00008000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
@@ -344,13 +348,17 @@
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0xB0008000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00030000,
     0xFF800000, 0x00000003, 0x00000000, 0x00000000,
     0x00000100, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000010, 0x00000000,
+    0x00000000, 0x00000000, 0x00000010, 0x0003FFFF,
     0x00000000, 0x00007800, 0x00080000, 0x00000000,
+    0x00000000, 0x00080000, 0x00000001, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x08000000,
+    0x00000000, 0x80000000, 0x00000007, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00003000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x40000000, 0x00000000, 0x00000000, 0x00000000,
@@ -360,6 +368,10 @@
     0x00000000, 0x40000000, 0x00000001, 0x00010000,
     0xC0000000, 0x00000000, 0x00000000, 0x00000008,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x06000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0xF807E380,
     0x00000FE7, 0x00003C00, 0x00000000, 0x00000000
--- a/lib/unictype/pr_extender.h
+++ b/lib/unictype/pr_extender.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-ctype.c for Unicode 5.1.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 5.2.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
@@ -11,7 +11,7 @@
     int header[1];
     int level1[1];
     short level2[1 << 7];
-    /*unsigned*/ int level3[10 << 4];
+    /*unsigned*/ int level3[13 << 4];
   }
 u_property_extender =
 {
@@ -31,8 +31,8 @@
        -1,
        -1,
         2 +   128 * sizeof (short) / sizeof (int) +    64,
-       -1,
         2 +   128 * sizeof (short) / sizeof (int) +    80,
+        2 +   128 * sizeof (short) / sizeof (int) +    96,
        -1,
        -1,
        -1,
@@ -42,7 +42,7 @@
        -1,
        -1,
        -1,
-        2 +   128 * sizeof (short) / sizeof (int) +    96,
+        2 +   128 * sizeof (short) / sizeof (int) +   112,
        -1,
        -1,
        -1,
@@ -98,11 +98,12 @@
        -1,
        -1,
        -1,
-        2 +   128 * sizeof (short) / sizeof (int) +   112,
+        2 +   128 * sizeof (short) / sizeof (int) +   128,
        -1,
        -1,
-        2 +   128 * sizeof (short) / sizeof (int) +   128,
-       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +   144,
+        2 +   128 * sizeof (short) / sizeof (int) +   160,
+        2 +   128 * sizeof (short) / sizeof (int) +   176,
        -1,
        -1,
        -1,
@@ -144,8 +145,7 @@
        -1,
        -1,
        -1,
-       -1,
-        2 +   128 * sizeof (short) / sizeof (int) +   144
+        2 +   128 * sizeof (short) / sizeof (int) +   192
   },
   {
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
@@ -168,6 +168,10 @@
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000080, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00400000, 0x00000000, 0x08000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
@@ -186,6 +190,14 @@
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00008000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00010000,
+    0x00000000, 0x00000000, 0x20000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00010000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000
   }
--- a/lib/unictype/pr_format_control.h
+++ b/lib/unictype/pr_format_control.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-ctype.c for Unicode 5.1.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 5.2.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
--- a/lib/unictype/pr_grapheme_base.h
+++ b/lib/unictype/pr_grapheme_base.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-ctype.c for Unicode 5.1.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 5.2.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
@@ -11,7 +11,7 @@
     int header[1];
     int level1[3];
     short level2[3 << 7];
-    /*unsigned*/ int level3[51 << 4];
+    /*unsigned*/ int level3[56 << 4];
   }
 u_property_grapheme_base =
 {
@@ -42,94 +42,94 @@
         4 +   384 * sizeof (short) / sizeof (int) +   272,
         4 +   384 * sizeof (short) / sizeof (int) +   288,
         4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
         4 +   384 * sizeof (short) / sizeof (int) +   320,
         4 +   384 * sizeof (short) / sizeof (int) +   336,
         4 +   384 * sizeof (short) / sizeof (int) +   352,
         4 +   384 * sizeof (short) / sizeof (int) +   368,
         4 +   384 * sizeof (short) / sizeof (int) +   384,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
         4 +   384 * sizeof (short) / sizeof (int) +   400,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
         4 +   384 * sizeof (short) / sizeof (int) +   416,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
         4 +   384 * sizeof (short) / sizeof (int) +   432,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
         4 +   384 * sizeof (short) / sizeof (int) +   448,
         4 +   384 * sizeof (short) / sizeof (int) +   464,
         4 +   384 * sizeof (short) / sizeof (int) +   480,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
         4 +   384 * sizeof (short) / sizeof (int) +   496,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   512,
        -1,
        -1,
        -1,
@@ -146,27 +146,17 @@
        -1,
        -1,
        -1,
+        4 +   384 * sizeof (short) / sizeof (int) +   512,
         4 +   384 * sizeof (short) / sizeof (int) +   528,
         4 +   384 * sizeof (short) / sizeof (int) +   544,
         4 +   384 * sizeof (short) / sizeof (int) +   560,
         4 +   384 * sizeof (short) / sizeof (int) +   576,
         4 +   384 * sizeof (short) / sizeof (int) +   592,
         4 +   384 * sizeof (short) / sizeof (int) +   608,
+       -1,
         4 +   384 * sizeof (short) / sizeof (int) +   624,
-       -1,
         4 +   384 * sizeof (short) / sizeof (int) +   640,
         4 +   384 * sizeof (short) / sizeof (int) +   656,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
         4 +   384 * sizeof (short) / sizeof (int) +   672,
         4 +   384 * sizeof (short) / sizeof (int) +   688,
        -1,
@@ -176,11 +166,21 @@
        -1,
        -1,
        -1,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   704,
+        4 +   384 * sizeof (short) / sizeof (int) +   720,
        -1,
        -1,
        -1,
        -1,
        -1,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   736,
+       -1,
+       -1,
+       -1,
+       -1,
        -1,
        -1,
        -1,
@@ -254,10 +254,10 @@
        -1,
        -1,
        -1,
-        4 +   384 * sizeof (short) / sizeof (int) +   704,
-        4 +   384 * sizeof (short) / sizeof (int) +   720,
-        4 +   384 * sizeof (short) / sizeof (int) +   736,
         4 +   384 * sizeof (short) / sizeof (int) +   752,
+        4 +   384 * sizeof (short) / sizeof (int) +   768,
+        4 +   384 * sizeof (short) / sizeof (int) +   784,
+        4 +   384 * sizeof (short) / sizeof (int) +   800,
        -1,
        -1,
        -1,
@@ -270,106 +270,106 @@
        -1,
        -1,
        -1,
-        4 +   384 * sizeof (short) / sizeof (int) +   768,
-       -1,
+        4 +   384 * sizeof (short) / sizeof (int) +   816,
+        4 +   384 * sizeof (short) / sizeof (int) +   832,
        -1,
        -1,
        -1,
        -1,
        -1,
        -1,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   784,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   848,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   864,
        -1,
        -1,
        -1,
@@ -402,8 +402,8 @@
        -1,
        -1,
        -1,
-        4 +   384 * sizeof (short) / sizeof (int) +   320,
-        4 +   384 * sizeof (short) / sizeof (int) +   800,
+        4 +   384 * sizeof (short) / sizeof (int) +   160,
+        4 +   384 * sizeof (short) / sizeof (int) +   880,
        -1,
        -1
   },
@@ -418,16 +418,16 @@
     0xFFFFD7F0, 0xFFFFFFFB, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFC07, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFE000F, 0xFE7FFFFF, 0xFFFFFFFE,
+    0xFFFFFFFF, 0xFFFE003F, 0xFE7FFFFF, 0xFFFFFFFE,
     0x000006FF, 0x40000000, 0xFFFF0049, 0x001F07FF,
     0xC800FFC0, 0xFFFFFFFE, 0x000007FF, 0xFFFEFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0x003FFFFF, 0xFFFFC260,
     0xFFFD3FFF, 0x0000FFFF, 0xFFFFE000, 0xFFFFFFFF,
     0xFFFFFFFF, 0x0002003F, 0xFFFFFFFF, 0x07F007FF,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x043FFFFF, 0x7FFF0110, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0xFFFFFFF8, 0xE3FFFFFF, 0xFF011E01, 0xF807FFF3,
-    0xFFF99FEC, 0xA3C5FDFF, 0xB0005981, 0x07FFFFC3,
+    0xFFFFFFF8, 0xE3FFFFFF, 0xFF015E01, 0xFE07FFF3,
+    0xFFF99FEC, 0xA3C5FDFF, 0xB0005981, 0x0FFFFFC3,
     0xFFF987E8, 0xC36DFDFF, 0x5E000001, 0x001CFFC0,
     0xFFFBBFE8, 0xE3EDFDFF, 0x00011A01, 0x0002FFC3,
     0xFFF99FEC, 0x23EDFDFF, 0xB0001981, 0x0003FFC3,
@@ -439,33 +439,33 @@
     0xFFFFFFFE, 0x800DFFFF, 0x0FFF807F, 0x00000000,
     0xFEF02596, 0x200DECAE, 0x33FF005F, 0x00000000,
     0xFCFFFFFF, 0xFD5FFFFF, 0xFFFFFEFF, 0x80001FFF,
-    0x00000F20, 0xC0000000, 0x001FDFBF, 0x00000000,
+    0x00000F20, 0xC0000000, 0x01FFDFBF, 0x00000000,
     0xFFFFFFFF, 0x99021FFF, 0x3CFFFFFF, 0xFFE1FFFE,
-    0xC3FFDF9B, 0xFFFFFFFF, 0xFFFF003F, 0x1FFFFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0x83FFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFFFF07, 0xFFFFFFFF, 0x03FFFFFF,
+    0xDFFFDF9B, 0xFFFFFFFF, 0xFFFF003F, 0x1FFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0x3D7F3DFF, 0xFFFFFFFF,
     0xFFFF3DFF, 0x7F3DFFFF, 0xFF7FFF3D, 0xFFFFFFFF,
     0xFF3DFFFF, 0xFFFFFFFF, 0x07FFFFFF, 0x1FFFFFFF,
     0x03FFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x001FFFFF,
-    0xFFFFFFFE, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x007FFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0x1FFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x0001FFFF,
     0x0003DFFF, 0x0063FFFF, 0x0003FFFF, 0x0001DFFF,
     0xFFFFFFFF, 0xC04FFFFF, 0x1FF001BF, 0x03FF03FF,
     0x03FF47FF, 0xFFFFFFFF, 0xFFFFFFFF, 0x00FFFFFF,
-    0xFFFFFFFF, 0x000005FF, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFF05FF, 0xFFFFFFFF, 0x003FFFFF,
     0x1FFFFFFF, 0x01FB0E78, 0xFFFFFFF1, 0x001F3FFF,
-    0xFFFFFFFF, 0xFFFF03FF, 0xC3FF03FF, 0xFFFFFFFF,
-    0xCE7FFFFF, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFF0FFF, 0xC7FF03FF, 0xFFFFFFFF,
+    0xCE7FFFFF, 0xFFFFFFFF, 0x00BFFFFF, 0x0007E01A,
+    0x03FF03FF, 0x00003FFF, 0x00000000, 0x00000000,
     0xFFFFFFF0, 0xE82FFFFF, 0xFFFF0FFB, 0x1FF007FF,
     0xFFFFFFFC, 0x03FFC4C3, 0x00000000, 0x00000000,
     0xFFFFFFFF, 0xF8300FFF, 0xFFFFE3FF, 0xFFFFFFFF,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00080000, 0x0007DE02,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0x00000000, 0x00000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
@@ -473,34 +473,30 @@
     0x3F3FFFFF, 0xFFFFFFFF, 0xAAFF3F3F, 0x3FFFFFFF,
     0xFFFFFFFF, 0xFFDFFFFF, 0xEFCFFFDF, 0x7FDCFFFF,
     0xFFFF07FF, 0xFFFF80FF, 0xFFFFFFFF, 0xFFF30000,
-    0x001F7FFF, 0x003FFFFF, 0x00000000, 0x00000000,
-    0xFFFFFFFF, 0xFFFFFFFF, 0xFFF8FFFF, 0xFFFFFFFF,
-    0xFFFF01FF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x001F7FFF, 0x01FFFFFF, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFF03FF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x000000FF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x000001FF,
     0xFFFFFFFF, 0x0000007F, 0x000007FF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0x3FFFFFFF, 0x1FFFFFFF, 0x0000000F, 0x00000000,
-    0xFFFFF3DE, 0xFFFFFEFF, 0x7F47AFFF, 0xFFFFFFFE,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFBFFF, 0xFFFFFF0B,
+    0xFFFFF3DE, 0xFFFFFEFF, 0x7FC7AFFF, 0xFFFFFFFE,
     0xFF1FFFFF, 0x7FFEFFFF, 0xFFFF17FF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0x001F1FFF, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x03FF1FFF, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0xFFFFFFFF, 0xFFFF7FFF, 0x7FFFFFFF, 0x3FFEFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFE0007FF,
+    0xFFFFFFFF, 0xFFFF7FFF, 0x7FFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFE007FFF,
     0xFFFFFFFF, 0xFFFF003F, 0xFFFFFFFF, 0x0000803F,
     0x007FFFFF, 0x7F7F7F7F, 0x7F7F7F7F, 0x00000000,
-    0xFFFFFFFF, 0x0001FFFF, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0x0003FFFF, 0x00000000, 0x00000000,
     0xFBFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x000FFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0x003FFFFF, 0x0FFF0000,
@@ -508,7 +504,7 @@
     0xF87FFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFE0, 0xFFFE3FFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFF7FFF, 0x00FFFFFF, 0xFFFFFFFF, 0xFFFF000F,
-    0x7FFFFFFF, 0xFFFFFFFF, 0xFFFF000F, 0xFFFFFFFF,
+    0x7FFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x7FFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
@@ -519,32 +515,32 @@
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0x0000000F, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x00000FFF, 0x00000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFF1FFF, 0xFFFFFFFF, 0x0000007F, 0x00000000,
+    0xFFFF1FFF, 0xFFFFFFFF, 0xFFFF007F, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0x00000FFF, 0xFFFFFFFF, 0xC0087FFC,
-    0x00FFFFFF, 0x00000000, 0x00000000, 0x00000000,
+    0x00FFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x00FCFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0x00001FFF, 0x00000000, 0x00000000, 0xF8000000,
-    0xFFFFF7BB, 0x00000F9F, 0xFFFFFFFF, 0x00FFFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0x03FFC00F, 0x00000000,
-    0xFFFFFFFF, 0xFFFFC03F, 0x800C007F, 0x00000000,
+    0xFFFFF7BB, 0x03FF0F9F, 0xFFFFFFFF, 0x00FFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x03FFC00F, 0x0FFC0000,
+    0xFFFFFFFF, 0xFFFFC03F, 0x800C007F, 0x1FFFFFFF,
+    0xFFFFFFF8, 0xEC37FFFF, 0xC3FFBFFF, 0x00000000,
+    0xFFFFFFFF, 0x001981FF, 0xF3FF2FF7, 0x0FFFFFFF,
+    0xFFFFFFFF, 0x3E62FFFF, 0xF8000005, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0xFFFFFFFF, 0x001981FF, 0xF3FF2FF7, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0xFFFFFFFF, 0x03FF1EDF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFF000F, 0xFFFFF87F, 0x0FFFFFFF,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0x0000000F, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFF3FFF, 0xFFFFFFFF, 0xFFFF07FF,
+    0xFFFFFFFF, 0xFFFF3FFF, 0xFFFFFFFF, 0xFFFF3FFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0x03FFFFFF, 0x00000000,
     0xA0F8007F, 0x5F7FFFFF, 0xFFFFFFDB, 0xFFFFFFFF,
     0xFFFFFFFF, 0x0003FFFF, 0xFFF80000, 0xFFFFFFFF,
@@ -568,14 +564,26 @@
     0x3FFFFFFF, 0x000003FF, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0xFFFFFD3F, 0x91BFFFFF, 0x00000000, 0x00000000,
+    0xFFFFFD3F, 0x91BFFFFF, 0xFFBFFFFF, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x8FFFFFFF, 0x83FFFFFF, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFEEF0001, 0x000FFFFF, 0x01FF00FF, 0xFFFFFFFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFE3FFFFF, 0xFF3FFFFF, 0xFF07FFFF,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x83FFFFFF, 0x83FFFFFF, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x000001FF, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0xFEEF0001, 0x000FFFFF, 0x01FF00FF, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x7FFFFFFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFC, 0xD987FFFF, 0x00000003, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x00007FFF,
@@ -584,6 +592,10 @@
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0x00007FFF, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x003FFFFF,
     0xFFFFFFFF, 0xFFFFFE7F, 0xFFFFFFFF, 0x00003C5F,
@@ -602,11 +614,19 @@
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFCFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFF0FFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0x000FFFFF, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFF07FF, 0xA0027FFF, 0x80807C44, 0x9A000000,
+    0x00013C00, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFF0001, 0x0003FFFF, 0x000001FF, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0x007FFFFF, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0x001FFFFF, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x3FFFFFFF, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
--- a/lib/unictype/pr_grapheme_extend.h
+++ b/lib/unictype/pr_grapheme_extend.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-ctype.c for Unicode 5.1.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 5.2.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
@@ -11,7 +11,7 @@
     int header[1];
     int level1[15];
     short level2[3 << 7];
-    /*unsigned*/ int level3[26 << 4];
+    /*unsigned*/ int level3[27 << 4];
   }
 u_property_grapheme_extend =
 {
@@ -170,6 +170,7 @@
        16 +   384 * sizeof (short) / sizeof (int) +   352,
        -1,
        -1,
+       16 +   384 * sizeof (short) / sizeof (int) +   368,
        -1,
        -1,
        -1,
@@ -265,9 +266,8 @@
        -1,
        -1,
        -1,
-       -1,
-       16 +   384 * sizeof (short) / sizeof (int) +   368,
        16 +   384 * sizeof (short) / sizeof (int) +   384,
+       16 +   384 * sizeof (short) / sizeof (int) +   400,
        -1,
        -1,
        -1,
@@ -290,7 +290,7 @@
        -1,
        -1,
        -1,
-       16 +   384 * sizeof (short) / sizeof (int) +   400,
+       16 +   384 * sizeof (short) / sizeof (int) +   416,
        -1,
        -1,
        -1,
@@ -432,9 +432,9 @@
     0x00000000, 0x00000000, 0xDFC00000, 0x00003D9F,
     0x00020000, 0xFFFF0000, 0x000007FF, 0x00000000,
     0x00000000, 0x0001FFC0, 0x00000000, 0x000FF800,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFBC00000, 0x00003EEF, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000006, 0x10000000, 0x001E21FE, 0x0000000C,
+    0x00000007, 0x10000000, 0x003E21FE, 0x0000000C,
     0x00000002, 0x50000000, 0x0080201E, 0x0000000C,
     0x00000006, 0x10000000, 0x00023986, 0x00230000,
     0x00000006, 0x10000000, 0x000021BE, 0x0000000C,
@@ -449,7 +449,7 @@
     0x03000000, 0x02A00000, 0x00000000, 0x7FFE0000,
     0xFEFF00DF, 0x1FFFFFFF, 0x00000040, 0x00000000,
     0x00000000, 0x66FDE000, 0xC3000000, 0x001E0001,
-    0x00002064, 0x00000000, 0x00000000, 0x00000000,
+    0x20002064, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
@@ -464,20 +464,20 @@
     0x00000000, 0x00000200, 0x00000000, 0x00000000,
     0x00000000, 0x0E040187, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x01800000, 0x00000000, 0x00000000, 0x00000000,
+    0x01800000, 0x00000000, 0x7F400000, 0x9FF81FE5,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x0000000F, 0x17D00000, 0x00000004, 0x000FF800,
     0x00000003, 0x0000033C, 0x00000000, 0x00000000,
     0x00000000, 0x00CFF000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0xFFF70000, 0x000021FD,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0xFFFFFFFF, 0xC000007F,
+    0x00000000, 0x00000000, 0xFFFFFFFF, 0xE000007F,
     0x00003000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0xFFFF0000, 0x0001FFFF,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00038000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0xFFFFFFFF,
     0x00000000, 0x0000FC00, 0x00000000, 0x00000000,
@@ -485,17 +485,17 @@
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x30078000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00030000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000844, 0x00000060, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000010, 0x00000000,
+    0x00000000, 0x00000000, 0x00000010, 0x0003FFFF,
     0x00000000, 0x00003FC0, 0x0003FF80, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000007, 0x13C80000, 0x00000000, 0x00000000,
     0x00000000, 0x00667E00, 0x00001008, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0xC19D0000, 0x00000002, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00002120,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x40000000, 0x00000000, 0x00000000, 0x00000000,
@@ -513,6 +513,10 @@
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000003, 0x06780000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0xF807C3A0,
     0x00000FE7, 0x00003C00, 0x00000000, 0x00000000,
--- a/lib/unictype/pr_grapheme_link.h
+++ b/lib/unictype/pr_grapheme_link.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-ctype.c for Unicode 5.1.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 5.2.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
@@ -11,7 +11,7 @@
     int header[1];
     int level1[2];
     short level2[2 << 7];
-    /*unsigned*/ int level3[9 << 4];
+    /*unsigned*/ int level3[11 << 4];
   }
 u_property_grapheme_link =
 {
@@ -106,6 +106,7 @@
        -1,
        -1,
         3 +   256 * sizeof (short) / sizeof (int) +   112,
+        3 +   256 * sizeof (short) / sizeof (int) +   128,
        -1,
        -1,
        -1,
@@ -153,11 +154,10 @@
        -1,
        -1,
        -1,
-       -1,
-        3 +   256 * sizeof (short) / sizeof (int) +   128,
+        3 +   256 * sizeof (short) / sizeof (int) +   144,
        -1,
        -1,
-       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   160,
        -1,
        -1,
        -1,
@@ -303,17 +303,25 @@
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00100000, 0x00100000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00040000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000001,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000010, 0x00000000,
     0x00000000, 0x00000400, 0x00000000, 0x00000000,
     0x00000040, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000010, 0x00000000,
     0x00000000, 0x00000000, 0x00080000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000001, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00002000,
     0x00000000, 0x80000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x02000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000
   }
 };
--- a/lib/unictype/pr_hex_digit.h
+++ b/lib/unictype/pr_hex_digit.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-ctype.c for Unicode 5.1.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 5.2.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
--- a/lib/unictype/pr_hyphen.h
+++ b/lib/unictype/pr_hyphen.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-ctype.c for Unicode 5.1.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 5.2.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
--- a/lib/unictype/pr_id_continue.h
+++ b/lib/unictype/pr_id_continue.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-ctype.c for Unicode 5.1.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 5.2.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
@@ -11,7 +11,7 @@
     int header[1];
     int level1[15];
     short level2[4 << 7];
-    /*unsigned*/ int level3[45 << 4];
+    /*unsigned*/ int level3[49 << 4];
   }
 u_property_id_continue =
 {
@@ -168,9 +168,9 @@
        -1,
        16 +   512 * sizeof (short) / sizeof (int) +   544,
        16 +   512 * sizeof (short) / sizeof (int) +   560,
-       -1,
+       16 +   512 * sizeof (short) / sizeof (int) +   576,
        -1,
-       -1,
+       16 +   512 * sizeof (short) / sizeof (int) +   592,
        -1,
        -1,
        -1,
@@ -179,8 +179,16 @@
        -1,
        -1,
        16 +   512 * sizeof (short) / sizeof (int) +   304,
-       16 +   512 * sizeof (short) / sizeof (int) +   576,
-       16 +   512 * sizeof (short) / sizeof (int) +   592,
+       16 +   512 * sizeof (short) / sizeof (int) +   608,
+       16 +   512 * sizeof (short) / sizeof (int) +   624,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   640,
        -1,
        -1,
        -1,
@@ -258,18 +266,10 @@
        -1,
        -1,
        -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       16 +   512 * sizeof (short) / sizeof (int) +   608,
-       16 +   512 * sizeof (short) / sizeof (int) +   624,
-       16 +   512 * sizeof (short) / sizeof (int) +   640,
        16 +   512 * sizeof (short) / sizeof (int) +   656,
+       16 +   512 * sizeof (short) / sizeof (int) +   672,
+       16 +   512 * sizeof (short) / sizeof (int) +   688,
+       16 +   512 * sizeof (short) / sizeof (int) +   704,
        -1,
        -1,
        -1,
@@ -373,15 +373,15 @@
        16 +   512 * sizeof (short) / sizeof (int) +   304,
        16 +   512 * sizeof (short) / sizeof (int) +   304,
        16 +   512 * sizeof (short) / sizeof (int) +   304,
-       16 +   512 * sizeof (short) / sizeof (int) +   672,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
+       16 +   512 * sizeof (short) / sizeof (int) +   720,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   736,
        -1,
        -1,
        -1,
@@ -415,10 +415,10 @@
        -1,
        -1,
        16 +   512 * sizeof (short) / sizeof (int) +   304,
-       16 +   512 * sizeof (short) / sizeof (int) +   688,
+       16 +   512 * sizeof (short) / sizeof (int) +   752,
        -1,
        -1,
-       16 +   512 * sizeof (short) / sizeof (int) +   704,
+       16 +   512 * sizeof (short) / sizeof (int) +   768,
        -1,
        -1,
        -1,
@@ -558,15 +558,15 @@
     0xFFFFD7C0, 0xFFFFFFFB, 0xFFFFFFFF, 0xFFBFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFCFB, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFE000F, 0x027FFFFF, 0xFFFFFFFE,
+    0xFFFFFFFF, 0xFFFE003F, 0x027FFFFF, 0xFFFFFFFE,
     0xFFFE00FF, 0xBFFFFFFF, 0xFFFF00B6, 0x000707FF,
     0x07FF0000, 0xFFFFFFFE, 0x7FFFFFFF, 0xFFFFC3FF,
     0xFFFFFFFF, 0xFFFFFFFF, 0x9FEFFFFF, 0x9FFFFDFF,
     0xFFFF0000, 0xFFFFFFFF, 0xFFFFE7FF, 0xFFFFFFFF,
     0xFFFFFFFF, 0x0003FFFF, 0xFFFFFFFF, 0x043FFFFF,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0x00003FFF, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0xFFFFFFFE, 0xF3FFFFFF, 0xFF1F3FFF, 0xF806FFCF,
+    0xFFFFFFFF, 0xF3FFFFFF, 0xFF3F7FFF, 0xFE06FFCF,
     0xFFF99FEE, 0xF3C5FDFF, 0xB080799F, 0x0003FFCF,
     0xFFF987EE, 0xD36DFDFF, 0x5E023987, 0x003FFFC0,
     0xFFFBBFEE, 0xF3EDFDFF, 0x00013BBF, 0x0000FFCF,
@@ -581,9 +581,9 @@
     0x03000001, 0xC2A003FF, 0xFFFFFEFF, 0xFFFE1FFF,
     0xFEFF0FDF, 0x1FFFFFFF, 0x00000040, 0x00000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFF03FF, 0xFFFFFFFF,
-    0x03FFFFFF, 0xFFFFFFFF, 0xFFFF003F, 0x17FFFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0x83FFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFFFF07, 0xFFFFFFFF, 0x03FFFFFF,
+    0x3FFFFFFF, 0xFFFFFFFF, 0xFFFF003F, 0x17FFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0x3D7F3DFF, 0xFFFFFFFF,
     0xFFFF3DFF, 0x7F3DFFFF, 0xFF7FFF3D, 0xFFFFFFFF,
     0xFF3DFFFF, 0xFFFFFFFF, 0x87FFFFFF, 0x0003FE00,
@@ -592,22 +592,22 @@
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x007F9FFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFF9FFF,
     0x07FFFFFE, 0xFFFFFFFF, 0xFFFFFFFF, 0x0001C7FF,
     0x001FDFFF, 0x001FFFFF, 0x000FFFFF, 0x000DDFFF,
     0xFFFFFFFF, 0xFFCFFFFF, 0x308FFFFF, 0x000003FF,
     0x03FF3800, 0xFFFFFFFF, 0xFFFFFFFF, 0x00FFFFFF,
-    0xFFFFFFFF, 0x000007FF, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFF07FF, 0xFFFFFFFF, 0x003FFFFF,
     0x1FFFFFFF, 0x0FFF0FFF, 0xFFFFFFC0, 0x001F3FFF,
-    0xFFFFFFFF, 0xFFFF03FF, 0x03FF03FF, 0x00000000,
-    0x0FFFFFFF, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFF0FFF, 0x07FF03FF, 0x00000000,
+    0x0FFFFFFF, 0xFFFFFFFF, 0x7FFFFFFF, 0x9FFFFFFF,
+    0x03FF03FF, 0x00000080, 0x00000000, 0x00000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0x03FF0FFF, 0x000FF800,
     0xFFFFFFFF, 0x03FFC7FF, 0x00000000, 0x00000000,
     0xFFFFFFFF, 0x00FFFFFF, 0xFFFFE3FF, 0x3FFFFFFF,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0xFFF70000, 0x0007FFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xC000007F,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xE000007F,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0x3F3FFFFF, 0xFFFFFFFF, 0xAAFF3F3F, 0x3FFFFFFF,
@@ -616,8 +616,8 @@
     0x001F0000, 0x00000000, 0x1FFF0000, 0x0001FFE2,
     0x3F2FFC84, 0xF3FFFD50, 0x000043E0, 0xFFFFFFFF,
     0x000001FF, 0x00000000, 0x00000000, 0x00000000,
-    0xFFFFFFFF, 0xFFFF7FFF, 0x7FFFFFFF, 0x3FFEFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x0000001F,
+    0xFFFFFFFF, 0xFFFF7FFF, 0x7FFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x0003F81F,
     0xFFFFFFFF, 0xFFFF003F, 0xFFFFFFFF, 0x0000803F,
     0x007FFFFF, 0x7F7F7F7F, 0x7F7F7F7F, 0xFFFFFFFF,
     0x000000E0, 0x1F3EFFFE, 0xFFFFFFFE, 0xFFFFFFFF,
@@ -635,32 +635,32 @@
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0x0000000F, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x00000FFF, 0x00000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0x00001FFF, 0x00000000, 0x00000000, 0x00000000,
+    0x00001FFF, 0x00000000, 0xFFFF0000, 0x3FFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFF1FFF, 0x00000FFF, 0xFFFFFFFF, 0xB000FFFC,
-    0x00FFFFFF, 0x00000000, 0x00000000, 0x00000000,
+    0x00FFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x0003FFFF,
     0xFF800000, 0xFFFFFFFC, 0xFFFFFFFF, 0xFFFFFFFF,
     0x000019FF, 0x00000000, 0x00000000, 0xF8000000,
     0xFFFFFFFF, 0x000000FF, 0xFFFFFFFF, 0x000FFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0x03FF001F, 0x00000000,
-    0xFFFFFFFF, 0xFFFF3FFF, 0x000FFFFF, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x03FF001F, 0x08FFFFFF,
+    0xFFFFFFFF, 0xFFFF3FFF, 0x000FFFFF, 0x1FFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x03FF8001, 0x00000000,
+    0xFFFFFFFF, 0x007FFFFF, 0x03FF3FFF, 0x0C7FFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x38000007, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0xFFFFFFFF, 0x007FFFFF, 0x03FF3FFF, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0xFFFFFFFF, 0x03FF37FF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFF000F, 0xFFFFF87F, 0x0FFFFFFF,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0x0000000F, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFF3FFF, 0xFFFFFFFF, 0xFFFF07FF,
+    0xFFFFFFFF, 0xFFFF3FFF, 0xFFFFFFFF, 0xFFFF3FFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0x03FFFFFF, 0x00000000,
     0xE0F8007F, 0x5F7FFDFF, 0xFFFFFFDB, 0xFFFFFFFF,
     0xFFFFFFFF, 0x0003FFFF, 0xFFF80000, 0xFFFFFFFF,
@@ -684,12 +684,20 @@
     0x3FFFFFFF, 0x000003FF, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0xFFFFFD3F, 0x91BFFFFF, 0x00000000, 0x00000000,
+    0xFFFFFD3F, 0x91BFFFFF, 0x003FFFFF, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x003FFFFF, 0x03FFFFFF, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0xFEEFF06F, 0x870FFFFF, 0x00000000, 0x00000000,
+    0xFEEFF06F, 0x870FFFFF, 0x00000000, 0x1FFFFFFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0x003FFFFF, 0x003FFFFF, 0x0007FFFF,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x000001FF, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0x07FFFFFF, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
@@ -700,6 +708,10 @@
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0x00007FFF, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0xF807E3E0,
@@ -718,7 +730,11 @@
     0xFFFFFDFF, 0xFFFFFDFF, 0xFFFFCFF7, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0x007FFFFF, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0x001FFFFF, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x3FFFFFFF, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
--- a/lib/unictype/pr_id_start.h
+++ b/lib/unictype/pr_id_start.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-ctype.c for Unicode 5.1.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 5.2.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
@@ -11,7 +11,7 @@
     int header[1];
     int level1[3];
     short level2[3 << 7];
-    /*unsigned*/ int level3[42 << 4];
+    /*unsigned*/ int level3[46 << 4];
   }
 u_property_id_start =
 {
@@ -156,9 +156,9 @@
        -1,
         4 +   384 * sizeof (short) / sizeof (int) +   544,
         4 +   384 * sizeof (short) / sizeof (int) +   560,
-       -1,
+        4 +   384 * sizeof (short) / sizeof (int) +   576,
        -1,
-       -1,
+        4 +   384 * sizeof (short) / sizeof (int) +   592,
        -1,
        -1,
        -1,
@@ -167,8 +167,16 @@
        -1,
        -1,
         4 +   384 * sizeof (short) / sizeof (int) +   304,
-        4 +   384 * sizeof (short) / sizeof (int) +   576,
-        4 +   384 * sizeof (short) / sizeof (int) +   592,
+        4 +   384 * sizeof (short) / sizeof (int) +   608,
+        4 +   384 * sizeof (short) / sizeof (int) +   624,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   640,
        -1,
        -1,
        -1,
@@ -248,16 +256,8 @@
        -1,
        -1,
        -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-        4 +   384 * sizeof (short) / sizeof (int) +   608,
-        4 +   384 * sizeof (short) / sizeof (int) +   624,
+        4 +   384 * sizeof (short) / sizeof (int) +   656,
+        4 +   384 * sizeof (short) / sizeof (int) +   672,
        -1,
        -1,
        -1,
@@ -361,15 +361,15 @@
         4 +   384 * sizeof (short) / sizeof (int) +   304,
         4 +   384 * sizeof (short) / sizeof (int) +   304,
         4 +   384 * sizeof (short) / sizeof (int) +   304,
-        4 +   384 * sizeof (short) / sizeof (int) +   640,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
+        4 +   384 * sizeof (short) / sizeof (int) +   688,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   704,
        -1,
        -1,
        -1,
@@ -403,7 +403,7 @@
        -1,
        -1,
         4 +   384 * sizeof (short) / sizeof (int) +   304,
-        4 +   384 * sizeof (short) / sizeof (int) +   656,
+        4 +   384 * sizeof (short) / sizeof (int) +   720,
        -1,
        -1
   },
@@ -418,15 +418,15 @@
     0xFFFFD740, 0xFFFFFFFB, 0xFFFFFFFF, 0xFFBFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFC03, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFE000F, 0x027FFFFF, 0xFFFFFFFE,
+    0xFFFFFFFF, 0xFFFE003F, 0x027FFFFF, 0xFFFFFFFE,
     0x000000FF, 0x00000000, 0xFFFF0000, 0x000707FF,
     0x00000000, 0xFFFFFFFE, 0x000007FF, 0xFFFEC000,
     0xFFFFFFFF, 0xFFFFFFFF, 0x002FFFFF, 0x9C00C060,
     0xFFFD0000, 0x0000FFFF, 0xFFFFE000, 0xFFFFFFFF,
     0xFFFFFFFF, 0x0002003F, 0xFFFFFC00, 0x043007FF,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x043FFFFF, 0x00000110, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0xFFFFFFF0, 0x23FFFFFF, 0xFF010000, 0xF8060003,
+    0xFFFFFFF0, 0x23FFFFFF, 0xFF010000, 0xFE060003,
     0xFFF99FE0, 0x23C5FDFF, 0xB0004000, 0x00030003,
     0xFFF987E0, 0x036DFDFF, 0x5E000000, 0x001C0000,
     0xFFFBBFE0, 0x23EDFDFF, 0x00010000, 0x00000003,
@@ -442,8 +442,8 @@
     0x00000F00, 0x00000000, 0x00000000, 0x00000000,
     0xFFFFFFFF, 0x800007FF, 0x3C3F0000, 0xFFE1C062,
     0x00004003, 0xFFFFFFFF, 0xFFFF003F, 0x17FFFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0x83FFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFFFF07, 0xFFFFFFFF, 0x03FFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0x3D7F3DFF, 0xFFFFFFFF,
     0xFFFF3DFF, 0x7F3DFFFF, 0xFF7FFF3D, 0xFFFFFFFF,
     0xFF3DFFFF, 0xFFFFFFFF, 0x07FFFFFF, 0x00000000,
@@ -452,20 +452,20 @@
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x007F9FFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFF9FFF,
     0x07FFFFFE, 0xFFFFFFFF, 0xFFFFFFFF, 0x0001C7FF,
     0x0003DFFF, 0x0003FFFF, 0x0003FFFF, 0x0001DFFF,
     0xFFFFFFFF, 0x000FFFFF, 0x10800000, 0x00000000,
     0x00000000, 0xFFFFFFFF, 0xFFFFFFFF, 0x00FFFFFF,
-    0xFFFFFFFF, 0x000005FF, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFF05FF, 0xFFFFFFFF, 0x003FFFFF,
     0x1FFFFFFF, 0x00000000, 0xFFFF0000, 0x001F3FFF,
-    0xFFFFFFFF, 0x000003FF, 0x000000FE, 0x00000000,
-    0x007FFFFF, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0x00000FFF, 0x000000FE, 0x00000000,
+    0x007FFFFF, 0xFFFFFFFF, 0x001FFFFF, 0x00000000,
+    0x00000000, 0x00000080, 0x00000000, 0x00000000,
     0xFFFFFFE0, 0x000FFFFF, 0x00000FE0, 0x00000000,
     0xFFFFFFF8, 0x0000C001, 0x00000000, 0x00000000,
     0xFFFFFFFF, 0x0000000F, 0xFC00E000, 0x3FFFFFFF,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x0003DE00,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0x00000000, 0x00000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
@@ -476,8 +476,8 @@
     0x001F0000, 0x00000000, 0x00000000, 0x00000000,
     0x3F2FFC84, 0xF3FFFD50, 0x000043E0, 0xFFFFFFFF,
     0x000001FF, 0x00000000, 0x00000000, 0x00000000,
-    0xFFFFFFFF, 0xFFFF7FFF, 0x7FFFFFFF, 0x3FFEFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x0000001F,
+    0xFFFFFFFF, 0xFFFF7FFF, 0x7FFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x0000781F,
     0xFFFFFFFF, 0xFFFF003F, 0xFFFFFFFF, 0x0000803F,
     0x007FFFFF, 0x7F7F7F7F, 0x7F7F7F7F, 0x00000000,
     0x000000E0, 0x1F3E03FE, 0xFFFFFFFE, 0xFFFFFFFF,
@@ -495,32 +495,32 @@
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0x0000000F, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x00000FFF, 0x00000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0x00001FFF, 0x00000000, 0x00000000, 0x00000000,
+    0x00001FFF, 0x00000000, 0xFFFF0000, 0x3FFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFF1FFF, 0x00000C00, 0xFFFFFFFF, 0x80007FFC,
-    0x00FFFFFF, 0x00000000, 0x00000000, 0x00000000,
+    0x00FFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x0000FFFF,
     0xFF800000, 0xFFFFFFFC, 0xFFFFFFFF, 0xFFFFFFFF,
     0x000019FF, 0x00000000, 0x00000000, 0xF8000000,
     0xFFFFF7BB, 0x00000007, 0xFFFFFFFF, 0x000FFFFF,
-    0xFFFFFFFC, 0x000FFFFF, 0x00000000, 0x00000000,
-    0xFFFFFC00, 0xFFFF003F, 0x0000007F, 0x00000000,
+    0xFFFFFFFC, 0x000FFFFF, 0x00000000, 0x08FC0000,
+    0xFFFFFC00, 0xFFFF003F, 0x0000007F, 0x1FFFFFFF,
+    0xFFFFFFF0, 0x0007FFFF, 0x00008000, 0x00000000,
+    0xFFFFFFFF, 0x000001FF, 0x00000FF7, 0x047FFFFF,
+    0xFFFFFFFF, 0x3E62FFFF, 0x38000005, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0xFFFFFFFF, 0x000001FF, 0x00000FF7, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0xFFFFFFFF, 0x00000007,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFF000F, 0xFFFFF87F, 0x0FFFFFFF,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0x0000000F, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFF3FFF, 0xFFFFFFFF, 0xFFFF07FF,
+    0xFFFFFFFF, 0xFFFF3FFF, 0xFFFFFFFF, 0xFFFF3FFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0x03FFFFFF, 0x00000000,
     0xA0F8007F, 0x5F7FFDFF, 0xFFFFFFDB, 0xFFFFFFFF,
     0xFFFFFFFF, 0x0003FFFF, 0xFFF80000, 0xFFFFFFFF,
@@ -544,12 +544,20 @@
     0x3FFFFFFF, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0xFFFFFD3F, 0x91BFFFFF, 0x00000000, 0x00000000,
+    0xFFFFFD3F, 0x91BFFFFF, 0x003FFFFF, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x003FFFFF, 0x03FFFFFF, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0xFEEF0001, 0x000FFFFF, 0x00000000, 0x00000000,
+    0xFEEF0001, 0x000FFFFF, 0x00000000, 0x1FFFFFFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0x003FFFFF, 0x003FFFFF, 0x0007FFFF,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x000001FF, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFF8, 0x0000FFFF, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
@@ -560,6 +568,10 @@
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0x00007FFF, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFDFFFFF, 0xFFFFFFFF,
     0xDFFFFFFF, 0xEBFFDE64, 0xFFFFFFEF, 0xFFFFFFFF,
     0xDFDFE7BF, 0x7BFFFFFF, 0xFFFDFC5F, 0xFFFFFFFF,
@@ -570,7 +582,11 @@
     0xFFFFFDFF, 0xFFFFFDFF, 0x00000FF7, 0x00000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0x007FFFFF, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0x001FFFFF, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x3FFFFFFF, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
--- a/lib/unictype/pr_ideographic.h
+++ b/lib/unictype/pr_ideographic.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-ctype.c for Unicode 5.1.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 5.2.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
@@ -11,7 +11,7 @@
     int header[1];
     int level1[3];
     short level2[2 << 7];
-    /*unsigned*/ int level3[8 << 4];
+    /*unsigned*/ int level3[9 << 4];
   }
 u_property_ideographic =
 {
@@ -234,14 +234,14 @@
         4 +   256 * sizeof (short) / sizeof (int) +    16,
         4 +   256 * sizeof (short) / sizeof (int) +    16,
         4 +   256 * sizeof (short) / sizeof (int) +    96,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
+        4 +   256 * sizeof (short) / sizeof (int) +    16,
+        4 +   256 * sizeof (short) / sizeof (int) +    16,
+        4 +   256 * sizeof (short) / sizeof (int) +    16,
+        4 +   256 * sizeof (short) / sizeof (int) +    16,
+        4 +   256 * sizeof (short) / sizeof (int) +    16,
+        4 +   256 * sizeof (short) / sizeof (int) +    16,
+        4 +   256 * sizeof (short) / sizeof (int) +    16,
+        4 +   256 * sizeof (short) / sizeof (int) +   112,
        -1,
        -1,
        -1,
@@ -275,7 +275,7 @@
        -1,
        -1,
         4 +   256 * sizeof (short) / sizeof (int) +    16,
-        4 +   256 * sizeof (short) / sizeof (int) +   112,
+        4 +   256 * sizeof (short) / sizeof (int) +   128,
        -1,
        -1
   },
@@ -295,18 +295,22 @@
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0x0000000F, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x00000FFF, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFF3FFF, 0xFFFFFFFF, 0xFFFF07FF,
+    0xFFFFFFFF, 0xFFFF3FFF, 0xFFFFFFFF, 0xFFFF3FFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0x03FFFFFF, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0x007FFFFF, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0x001FFFFF, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x3FFFFFFF, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
--- a/lib/unictype/pr_ids_binary_operator.h
+++ b/lib/unictype/pr_ids_binary_operator.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-ctype.c for Unicode 5.1.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 5.2.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
--- a/lib/unictype/pr_ids_trinary_operator.h
+++ b/lib/unictype/pr_ids_trinary_operator.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-ctype.c for Unicode 5.1.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 5.2.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
--- a/lib/unictype/pr_ignorable_control.h
+++ b/lib/unictype/pr_ignorable_control.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-ctype.c for Unicode 5.1.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 5.2.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
@@ -11,7 +11,7 @@
     int header[1];
     int level1[15];
     short level2[3 << 7];
-    /*unsigned*/ int level3[7 << 4];
+    /*unsigned*/ int level3[8 << 4];
   }
 u_property_ignorable_control =
 {
@@ -170,6 +170,7 @@
        -1,
        -1,
        -1,
+       16 +   384 * sizeof (short) / sizeof (int) +    80,
        -1,
        -1,
        -1,
@@ -265,8 +266,7 @@
        -1,
        -1,
        -1,
-       -1,
-       16 +   384 * sizeof (short) / sizeof (int) +    80,
+       16 +   384 * sizeof (short) / sizeof (int) +    96,
        -1,
        -1,
        -1,
@@ -290,7 +290,7 @@
        -1,
        -1,
        -1,
-       16 +   384 * sizeof (short) / sizeof (int) +    96,
+       16 +   384 * sizeof (short) / sizeof (int) +   112,
        -1,
        -1,
        -1,
@@ -441,6 +441,10 @@
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x0E000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x20000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x07F80000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
--- a/lib/unictype/pr_iso_control.h
+++ b/lib/unictype/pr_iso_control.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-ctype.c for Unicode 5.1.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 5.2.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
--- a/lib/unictype/pr_join_control.h
+++ b/lib/unictype/pr_join_control.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-ctype.c for Unicode 5.1.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 5.2.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
--- a/lib/unictype/pr_left_of_pair.h
+++ b/lib/unictype/pr_left_of_pair.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-ctype.c for Unicode 5.1.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 5.2.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
--- a/lib/unictype/pr_line_separator.h
+++ b/lib/unictype/pr_line_separator.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-ctype.c for Unicode 5.1.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 5.2.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
--- a/lib/unictype/pr_logical_order_exception.h
+++ b/lib/unictype/pr_logical_order_exception.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-ctype.c for Unicode 5.1.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 5.2.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
@@ -11,7 +11,7 @@
     int header[1];
     int level1[1];
     short level2[1 << 7];
-    /*unsigned*/ int level3[1 << 4];
+    /*unsigned*/ int level3[2 << 4];
   }
 u_property_logical_order_exception =
 {
@@ -103,7 +103,7 @@
        -1,
        -1,
        -1,
-       -1,
+        2 +   128 * sizeof (short) / sizeof (int) +    16,
        -1,
        -1,
        -1,
@@ -151,6 +151,10 @@
     0x00000000, 0x00000000, 0x0000001F, 0x00000000,
     0x00000000, 0x00000000, 0x0000001F, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x1A600000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000
   }
 };
--- a/lib/unictype/pr_lowercase.h
+++ b/lib/unictype/pr_lowercase.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-ctype.c for Unicode 5.1.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 5.2.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
@@ -289,7 +289,7 @@
     0x00010000, 0xFFFFF000, 0xAAE37FFF, 0x192FAAAA,
     0x00000000, 0xFFFF0000, 0xFFFFFFFF, 0xAAAAAAAA,
     0xAAAAA802, 0xAAAAAAAA, 0xAAAAD554, 0xAAAAAAAA,
-    0xAAAAAAAA, 0x0000000A, 0x00000000, 0xFFFFFFFE,
+    0xAAAAAAAA, 0x0000002A, 0x00000000, 0xFFFFFFFE,
     0x000000FF, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
@@ -299,7 +299,7 @@
     0xBFEAAAAA, 0xAAAAAAAA, 0xAAAAAAAA, 0xAAAAAAAA,
     0x003F00FF, 0x00FF00FF, 0x00FF003F, 0x3FFF00FF,
     0x00FF00FF, 0x40DF00FF, 0x00CF00DC, 0x00DC00FF,
-    0x00000000, 0x00000000, 0x00000000, 0x80020000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x001F0000, 0x00000000, 0x00000000, 0x00000000,
     0x0008C400, 0x32108000, 0x000043C0, 0xFFFF0000,
     0x00000010, 0x00000000, 0x00000000, 0x00000000,
@@ -308,7 +308,7 @@
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0xFFFF0000, 0x7FFFFFFF, 0x3FDA1562,
-    0xAAAAAAAA, 0xAAAAAAAA, 0xAAAAAAAA, 0x0000001A,
+    0xAAAAAAAA, 0xAAAAAAAA, 0xAAAAAAAA, 0x0000501A,
     0xFFFFFFFF, 0x0000003F, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0xAAAAAAAA, 0x00002AA8,
--- a/lib/unictype/pr_math.h
+++ b/lib/unictype/pr_math.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-ctype.c for Unicode 5.1.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 5.2.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
--- a/lib/unictype/pr_non_break.h
+++ b/lib/unictype/pr_non_break.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-ctype.c for Unicode 5.1.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 5.2.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
--- a/lib/unictype/pr_not_a_character.h
+++ b/lib/unictype/pr_not_a_character.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-ctype.c for Unicode 5.1.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 5.2.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
--- a/lib/unictype/pr_numeric.h
+++ b/lib/unictype/pr_numeric.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-ctype.c for Unicode 5.1.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 5.2.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
@@ -11,7 +11,7 @@
     int header[1];
     int level1[3];
     short level2[3 << 7];
-    /*unsigned*/ int level3[32 << 4];
+    /*unsigned*/ int level3[34 << 4];
   }
 u_property_numeric =
 {
@@ -157,6 +157,7 @@
         4 +   384 * sizeof (short) / sizeof (int) +   416,
         4 +   384 * sizeof (short) / sizeof (int) +   432,
        -1,
+        4 +   384 * sizeof (short) / sizeof (int) +   448,
        -1,
        -1,
        -1,
@@ -167,8 +168,7 @@
        -1,
        -1,
        -1,
-       -1,
-        4 +   384 * sizeof (short) / sizeof (int) +   448,
+        4 +   384 * sizeof (short) / sizeof (int) +   464,
        -1,
        -1,
        -1,
@@ -255,9 +255,22 @@
        -1,
        -1,
        -1,
-        4 +   384 * sizeof (short) / sizeof (int) +   464,
+        4 +   384 * sizeof (short) / sizeof (int) +   480,
+       -1,
+        4 +   384 * sizeof (short) / sizeof (int) +   496,
+       -1,
+       -1,
+       -1,
+       -1,
        -1,
-        4 +   384 * sizeof (short) / sizeof (int) +   480,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        4 +   384 * sizeof (short) / sizeof (int) +   512,
        -1,
        -1,
        -1,
@@ -389,20 +402,7 @@
        -1,
        -1,
        -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-        4 +   384 * sizeof (short) / sizeof (int) +   496,
+        4 +   384 * sizeof (short) / sizeof (int) +   528,
        -1,
        -1,
        -1
@@ -447,9 +447,9 @@
     0x03FF0000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x0000FFC0, 0x00000000,
-    0x00000000, 0x00000000, 0x03FF0000, 0x00000000,
+    0x00000000, 0x00000000, 0x07FF0000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x03FF03FF, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x03FF0000, 0x00000000,
     0x00000000, 0x03FF0000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x03FF03FF, 0x00000000,
@@ -458,8 +458,8 @@
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x03F10000,
     0x000003FF, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0xFFF80000, 0xFFFFFFFF,
-    0x000001EF, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0xFFFF0000, 0xFFFFFFFF,
+    0x000003EF, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0xFFFFFFFF,
     0x0FFFFFFF, 0x00000000, 0x00000000, 0xFFFFFC00,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
@@ -481,17 +481,17 @@
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x000003FF, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x0000FFC0,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x003F0000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x03FF0000, 0x00000000,
     0x000003FF, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x03FF0000, 0x00000000,
     0x00000000, 0x00000000, 0x03FF0000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x03FF0000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x01080800,
@@ -512,11 +512,15 @@
     0x00000000, 0x000003FF, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0xFF000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x0FC00000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x03C00000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x000000FF, 0x60000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x000000FF, 0x00000000,
+    0x00000000, 0x00000000, 0xFF000000, 0xFF000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x7FFFFFFF,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
@@ -533,6 +537,10 @@
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0xFFFFC000, 0xFFFFFFFF,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x000007FF, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00010000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000
--- a/lib/unictype/pr_other_alphabetic.h
+++ b/lib/unictype/pr_other_alphabetic.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-ctype.c for Unicode 5.1.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 5.2.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
@@ -11,7 +11,7 @@
     int header[1];
     int level1[2];
     short level2[2 << 7];
-    /*unsigned*/ int level3[19 << 4];
+    /*unsigned*/ int level3[20 << 4];
   }
 u_property_other_alphabetic =
 {
@@ -157,7 +157,7 @@
         3 +   256 * sizeof (short) / sizeof (int) +   288,
        -1,
        -1,
-       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   304,
        -1,
        -1,
        -1,
@@ -291,9 +291,9 @@
     0x00000000, 0x00000000, 0x1FC00000, 0x0000219E,
     0x00020000, 0xFFFF0000, 0x00000000, 0x00000000,
     0x00000000, 0x0001FFC0, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xF8C00000, 0x00001EEF, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x0000000E, 0xC0000000, 0x00001FFF, 0x0000000C,
+    0x0000000F, 0xC0000000, 0x00205FFF, 0x0000000C,
     0x0000000E, 0xC0000000, 0x0080199F, 0x0000000C,
     0x0000000E, 0xC0000000, 0x00021987, 0x00230000,
     0x0000000E, 0xC0000000, 0x00001BBF, 0x0000000C,
@@ -308,7 +308,7 @@
     0x00000000, 0x00000000, 0x00000000, 0xFFFE0000,
     0xFEFF0003, 0x1FFFFFFF, 0x00000000, 0x00000000,
     0x00000000, 0x797FF800, 0xC3C00000, 0x001E0185,
-    0x0000007C, 0x00000000, 0x00000000, 0x00000000,
+    0x3000007C, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
@@ -323,12 +323,12 @@
     0x00000000, 0x00000200, 0x00000000, 0x00000000,
     0x00000000, 0x01FF0FFF, 0x00000000, 0x00000000,
     0x00000000, 0xFFFF0000, 0x00000301, 0x00000000,
-    0x0F800000, 0x00000000, 0x00000000, 0x00000000,
+    0x0F800000, 0x00000000, 0x7FE00000, 0x001FFFFE,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x0000001F, 0xFFE00000, 0x0000000F, 0x00000000,
     0x00000007, 0x000003FE, 0x00000000, 0x00000000,
     0x00000000, 0x003FFFF0, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00040000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
@@ -342,11 +342,11 @@
     0x00000000, 0x000000F8, 0x00000000, 0x00000000,
     0x00000003, 0xFFF00000, 0x0000000F, 0x00000000,
     0x00000000, 0x000007C0, 0x0007FF80, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x0000000F, 0xFFF80000, 0x00000000, 0x00000000,
     0x00000000, 0x007FFE00, 0x00003008, 0x00000000,
+    0x00000000, 0x419D0000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x000007F8,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x40000000, 0x00000000, 0x00000000, 0x00000000,
@@ -354,6 +354,10 @@
     0x0000F06E, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000004, 0x01FF0000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000
   }
 };
--- a/lib/unictype/pr_other_default_ignorable_code_point.h
+++ b/lib/unictype/pr_other_default_ignorable_code_point.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-ctype.c for Unicode 5.1.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 5.2.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
--- a/lib/unictype/pr_other_grapheme_extend.h
+++ b/lib/unictype/pr_other_grapheme_extend.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-ctype.c for Unicode 5.1.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 5.2.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
--- a/lib/unictype/pr_other_id_continue.h
+++ b/lib/unictype/pr_other_id_continue.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-ctype.c for Unicode 5.1.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 5.2.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
--- a/lib/unictype/pr_other_id_start.h
+++ b/lib/unictype/pr_other_id_start.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-ctype.c for Unicode 5.1.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 5.2.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
--- a/lib/unictype/pr_other_lowercase.h
+++ b/lib/unictype/pr_other_lowercase.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-ctype.c for Unicode 5.1.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 5.2.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
--- a/lib/unictype/pr_other_math.h
+++ b/lib/unictype/pr_other_math.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-ctype.c for Unicode 5.1.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 5.2.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
--- a/lib/unictype/pr_other_uppercase.h
+++ b/lib/unictype/pr_other_uppercase.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-ctype.c for Unicode 5.1.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 5.2.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
--- a/lib/unictype/pr_paired_punctuation.h
+++ b/lib/unictype/pr_paired_punctuation.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-ctype.c for Unicode 5.1.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 5.2.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
--- a/lib/unictype/pr_paragraph_separator.h
+++ b/lib/unictype/pr_paragraph_separator.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-ctype.c for Unicode 5.1.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 5.2.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
--- a/lib/unictype/pr_pattern_syntax.h
+++ b/lib/unictype/pr_pattern_syntax.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-ctype.c for Unicode 5.1.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 5.2.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
--- a/lib/unictype/pr_pattern_white_space.h
+++ b/lib/unictype/pr_pattern_white_space.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-ctype.c for Unicode 5.1.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 5.2.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
--- a/lib/unictype/pr_private_use.h
+++ b/lib/unictype/pr_private_use.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-ctype.c for Unicode 5.1.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 5.2.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
--- a/lib/unictype/pr_punctuation.h
+++ b/lib/unictype/pr_punctuation.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-ctype.c for Unicode 5.1.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 5.2.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
@@ -11,7 +11,7 @@
     int header[1];
     int level1[2];
     short level2[2 << 7];
-    /*unsigned*/ int level3[30 << 4];
+    /*unsigned*/ int level3[33 << 4];
   }
 u_property_punctuation =
 {
@@ -31,21 +31,21 @@
         3 +   256 * sizeof (short) / sizeof (int) +    96,
         3 +   256 * sizeof (short) / sizeof (int) +   112,
         3 +   256 * sizeof (short) / sizeof (int) +   128,
-       -1,
         3 +   256 * sizeof (short) / sizeof (int) +   144,
         3 +   256 * sizeof (short) / sizeof (int) +   160,
         3 +   256 * sizeof (short) / sizeof (int) +   176,
         3 +   256 * sizeof (short) / sizeof (int) +   192,
-       -1,
         3 +   256 * sizeof (short) / sizeof (int) +   208,
-        3 +   256 * sizeof (short) / sizeof (int) +   224,
        -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   224,
         3 +   256 * sizeof (short) / sizeof (int) +   240,
+       -1,
         3 +   256 * sizeof (short) / sizeof (int) +   256,
+        3 +   256 * sizeof (short) / sizeof (int) +   272,
        -1,
-        3 +   256 * sizeof (short) / sizeof (int) +   272,
         3 +   256 * sizeof (short) / sizeof (int) +   288,
         3 +   256 * sizeof (short) / sizeof (int) +   304,
+        3 +   256 * sizeof (short) / sizeof (int) +   320,
        -1,
        -1,
        -1,
@@ -103,10 +103,10 @@
        -1,
        -1,
        -1,
-       -1,
-        3 +   256 * sizeof (short) / sizeof (int) +   320,
         3 +   256 * sizeof (short) / sizeof (int) +   336,
         3 +   256 * sizeof (short) / sizeof (int) +   352,
+        3 +   256 * sizeof (short) / sizeof (int) +   368,
+        3 +   256 * sizeof (short) / sizeof (int) +   384,
        -1,
        -1,
        -1,
@@ -147,14 +147,17 @@
        -1,
        -1,
        -1,
-        3 +   256 * sizeof (short) / sizeof (int) +   368,
-        3 +   256 * sizeof (short) / sizeof (int) +   384,
         3 +   256 * sizeof (short) / sizeof (int) +   400,
         3 +   256 * sizeof (short) / sizeof (int) +   416,
+        3 +   256 * sizeof (short) / sizeof (int) +   432,
+        3 +   256 * sizeof (short) / sizeof (int) +   448,
        -1,
        -1,
-        3 +   256 * sizeof (short) / sizeof (int) +   432,
-        3 +   256 * sizeof (short) / sizeof (int) +   448,
+        3 +   256 * sizeof (short) / sizeof (int) +   464,
+        3 +   256 * sizeof (short) / sizeof (int) +   480,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   496,
        -1,
        -1,
        -1,
@@ -164,10 +167,7 @@
        -1,
        -1,
        -1,
-       -1,
-       -1,
-       -1,
-        3 +   256 * sizeof (short) / sizeof (int) +   464,
+        3 +   256 * sizeof (short) / sizeof (int) +   512,
        -1,
        -1,
        -1,
@@ -295,7 +295,7 @@
     0x00000000, 0x00000000, 0x00100000, 0x00000000,
     0x00003FFF, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x03800000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x7FFF0000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00010030,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
@@ -315,6 +315,10 @@
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x000001FE,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000001, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00006000,
     0x18000000, 0x00000000, 0x00000000, 0x00003800,
     0x00000000, 0x00600000, 0x00000000, 0x00000000,
@@ -324,11 +328,11 @@
     0x00000000, 0x00000000, 0x00000030, 0x00000000,
     0x00000000, 0x00000000, 0xC0000000, 0x00000000,
     0xC0000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00003F7F, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0xFC000000, 0x00000001,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0xF8000000, 0x00000000, 0xC0000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00080000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0xFFFF0000, 0xFFFF00FF, 0x7FFBFFEF, 0x60000000,
@@ -351,7 +355,7 @@
     0x00000000, 0x00000000, 0x00000000, 0xDE000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0xFFFFFFFF, 0x00017FFF, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0x00037FFF, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
@@ -359,18 +363,22 @@
     0x00000000, 0x00000001, 0x00000000, 0x08000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0xC0000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x0000E000, 0x00000000, 0x00000000, 0x40080000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00FC0000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00F00000,
-    0x00000000, 0x00000000, 0x0000C000, 0x00000000,
+    0x00000000, 0x00000000, 0x0000C000, 0x07000000,
     0x00000000, 0x0000C000, 0x80000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0xC0003FFE, 0x00000000,
     0x00000000, 0x00000000, 0xF0000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0xC0000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000800,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0xC0000000, 0x00000000, 0x00000000,
@@ -387,12 +395,16 @@
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x80000000, 0x00000000, 0x00010000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00800000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x80000000, 0x80000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x01FF0000, 0x00000000,
+    0x00000000, 0x00000000, 0x01FF0000, 0x80000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0xFE000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0xD8000000, 0x00000003, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x000F0000,
--- a/lib/unictype/pr_quotation_mark.h
+++ b/lib/unictype/pr_quotation_mark.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-ctype.c for Unicode 5.1.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 5.2.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
--- a/lib/unictype/pr_radical.h
+++ b/lib/unictype/pr_radical.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-ctype.c for Unicode 5.1.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 5.2.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
--- a/lib/unictype/pr_sentence_terminal.h
+++ b/lib/unictype/pr_sentence_terminal.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-ctype.c for Unicode 5.1.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 5.2.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
@@ -9,40 +9,155 @@
 struct
   {
     int header[1];
-    int level1[1];
-    short level2[1 << 7];
-    /*unsigned*/ int level3[17 << 4];
+    int level1[2];
+    short level2[2 << 7];
+    /*unsigned*/ int level3[19 << 4];
   }
 u_property_sentence_terminal =
 {
-  { 1 },
-  {     2 * sizeof (int) / sizeof (short) +     0 },
+  { 2 },
+  {
+        3 * sizeof (int) / sizeof (short) +     0,
+        3 * sizeof (int) / sizeof (short) +   128
+  },
   {
-        2 +   128 * sizeof (short) / sizeof (int) +     0,
+        3 +   256 * sizeof (short) / sizeof (int) +     0,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +    16,
+        3 +   256 * sizeof (short) / sizeof (int) +    32,
+        3 +   256 * sizeof (short) / sizeof (int) +    48,
+       -1,
+       -1,
        -1,
-        2 +   128 * sizeof (short) / sizeof (int) +    16,
-        2 +   128 * sizeof (short) / sizeof (int) +    32,
-        2 +   128 * sizeof (short) / sizeof (int) +    48,
+        3 +   256 * sizeof (short) / sizeof (int) +    64,
+        3 +   256 * sizeof (short) / sizeof (int) +    80,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +    96,
+        3 +   256 * sizeof (short) / sizeof (int) +   112,
+        3 +   256 * sizeof (short) / sizeof (int) +   128,
+        3 +   256 * sizeof (short) / sizeof (int) +   144,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   160,
+       -1,
+       -1,
+       -1,
        -1,
        -1,
        -1,
-        2 +   128 * sizeof (short) / sizeof (int) +    64,
-        2 +   128 * sizeof (short) / sizeof (int) +    80,
+        3 +   256 * sizeof (short) / sizeof (int) +   176,
+        3 +   256 * sizeof (short) / sizeof (int) +   192,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
        -1,
-        2 +   128 * sizeof (short) / sizeof (int) +    96,
-        2 +   128 * sizeof (short) / sizeof (int) +   112,
-        2 +   128 * sizeof (short) / sizeof (int) +   128,
-        2 +   128 * sizeof (short) / sizeof (int) +   144,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
        -1,
-        2 +   128 * sizeof (short) / sizeof (int) +   160,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
        -1,
        -1,
        -1,
        -1,
        -1,
        -1,
-        2 +   128 * sizeof (short) / sizeof (int) +   176,
-        2 +   128 * sizeof (short) / sizeof (int) +   192,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   208,
+        3 +   256 * sizeof (short) / sizeof (int) +   224,
+        3 +   256 * sizeof (short) / sizeof (int) +   240,
+        3 +   256 * sizeof (short) / sizeof (int) +   256,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   272,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   288,
        -1,
        -1,
        -1,
@@ -101,9 +216,6 @@
        -1,
        -1,
        -1,
-        2 +   128 * sizeof (short) / sizeof (int) +   208,
-        2 +   128 * sizeof (short) / sizeof (int) +   224,
-        2 +   128 * sizeof (short) / sizeof (int) +   240,
        -1,
        -1,
        -1,
@@ -145,7 +257,26 @@
        -1,
        -1,
        -1,
-        2 +   128 * sizeof (short) / sizeof (int) +   256
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1
   },
   {
     0x00000000, 0x80004002, 0x00000000, 0x00000000,
@@ -200,21 +331,29 @@
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x80000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x0000C000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00880000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00C00000,
     0x00000000, 0x00000000, 0x0000C000, 0x00000000,
     0x00000000, 0x00008000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000300, 0x00000000,
     0x00000000, 0x00000000, 0xE0000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000800,
     0x00000000, 0x00000000, 0x00C40000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x80004002, 0x00000000, 0x00000000, 0x00000002,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0xC0000000, 0x00000003, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000
   }
 };
--- a/lib/unictype/pr_soft_dotted.h
+++ b/lib/unictype/pr_soft_dotted.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-ctype.c for Unicode 5.1.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 5.2.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
--- a/lib/unictype/pr_space.h
+++ b/lib/unictype/pr_space.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-ctype.c for Unicode 5.1.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 5.2.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
--- a/lib/unictype/pr_terminal_punctuation.h
+++ b/lib/unictype/pr_terminal_punctuation.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-ctype.c for Unicode 5.1.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 5.2.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
@@ -11,7 +11,7 @@
     int header[1];
     int level1[2];
     short level2[2 << 7];
-    /*unsigned*/ int level3[22 << 4];
+    /*unsigned*/ int level3[25 << 4];
   }
 u_property_terminal_punctuation =
 {
@@ -103,10 +103,10 @@
        -1,
        -1,
        -1,
-       -1,
         3 +   256 * sizeof (short) / sizeof (int) +   240,
         3 +   256 * sizeof (short) / sizeof (int) +   256,
         3 +   256 * sizeof (short) / sizeof (int) +   272,
+        3 +   256 * sizeof (short) / sizeof (int) +   288,
        -1,
        -1,
        -1,
@@ -148,12 +148,16 @@
        -1,
        -1,
        -1,
-        3 +   256 * sizeof (short) / sizeof (int) +   288,
-       -1,
         3 +   256 * sizeof (short) / sizeof (int) +   304,
        -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   320,
        -1,
-        3 +   256 * sizeof (short) / sizeof (int) +   320,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   336,
+        3 +   256 * sizeof (short) / sizeof (int) +   352,
+       -1,
+       -1,
+        3 +   256 * sizeof (short) / sizeof (int) +   368,
        -1,
        -1,
        -1,
@@ -163,11 +167,7 @@
        -1,
        -1,
        -1,
-       -1,
-       -1,
-       -1,
-       -1,
-        3 +   256 * sizeof (short) / sizeof (int) +   336,
+        3 +   256 * sizeof (short) / sizeof (int) +   384,
        -1,
        -1,
        -1,
@@ -295,7 +295,7 @@
     0x00000000, 0x00000000, 0x00100000, 0x00000000,
     0x000017FF, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x03000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x7FFF0000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000030,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
@@ -320,7 +320,7 @@
     0x00000000, 0x00000000, 0x00000030, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000F00, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0xEC000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0xF8000000, 0x00000000, 0xC0000000,
@@ -339,18 +339,22 @@
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0xC0000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x0000E000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00F80000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00C00000,
     0x00000000, 0x00000000, 0x0000C000, 0x00000000,
     0x00000000, 0x00008000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000380, 0x00000000,
     0x00000000, 0x00000000, 0xE0000000, 0x00000000,
+    0x00000000, 0x00000000, 0x80000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000800,
     0x00000000, 0x00000000, 0x00F70000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x8C005002, 0x00000000, 0x00000000, 0x00000012,
@@ -359,9 +363,17 @@
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x80000000, 0x00000000, 0x00010000, 0x00000000,
+    0x00000000, 0x00000000, 0x00800000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x80000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x80000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0xFC000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0xC0000000, 0x00000003, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x000F0000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
--- a/lib/unictype/pr_titlecase.h
+++ b/lib/unictype/pr_titlecase.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-ctype.c for Unicode 5.1.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 5.2.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
--- a/lib/unictype/pr_unassigned_code_value.h
+++ b/lib/unictype/pr_unassigned_code_value.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-ctype.c for Unicode 5.1.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 5.2.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
@@ -11,7 +11,7 @@
     int header[1];
     int level1[15];
     short level2[5 << 7];
-    /*unsigned*/ int level3[51 << 4];
+    /*unsigned*/ int level3[56 << 4];
   }
 u_property_unassigned_code_value =
 {
@@ -44,6 +44,7 @@
        16 +   640 * sizeof (short) / sizeof (int) +    96,
        16 +   640 * sizeof (short) / sizeof (int) +   112,
        16 +   640 * sizeof (short) / sizeof (int) +   128,
+       -1,
        16 +   640 * sizeof (short) / sizeof (int) +   144,
        16 +   640 * sizeof (short) / sizeof (int) +   160,
        16 +   640 * sizeof (short) / sizeof (int) +   176,
@@ -53,13 +54,12 @@
        16 +   640 * sizeof (short) / sizeof (int) +   240,
        16 +   640 * sizeof (short) / sizeof (int) +   256,
        16 +   640 * sizeof (short) / sizeof (int) +   272,
+       -1,
        16 +   640 * sizeof (short) / sizeof (int) +   288,
-       -1,
        16 +   640 * sizeof (short) / sizeof (int) +   304,
        16 +   640 * sizeof (short) / sizeof (int) +   320,
        16 +   640 * sizeof (short) / sizeof (int) +   336,
        16 +   640 * sizeof (short) / sizeof (int) +   352,
-       16 +   640 * sizeof (short) / sizeof (int) +   368,
        -1,
        -1,
        -1,
@@ -72,7 +72,7 @@
        -1,
        -1,
        -1,
-       16 +   640 * sizeof (short) / sizeof (int) +   384,
+       16 +   640 * sizeof (short) / sizeof (int) +   368,
        -1,
        -1,
        -1,
@@ -113,13 +113,13 @@
        -1,
        -1,
        -1,
-       16 +   640 * sizeof (short) / sizeof (int) +   400,
+       16 +   640 * sizeof (short) / sizeof (int) +   384,
        -1,
        -1,
+       16 +   640 * sizeof (short) / sizeof (int) +   400,
        16 +   640 * sizeof (short) / sizeof (int) +   416,
        16 +   640 * sizeof (short) / sizeof (int) +   432,
        16 +   640 * sizeof (short) / sizeof (int) +   448,
-       16 +   640 * sizeof (short) / sizeof (int) +   464,
        -1,
        -1,
        -1,
@@ -141,7 +141,7 @@
        -1,
        -1,
        -1,
-       16 +   640 * sizeof (short) / sizeof (int) +   480,
+       16 +   640 * sizeof (short) / sizeof (int) +   464,
        -1,
        -1,
        -1,
@@ -159,6 +159,7 @@
        -1,
        -1,
        -1,
+       16 +   640 * sizeof (short) / sizeof (int) +   480,
        16 +   640 * sizeof (short) / sizeof (int) +   496,
        16 +   640 * sizeof (short) / sizeof (int) +   512,
        16 +   640 * sizeof (short) / sizeof (int) +   528,
@@ -168,128 +169,127 @@
        16 +   640 * sizeof (short) / sizeof (int) +   592,
        16 +   640 * sizeof (short) / sizeof (int) +   608,
        16 +   640 * sizeof (short) / sizeof (int) +   624,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       -1,
        16 +   640 * sizeof (short) / sizeof (int) +   640,
        16 +   640 * sizeof (short) / sizeof (int) +   656,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       -1,
        16 +   640 * sizeof (short) / sizeof (int) +   672,
        16 +   640 * sizeof (short) / sizeof (int) +   688,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       -1,
+       -1,
        16 +   640 * sizeof (short) / sizeof (int) +   704,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
        16 +   640 * sizeof (short) / sizeof (int) +   720,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
        16 +   640 * sizeof (short) / sizeof (int) +   736,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
        16 +   640 * sizeof (short) / sizeof (int) +   752,
+       16 +   640 * sizeof (short) / sizeof (int) +   768,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   784,
+       16 +   640 * sizeof (short) / sizeof (int) +   800,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   816,
        -1,
        -1,
        -1,
@@ -373,307 +373,307 @@
        -1,
        -1,
        -1,
-       16 +   640 * sizeof (short) / sizeof (int) +   768,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
+       16 +   640 * sizeof (short) / sizeof (int) +   832,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       16 +   640 * sizeof (short) / sizeof (int) +   848,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
        -1,
-       16 +   640 * sizeof (short) / sizeof (int) +   784,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   752,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   752,
-       16 +   640 * sizeof (short) / sizeof (int) +   800,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   592,
-       16 +   640 * sizeof (short) / sizeof (int) +   752
+       16 +   640 * sizeof (short) / sizeof (int) +   864,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   816,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   816,
+       16 +   640 * sizeof (short) / sizeof (int) +   880,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   576,
+       16 +   640 * sizeof (short) / sizeof (int) +   816
   },
   {
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
@@ -682,16 +682,16 @@
     0x0000280F, 0x00000004, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x0001FFF0, 0x01800000, 0x00000001,
+    0x00000000, 0x0001FFC0, 0x01800000, 0x00000001,
     0x0001F900, 0x00000000, 0x0000FF00, 0xFFE0F800,
     0x30000030, 0x00000001, 0x80000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00004000, 0x00000000, 0x00001800, 0x00000000,
     0x00000000, 0xFFFC0000, 0x00000000, 0xF8000000,
-    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x00000000, 0x8000C000, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0x00000001, 0x0C000000, 0x00E0C000, 0x07F80000,
-    0x00066011, 0x0C3A0200, 0x4F7F8660, 0xF8000030,
+    0x00000000, 0x0C000000, 0x00C08000, 0x01F80000,
+    0x00066011, 0x0C3A0200, 0x4F7F8660, 0xF0000030,
     0x00067811, 0x2C920200, 0xA1FDC678, 0xFFC0003F,
     0x00044011, 0x0C120200, 0xFFFEC440, 0xFFFD0030,
     0x00066011, 0x0C120200, 0x4F3FC660, 0xFFFC0030,
@@ -703,64 +703,60 @@
     0x00000001, 0x78000000, 0xF0000000, 0xFFFFFFFF,
     0x010FDA69, 0xC4001351, 0xCC00C0A0, 0xFFFFFFFF,
     0x00000000, 0x00000000, 0x00000100, 0x0001E000,
-    0x0100F000, 0x20000000, 0xFFE02000, 0xFFFFFFFF,
+    0x0100F000, 0x20000000, 0xFE002000, 0xFFFFFFFF,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x3C000000, 0x00000000, 0x0000FFC0, 0xE0000000,
-    0x00000000, 0x00000000, 0x7C000000, 0x00000000,
-    0x00000000, 0x000000F8, 0x00000000, 0xFC000000,
+    0x00000000, 0x00000000, 0x0000FFC0, 0xE0000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0xC280C200, 0x00000000,
     0x0000C200, 0x80C20000, 0x008000C2, 0x00000000,
     0x00C20000, 0x00000000, 0x78000000, 0xE0000000,
     0xFC000000, 0x00000000, 0x00000000, 0xFFE00000,
-    0x00000001, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0xFF800000,
     0xE0000000, 0x00000000, 0x00000000, 0xFFFE0000,
     0xFFE02000, 0xFF800000, 0xFFF00000, 0xFFF22000,
     0x00000000, 0x00000000, 0xC0000000, 0xFC00FC00,
     0xFC008000, 0x00000000, 0x00000000, 0xFF000000,
-    0x00000000, 0xFFFFF800, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x00000000, 0x0000F800, 0x00000000, 0xFFC00000,
     0xE0000000, 0xF000F000, 0x0000000E, 0xFFE0C000,
-    0x00000000, 0x0000FC00, 0x3C00FC00, 0x00000000,
-    0x30000000, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x00000000, 0x0000F000, 0x3800FC00, 0x00000000,
+    0x30000000, 0x00000000, 0x80000000, 0x60000000,
+    0xFC00FC00, 0xFFFFC000, 0xFFFFFFFF, 0xFFFFFFFF,
     0x00000000, 0x00000000, 0x0000F000, 0xE0000000,
     0x00000000, 0xFC003800, 0xFFFFFFFF, 0xFFFFFFFF,
     0x00000000, 0x07000000, 0x00001C00, 0x00000000,
-    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x0000FFFF, 0xFFF80000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x3FFFFF80,
+    0x00000000, 0x00000000, 0x00000000, 0x1FFFFF80,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0xC0C00000, 0x00000000, 0x5500C0C0, 0xC0000000,
     0x00000000, 0x00200000, 0x10300020, 0x80230000,
     0x00000000, 0x00000000, 0x00000000, 0x000C03E0,
-    0xFFE08000, 0xFFC00000, 0x0000FFFF, 0xFFFE0000,
-    0x00000000, 0x00000000, 0x00070000, 0x00000000,
-    0x0000FE00, 0x00000000, 0x00000000, 0x00000000,
+    0xFFE08000, 0xFE000000, 0x0000FFFF, 0xFFFE0000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x0000FC00, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0xFFFFFF00,
+    0x00000000, 0x00000000, 0x00000000, 0xFFFFFE00,
     0x00000000, 0xFFFFFF80, 0xFFFFF800, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0xC0000000, 0xE0000000, 0xFFFFFFF0, 0xFFFFFFFF,
-    0x00000C21, 0x00000100, 0x80B85000, 0x00000001,
+    0x00000000, 0x00000000, 0x00004000, 0x000000F4,
+    0x00000C21, 0x00000100, 0x80385000, 0x00000001,
     0x00E00000, 0x80010000, 0x0000E800, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0xFFE0E000, 0xFFFFFFFF,
+    0x00000000, 0x00000000, 0xFC00E000, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0x00000000, 0x00008000, 0x80000000, 0xC0010000,
-    0x00000000, 0x00000000, 0x00000000, 0x01FFF800,
+    0x00000000, 0x00008000, 0x80000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x01FC0000,
     0x00000000, 0x0000FFC0, 0x00000000, 0xFFFF7FC0,
     0xFF800000, 0x80808080, 0x80808080, 0x00000000,
-    0x00000000, 0xFFFE0000, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x00000000, 0xFFFC0000, 0xFFFFFFFF, 0xFFFFFFFF,
     0x04000000, 0x00000000, 0x00000000, 0xFFF00000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0xFFC00000, 0xF000FFFF,
@@ -768,7 +764,7 @@
     0x01800000, 0x00000000, 0x00000000, 0x00000000,
     0x0000001F, 0x0001C000, 0x00000000, 0x00000000,
     0x00008000, 0xFF000000, 0x00000000, 0x0000FFF0,
-    0x80000000, 0x00000000, 0x0000FFF0, 0x00000000,
+    0x80000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x80000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
@@ -779,28 +775,28 @@
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0xFFFFFFF0, 0xFFFFFFFF,
+    0x00000000, 0x00000000, 0xFFFFF000, 0xFFFFFFFF,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x0000E000, 0x00000000, 0xFFFFFF80, 0xFFFFFFFF,
+    0x0000E000, 0x00000000, 0x0000FF80, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0xFFFFF000, 0x00000000, 0x0FF00003,
-    0xFF000000, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFF000000, 0x00000000, 0x00000000, 0xFF000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0xFFFFE000, 0xFFFFFFFF, 0xFFFFFFFF, 0x07FFFFFF,
-    0x00000000, 0xFFFFF000, 0x00000000, 0xFF000000,
-    0x00000000, 0x00000000, 0xFC003FE0, 0xFFFFFFFF,
-    0x00000000, 0x00000000, 0x7FF00000, 0xFFFFFFFF,
+    0x00000000, 0xFC00F000, 0x00000000, 0xFF000000,
+    0x00000000, 0x00000000, 0xFC003FE0, 0xF0000000,
+    0x00000000, 0x00000000, 0x7FF00000, 0xE0000000,
+    0x00000000, 0x00000000, 0x3C004000, 0xFFFFFFFF,
+    0x00000000, 0xFF800000, 0x0C00C000, 0xF0000000,
+    0x00000000, 0x00000000, 0x07FFFFF8, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0x00000000, 0xFF800000, 0x0C00C000, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x00000000, 0xFC00C000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0xFFFFFFF0, 0xFFFFFFFF, 0xFFFFFFFF,
-    0x00000000, 0x0000C000, 0x00000000, 0x0000F800,
+    0x00000000, 0x0000FFF0, 0x00000780, 0xF0000000,
+    0x00000000, 0x0000C000, 0x00000000, 0x0000C000,
     0x00000000, 0x00000000, 0xFC000000, 0xFFFFFFFF,
     0x1F07FF80, 0xA0800000, 0x00000024, 0x00000000,
     0x00000000, 0xFFFC0000, 0x0007FFFF, 0x00000000,
@@ -828,14 +824,26 @@
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0x000002C0, 0x6E400000, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x000002C0, 0x6E400000, 0x00400000, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x70000000, 0x7C000000, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x01100F90, 0x78F00000, 0xFE00FF00, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x00000000, 0x01C00000, 0x00C00000, 0x00F80000,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0x7C000000, 0x7C000000, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x00000000, 0x00000000, 0xFFFFFE00, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0x01100F90, 0x78F00000, 0xFE00FF00, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x80000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x00000000, 0x00000000, 0xFFFFFFFC, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0xFFFF8000,
@@ -844,6 +852,10 @@
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x00000000, 0xFFFF8000, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0xFFC00000,
     0x00000000, 0x00000180, 0x00000000, 0x00000000,
@@ -862,6 +874,10 @@
     0x00000000, 0x00000000, 0x00003000, 0x00000000,
     0x00000000, 0x0000F000, 0x00000000, 0x00000000,
     0xFFF00000, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x0000F800, 0x5FFD8000, 0x7F7F83BB, 0x65FFFFFF,
+    0xFFFEC3FF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x0000FFFE, 0xFFFC0000, 0xFFFFFE00, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
@@ -870,7 +886,11 @@
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x3FFFFFFF,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0xFF800000, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0xFFE00000, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xC0000000, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
--- a/lib/unictype/pr_unified_ideograph.h
+++ b/lib/unictype/pr_unified_ideograph.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-ctype.c for Unicode 5.1.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 5.2.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
@@ -11,7 +11,7 @@
     int header[1];
     int level1[3];
     short level2[2 << 7];
-    /*unsigned*/ int level3[5 << 4];
+    /*unsigned*/ int level3[6 << 4];
   }
 u_property_unified_ideograph =
 {
@@ -234,14 +234,14 @@
         4 +   256 * sizeof (short) / sizeof (int) +     0,
         4 +   256 * sizeof (short) / sizeof (int) +     0,
         4 +   256 * sizeof (short) / sizeof (int) +    64,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
+        4 +   256 * sizeof (short) / sizeof (int) +     0,
+        4 +   256 * sizeof (short) / sizeof (int) +     0,
+        4 +   256 * sizeof (short) / sizeof (int) +     0,
+        4 +   256 * sizeof (short) / sizeof (int) +     0,
+        4 +   256 * sizeof (short) / sizeof (int) +     0,
+        4 +   256 * sizeof (short) / sizeof (int) +     0,
+        4 +   256 * sizeof (short) / sizeof (int) +     0,
+        4 +   256 * sizeof (short) / sizeof (int) +    80,
        -1,
        -1,
        -1,
@@ -291,14 +291,18 @@
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0x0000000F, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x00000FFF, 0x00000000,
     0x801AC000, 0x0000039A, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0x007FFFFF, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0x001FFFFF, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000
   }
 };
--- a/lib/unictype/pr_uppercase.h
+++ b/lib/unictype/pr_uppercase.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-ctype.c for Unicode 5.1.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 5.2.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
@@ -289,7 +289,7 @@
     0xFFFED740, 0x00000FFB, 0x551C8000, 0xE6905555,
     0xFFFFFFFF, 0x0000FFFF, 0x00000000, 0x55555555,
     0x55555401, 0x55555555, 0x55552AAB, 0x55555555,
-    0x55555555, 0xFFFE0005, 0x007FFFFF, 0x00000000,
+    0x55555555, 0xFFFE0015, 0x007FFFFF, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0xFFFFFFFF, 0x0000003F, 0x00000000,
@@ -307,8 +307,8 @@
     0x00000000, 0xFFC00000, 0x0000FFFF, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0xFFFFFFFF, 0x00007FFF, 0x00000000, 0x0024EA9D,
-    0x55555555, 0x55555555, 0x55555555, 0x00000005,
+    0xFFFFFFFF, 0x00007FFF, 0x00000000, 0xC025EA9D,
+    0x55555555, 0x55555555, 0x55555555, 0x00002805,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x55555555, 0x00001554,
--- a/lib/unictype/pr_variation_selector.h
+++ b/lib/unictype/pr_variation_selector.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-ctype.c for Unicode 5.1.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 5.2.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
--- a/lib/unictype/pr_white_space.h
+++ b/lib/unictype/pr_white_space.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-ctype.c for Unicode 5.1.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 5.2.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
--- a/lib/unictype/pr_xid_continue.h
+++ b/lib/unictype/pr_xid_continue.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-ctype.c for Unicode 5.1.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 5.2.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
@@ -11,7 +11,7 @@
     int header[1];
     int level1[15];
     short level2[4 << 7];
-    /*unsigned*/ int level3[45 << 4];
+    /*unsigned*/ int level3[49 << 4];
   }
 u_property_xid_continue =
 {
@@ -168,9 +168,9 @@
        -1,
        16 +   512 * sizeof (short) / sizeof (int) +   544,
        16 +   512 * sizeof (short) / sizeof (int) +   560,
-       -1,
+       16 +   512 * sizeof (short) / sizeof (int) +   576,
        -1,
-       -1,
+       16 +   512 * sizeof (short) / sizeof (int) +   592,
        -1,
        -1,
        -1,
@@ -179,8 +179,16 @@
        -1,
        -1,
        16 +   512 * sizeof (short) / sizeof (int) +   304,
-       16 +   512 * sizeof (short) / sizeof (int) +   576,
-       16 +   512 * sizeof (short) / sizeof (int) +   592,
+       16 +   512 * sizeof (short) / sizeof (int) +   608,
+       16 +   512 * sizeof (short) / sizeof (int) +   624,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   640,
        -1,
        -1,
        -1,
@@ -258,18 +266,10 @@
        -1,
        -1,
        -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       16 +   512 * sizeof (short) / sizeof (int) +   608,
-       16 +   512 * sizeof (short) / sizeof (int) +   624,
-       16 +   512 * sizeof (short) / sizeof (int) +   640,
        16 +   512 * sizeof (short) / sizeof (int) +   656,
+       16 +   512 * sizeof (short) / sizeof (int) +   672,
+       16 +   512 * sizeof (short) / sizeof (int) +   688,
+       16 +   512 * sizeof (short) / sizeof (int) +   704,
        -1,
        -1,
        -1,
@@ -373,15 +373,15 @@
        16 +   512 * sizeof (short) / sizeof (int) +   304,
        16 +   512 * sizeof (short) / sizeof (int) +   304,
        16 +   512 * sizeof (short) / sizeof (int) +   304,
-       16 +   512 * sizeof (short) / sizeof (int) +   672,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
+       16 +   512 * sizeof (short) / sizeof (int) +   720,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   304,
+       16 +   512 * sizeof (short) / sizeof (int) +   736,
        -1,
        -1,
        -1,
@@ -415,10 +415,10 @@
        -1,
        -1,
        16 +   512 * sizeof (short) / sizeof (int) +   304,
-       16 +   512 * sizeof (short) / sizeof (int) +   688,
+       16 +   512 * sizeof (short) / sizeof (int) +   752,
        -1,
        -1,
-       16 +   512 * sizeof (short) / sizeof (int) +   704,
+       16 +   512 * sizeof (short) / sizeof (int) +   768,
        -1,
        -1,
        -1,
@@ -558,15 +558,15 @@
     0xFFFFD7C0, 0xFFFFFFFB, 0xFFFFFFFF, 0xFFBFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFCFB, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFE000F, 0x027FFFFF, 0xFFFFFFFE,
+    0xFFFFFFFF, 0xFFFE003F, 0x027FFFFF, 0xFFFFFFFE,
     0xFFFE00FF, 0xBFFFFFFF, 0xFFFF00B6, 0x000707FF,
     0x07FF0000, 0xFFFFFFFE, 0x7FFFFFFF, 0xFFFFC3FF,
     0xFFFFFFFF, 0xFFFFFFFF, 0x9FEFFFFF, 0x9FFFFDFF,
     0xFFFF0000, 0xFFFFFFFF, 0xFFFFE7FF, 0xFFFFFFFF,
     0xFFFFFFFF, 0x0003FFFF, 0xFFFFFFFF, 0x043FFFFF,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0x00003FFF, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0xFFFFFFFE, 0xF3FFFFFF, 0xFF1F3FFF, 0xF806FFCF,
+    0xFFFFFFFF, 0xF3FFFFFF, 0xFF3F7FFF, 0xFE06FFCF,
     0xFFF99FEE, 0xF3C5FDFF, 0xB080799F, 0x0003FFCF,
     0xFFF987EE, 0xD36DFDFF, 0x5E023987, 0x003FFFC0,
     0xFFFBBFEE, 0xF3EDFDFF, 0x00013BBF, 0x0000FFCF,
@@ -581,9 +581,9 @@
     0x03000001, 0xC2A003FF, 0xFFFFFEFF, 0xFFFE1FFF,
     0xFEFF0FDF, 0x1FFFFFFF, 0x00000040, 0x00000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFF03FF, 0xFFFFFFFF,
-    0x03FFFFFF, 0xFFFFFFFF, 0xFFFF003F, 0x17FFFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0x83FFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFFFF07, 0xFFFFFFFF, 0x03FFFFFF,
+    0x3FFFFFFF, 0xFFFFFFFF, 0xFFFF003F, 0x17FFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0x3D7F3DFF, 0xFFFFFFFF,
     0xFFFF3DFF, 0x7F3DFFFF, 0xFF7FFF3D, 0xFFFFFFFF,
     0xFF3DFFFF, 0xFFFFFFFF, 0x87FFFFFF, 0x0003FE00,
@@ -592,22 +592,22 @@
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x007F9FFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFF9FFF,
     0x07FFFFFE, 0xFFFFFFFF, 0xFFFFFFFF, 0x0001C7FF,
     0x001FDFFF, 0x001FFFFF, 0x000FFFFF, 0x000DDFFF,
     0xFFFFFFFF, 0xFFCFFFFF, 0x308FFFFF, 0x000003FF,
     0x03FF3800, 0xFFFFFFFF, 0xFFFFFFFF, 0x00FFFFFF,
-    0xFFFFFFFF, 0x000007FF, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFF07FF, 0xFFFFFFFF, 0x003FFFFF,
     0x1FFFFFFF, 0x0FFF0FFF, 0xFFFFFFC0, 0x001F3FFF,
-    0xFFFFFFFF, 0xFFFF03FF, 0x03FF03FF, 0x00000000,
-    0x0FFFFFFF, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFF0FFF, 0x07FF03FF, 0x00000000,
+    0x0FFFFFFF, 0xFFFFFFFF, 0x7FFFFFFF, 0x9FFFFFFF,
+    0x03FF03FF, 0x00000080, 0x00000000, 0x00000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0x03FF0FFF, 0x000FF800,
     0xFFFFFFFF, 0x03FFC7FF, 0x00000000, 0x00000000,
     0xFFFFFFFF, 0x00FFFFFF, 0xFFFFE3FF, 0x3FFFFFFF,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0xFFF70000, 0x0007FFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xC000007F,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xE000007F,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0x3F3FFFFF, 0xFFFFFFFF, 0xAAFF3F3F, 0x3FFFFFFF,
@@ -616,8 +616,8 @@
     0x001F0000, 0x00000000, 0x1FFF0000, 0x0001FFE2,
     0x3F2FFC84, 0xF3FFFD50, 0x000043E0, 0xFFFFFFFF,
     0x000001FF, 0x00000000, 0x00000000, 0x00000000,
-    0xFFFFFFFF, 0xFFFF7FFF, 0x7FFFFFFF, 0x3FFEFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x0000001F,
+    0xFFFFFFFF, 0xFFFF7FFF, 0x7FFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x0003F81F,
     0xFFFFFFFF, 0xFFFF003F, 0xFFFFFFFF, 0x0000803F,
     0x007FFFFF, 0x7F7F7F7F, 0x7F7F7F7F, 0xFFFFFFFF,
     0x000000E0, 0x1F3EFFFE, 0xFFFFFFFE, 0xFFFFFFFF,
@@ -635,32 +635,32 @@
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0x0000000F, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x00000FFF, 0x00000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0x00001FFF, 0x00000000, 0x00000000, 0x00000000,
+    0x00001FFF, 0x00000000, 0xFFFF0000, 0x3FFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFF1FFF, 0x00000FFF, 0xFFFFFFFF, 0xB000FFFC,
-    0x00FFFFFF, 0x00000000, 0x00000000, 0x00000000,
+    0x00FFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x0003FFFF,
     0xFF800000, 0xFFFFFFFC, 0xFFFFFFFF, 0xFFFFFFFF,
     0x000019FF, 0x00000000, 0x00000000, 0xF8000000,
     0xFFFFFFFF, 0x000000FF, 0xFFFFFFFF, 0x000FFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0x03FF001F, 0x00000000,
-    0xFFFFFFFF, 0xFFFF3FFF, 0x000FFFFF, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x03FF001F, 0x08FFFFFF,
+    0xFFFFFFFF, 0xFFFF3FFF, 0x000FFFFF, 0x1FFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x03FF8001, 0x00000000,
+    0xFFFFFFFF, 0x007FFFFF, 0x03FF3FFF, 0x0C7FFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x38000007, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0xFFFFFFFF, 0x007FFFFF, 0x03FF3FFF, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0xFFFFFFFF, 0x03FF37FF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFF000F, 0xFFFFF87F, 0x0FFFFFFF,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0x0000000F, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFF3FFF, 0xFFFFFFFF, 0xFFFF07FF,
+    0xFFFFFFFF, 0xFFFF3FFF, 0xFFFFFFFF, 0xFFFF3FFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0x03FFFFFF, 0x00000000,
     0xE0F8007F, 0x5F7FFDFF, 0xFFFFFFDB, 0xFFFFFFFF,
     0xFFFFFFFF, 0x0003FFFF, 0xFFF80000, 0xFFFFFFFF,
@@ -684,12 +684,20 @@
     0x3FFFFFFF, 0x000003FF, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0xFFFFFD3F, 0x91BFFFFF, 0x00000000, 0x00000000,
+    0xFFFFFD3F, 0x91BFFFFF, 0x003FFFFF, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x003FFFFF, 0x03FFFFFF, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0xFEEFF06F, 0x870FFFFF, 0x00000000, 0x00000000,
+    0xFEEFF06F, 0x870FFFFF, 0x00000000, 0x1FFFFFFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0x003FFFFF, 0x003FFFFF, 0x0007FFFF,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x000001FF, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0x07FFFFFF, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
@@ -700,6 +708,10 @@
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0x00007FFF, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0xF807E3E0,
@@ -718,7 +730,11 @@
     0xFFFFFDFF, 0xFFFFFDFF, 0xFFFFCFF7, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0x007FFFFF, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0x001FFFFF, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x3FFFFFFF, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
--- a/lib/unictype/pr_xid_start.h
+++ b/lib/unictype/pr_xid_start.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-ctype.c for Unicode 5.1.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 5.2.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
@@ -11,7 +11,7 @@
     int header[1];
     int level1[3];
     short level2[3 << 7];
-    /*unsigned*/ int level3[42 << 4];
+    /*unsigned*/ int level3[46 << 4];
   }
 u_property_xid_start =
 {
@@ -156,9 +156,9 @@
        -1,
         4 +   384 * sizeof (short) / sizeof (int) +   544,
         4 +   384 * sizeof (short) / sizeof (int) +   560,
-       -1,
+        4 +   384 * sizeof (short) / sizeof (int) +   576,
        -1,
-       -1,
+        4 +   384 * sizeof (short) / sizeof (int) +   592,
        -1,
        -1,
        -1,
@@ -167,8 +167,16 @@
        -1,
        -1,
         4 +   384 * sizeof (short) / sizeof (int) +   304,
-        4 +   384 * sizeof (short) / sizeof (int) +   576,
-        4 +   384 * sizeof (short) / sizeof (int) +   592,
+        4 +   384 * sizeof (short) / sizeof (int) +   608,
+        4 +   384 * sizeof (short) / sizeof (int) +   624,
+       -1,
+       -1,
+       -1,
+       -1,
+       -1,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   640,
        -1,
        -1,
        -1,
@@ -248,16 +256,8 @@
        -1,
        -1,
        -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-        4 +   384 * sizeof (short) / sizeof (int) +   608,
-        4 +   384 * sizeof (short) / sizeof (int) +   624,
+        4 +   384 * sizeof (short) / sizeof (int) +   656,
+        4 +   384 * sizeof (short) / sizeof (int) +   672,
        -1,
        -1,
        -1,
@@ -361,15 +361,15 @@
         4 +   384 * sizeof (short) / sizeof (int) +   304,
         4 +   384 * sizeof (short) / sizeof (int) +   304,
         4 +   384 * sizeof (short) / sizeof (int) +   304,
-        4 +   384 * sizeof (short) / sizeof (int) +   640,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
-       -1,
+        4 +   384 * sizeof (short) / sizeof (int) +   688,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   304,
+        4 +   384 * sizeof (short) / sizeof (int) +   704,
        -1,
        -1,
        -1,
@@ -403,7 +403,7 @@
        -1,
        -1,
         4 +   384 * sizeof (short) / sizeof (int) +   304,
-        4 +   384 * sizeof (short) / sizeof (int) +   656,
+        4 +   384 * sizeof (short) / sizeof (int) +   720,
        -1,
        -1
   },
@@ -418,15 +418,15 @@
     0xFFFFD740, 0xFFFFFFFB, 0xFFFFFFFF, 0xFFBFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFC03, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFE000F, 0x027FFFFF, 0xFFFFFFFE,
+    0xFFFFFFFF, 0xFFFE003F, 0x027FFFFF, 0xFFFFFFFE,
     0x000000FF, 0x00000000, 0xFFFF0000, 0x000707FF,
     0x00000000, 0xFFFFFFFE, 0x000007FF, 0xFFFEC000,
     0xFFFFFFFF, 0xFFFFFFFF, 0x002FFFFF, 0x9C00C060,
     0xFFFD0000, 0x0000FFFF, 0xFFFFE000, 0xFFFFFFFF,
     0xFFFFFFFF, 0x0002003F, 0xFFFFFC00, 0x043007FF,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x043FFFFF, 0x00000110, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0xFFFFFFF0, 0x23FFFFFF, 0xFF010000, 0xF8060003,
+    0xFFFFFFF0, 0x23FFFFFF, 0xFF010000, 0xFE060003,
     0xFFF99FE0, 0x23C5FDFF, 0xB0004000, 0x00030003,
     0xFFF987E0, 0x036DFDFF, 0x5E000000, 0x001C0000,
     0xFFFBBFE0, 0x23EDFDFF, 0x00010000, 0x00000003,
@@ -442,8 +442,8 @@
     0x00000F00, 0x00000000, 0x00000000, 0x00000000,
     0xFFFFFFFF, 0x800007FF, 0x3C3F0000, 0xFFE1C062,
     0x00004003, 0xFFFFFFFF, 0xFFFF003F, 0x17FFFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0x83FFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFFFF07, 0xFFFFFFFF, 0x03FFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0x3D7F3DFF, 0xFFFFFFFF,
     0xFFFF3DFF, 0x7F3DFFFF, 0xFF7FFF3D, 0xFFFFFFFF,
     0xFF3DFFFF, 0xFFFFFFFF, 0x07FFFFFF, 0x00000000,
@@ -452,20 +452,20 @@
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x007F9FFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFF9FFF,
     0x07FFFFFE, 0xFFFFFFFF, 0xFFFFFFFF, 0x0001C7FF,
     0x0003DFFF, 0x0003FFFF, 0x0003FFFF, 0x0001DFFF,
     0xFFFFFFFF, 0x000FFFFF, 0x10800000, 0x00000000,
     0x00000000, 0xFFFFFFFF, 0xFFFFFFFF, 0x00FFFFFF,
-    0xFFFFFFFF, 0x000005FF, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFF05FF, 0xFFFFFFFF, 0x003FFFFF,
     0x1FFFFFFF, 0x00000000, 0xFFFF0000, 0x001F3FFF,
-    0xFFFFFFFF, 0x000003FF, 0x000000FE, 0x00000000,
-    0x007FFFFF, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0x00000FFF, 0x000000FE, 0x00000000,
+    0x007FFFFF, 0xFFFFFFFF, 0x001FFFFF, 0x00000000,
+    0x00000000, 0x00000080, 0x00000000, 0x00000000,
     0xFFFFFFE0, 0x000FFFFF, 0x00000FE0, 0x00000000,
     0xFFFFFFF8, 0x0000C001, 0x00000000, 0x00000000,
     0xFFFFFFFF, 0x0000000F, 0xFC00E000, 0x3FFFFFFF,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x0003DE00,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0x00000000, 0x00000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
@@ -476,8 +476,8 @@
     0x001F0000, 0x00000000, 0x00000000, 0x00000000,
     0x3F2FFC84, 0xF3FFFD50, 0x000043E0, 0xFFFFFFFF,
     0x000001FF, 0x00000000, 0x00000000, 0x00000000,
-    0xFFFFFFFF, 0xFFFF7FFF, 0x7FFFFFFF, 0x3FFEFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x0000001F,
+    0xFFFFFFFF, 0xFFFF7FFF, 0x7FFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x0000781F,
     0xFFFFFFFF, 0xFFFF003F, 0xFFFFFFFF, 0x0000803F,
     0x007FFFFF, 0x7F7F7F7F, 0x7F7F7F7F, 0x00000000,
     0x000000E0, 0x1F3E03FE, 0xFFFFFFFE, 0xFFFFFFFF,
@@ -495,32 +495,32 @@
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0x0000000F, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x00000FFF, 0x00000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0x00001FFF, 0x00000000, 0x00000000, 0x00000000,
+    0x00001FFF, 0x00000000, 0xFFFF0000, 0x3FFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFF1FFF, 0x00000C00, 0xFFFFFFFF, 0x80007FFC,
-    0x00FFFFFF, 0x00000000, 0x00000000, 0x00000000,
+    0x00FFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x0000FFFF,
     0xFF800000, 0xFFFFFFFC, 0xFFFFFFFF, 0xFFFFFFFF,
     0x000019FF, 0x00000000, 0x00000000, 0xF8000000,
     0xFFFFF7BB, 0x00000007, 0xFFFFFFFF, 0x000FFFFF,
-    0xFFFFFFFC, 0x000FFFFF, 0x00000000, 0x00000000,
-    0xFFFFFC00, 0xFFFF003F, 0x0000007F, 0x00000000,
+    0xFFFFFFFC, 0x000FFFFF, 0x00000000, 0x08FC0000,
+    0xFFFFFC00, 0xFFFF003F, 0x0000007F, 0x1FFFFFFF,
+    0xFFFFFFF0, 0x0007FFFF, 0x00008000, 0x00000000,
+    0xFFFFFFFF, 0x000001FF, 0x00000FF7, 0x047FFFFF,
+    0xFFFFFFFF, 0x3E62FFFF, 0x38000005, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0xFFFFFFFF, 0x000001FF, 0x00000FF7, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0xFFFFFFFF, 0x00000007,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFF000F, 0xFFFFF87F, 0x0FFFFFFF,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0x0000000F, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
-    0xFFFFFFFF, 0xFFFF3FFF, 0xFFFFFFFF, 0xFFFF07FF,
+    0xFFFFFFFF, 0xFFFF3FFF, 0xFFFFFFFF, 0xFFFF3FFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0x03FFFFFF, 0x00000000,
     0xA0F8007F, 0x5F7FFDFF, 0xFFFFFFDB, 0xFFFFFFFF,
     0xFFFFFFFF, 0x0003FFFF, 0xFFF80000, 0xFFFFFFFF,
@@ -544,12 +544,20 @@
     0x3FFFFFFF, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0xFFFFFD3F, 0x91BFFFFF, 0x00000000, 0x00000000,
+    0xFFFFFD3F, 0x91BFFFFF, 0x003FFFFF, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x003FFFFF, 0x03FFFFFF, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
-    0xFEEF0001, 0x000FFFFF, 0x00000000, 0x00000000,
+    0xFEEF0001, 0x000FFFFF, 0x00000000, 0x1FFFFFFF,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0x003FFFFF, 0x003FFFFF, 0x0007FFFF,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0x000001FF, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFF8, 0x0000FFFF, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
@@ -560,6 +568,10 @@
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0x00007FFF, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFDFFFFF, 0xFFFFFFFF,
     0xDFFFFFFF, 0xEBFFDE64, 0xFFFFFFEF, 0xFFFFFFFF,
     0xDFDFE7BF, 0x7BFFFFFF, 0xFFFDFC5F, 0xFFFFFFFF,
@@ -570,7 +582,11 @@
     0xFFFFFDFF, 0xFFFFFDFF, 0x00000FF7, 0x00000000,
     0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
     0xFFFFFFFF, 0xFFFFFFFF, 0x007FFFFF, 0x00000000,
-    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0x001FFFFF, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x3FFFFFFF, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
--- a/lib/unictype/pr_zero_width.h
+++ b/lib/unictype/pr_zero_width.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Properties of Unicode characters.  */
-/* Generated automatically by gen-ctype.c for Unicode 5.1.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 5.2.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
@@ -11,7 +11,7 @@
     int header[1];
     int level1[15];
     short level2[3 << 7];
-    /*unsigned*/ int level3[7 << 4];
+    /*unsigned*/ int level3[8 << 4];
   }
 u_property_zero_width =
 {
@@ -170,6 +170,7 @@
        -1,
        -1,
        -1,
+       16 +   384 * sizeof (short) / sizeof (int) +    80,
        -1,
        -1,
        -1,
@@ -265,8 +266,7 @@
        -1,
        -1,
        -1,
-       -1,
-       16 +   384 * sizeof (short) / sizeof (int) +    80,
+       16 +   384 * sizeof (short) / sizeof (int) +    96,
        -1,
        -1,
        -1,
@@ -290,7 +290,7 @@
        -1,
        -1,
        -1,
-       16 +   384 * sizeof (short) / sizeof (int) +    96,
+       16 +   384 * sizeof (short) / sizeof (int) +   112,
        -1,
        -1,
        -1,
@@ -441,6 +441,10 @@
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x0E000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x20000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
     0x00000000, 0x00000000, 0x00000000, 0x07F80000,
     0x00000000, 0x00000000, 0x00000000, 0x00000000,
--- a/lib/unictype/scripts.h
+++ b/lib/unictype/scripts.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Unicode scripts.  */
-/* Generated automatically by gen-ctype.c for Unicode 5.1.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 5.2.0.  */
 static const uc_interval_t script_common_intervals[] =
 {
   { 0x0000, 1, 0 }, { 0x0040, 0, 1 },
@@ -28,37 +28,42 @@
   { 0x0970, 1, 1 },
   { 0x0CF1, 1, 0 }, { 0x0CF2, 0, 1 },
   { 0x0E3F, 1, 1 },
+  { 0x0FD5, 1, 0 }, { 0x0FD8, 0, 1 },
   { 0x10FB, 1, 1 },
   { 0x16EB, 1, 0 }, { 0x16ED, 0, 1 },
   { 0x1735, 1, 0 }, { 0x1736, 0, 1 },
   { 0x1802, 1, 0 }, { 0x1803, 0, 1 },
   { 0x1805, 1, 1 },
+  { 0x1CD3, 1, 1 },
+  { 0x1CE1, 1, 1 },
+  { 0x1CE9, 1, 0 }, { 0x1CEC, 0, 1 },
+  { 0x1CEE, 1, 0 }, { 0x1CF2, 0, 1 },
   { 0x2000, 1, 0 }, { 0x200B, 0, 1 },
   { 0x200E, 1, 0 }, { 0x2064, 0, 1 },
   { 0x206A, 1, 0 }, { 0x2070, 0, 1 },
   { 0x2074, 1, 0 }, { 0x207E, 0, 1 },
   { 0x2080, 1, 0 }, { 0x208E, 0, 1 },
-  { 0x20A0, 1, 0 }, { 0x20B5, 0, 1 },
+  { 0x20A0, 1, 0 }, { 0x20B8, 0, 1 },
   { 0x2100, 1, 0 }, { 0x2125, 0, 1 },
   { 0x2127, 1, 0 }, { 0x2129, 0, 1 },
   { 0x212C, 1, 0 }, { 0x2131, 0, 1 },
   { 0x2133, 1, 0 }, { 0x214D, 0, 1 },
-  { 0x214F, 1, 1 },
-  { 0x2153, 1, 0 }, { 0x215F, 0, 1 },
-  { 0x2190, 1, 0 }, { 0x23E7, 0, 1 },
+  { 0x214F, 1, 0 }, { 0x215F, 0, 1 },
+  { 0x2189, 1, 1 },
+  { 0x2190, 1, 0 }, { 0x23E8, 0, 1 },
   { 0x2400, 1, 0 }, { 0x2426, 0, 1 },
   { 0x2440, 1, 0 }, { 0x244A, 0, 1 },
-  { 0x2460, 1, 0 }, { 0x269D, 0, 1 },
-  { 0x26A0, 1, 0 }, { 0x26BC, 0, 1 },
-  { 0x26C0, 1, 0 }, { 0x26C3, 0, 1 },
+  { 0x2460, 1, 0 }, { 0x26CD, 0, 1 },
+  { 0x26CF, 1, 0 }, { 0x26E1, 0, 1 },
+  { 0x26E3, 1, 1 },
+  { 0x26E8, 1, 0 }, { 0x26FF, 0, 1 },
   { 0x2701, 1, 0 }, { 0x2704, 0, 1 },
   { 0x2706, 1, 0 }, { 0x2709, 0, 1 },
   { 0x270C, 1, 0 }, { 0x2727, 0, 1 },
   { 0x2729, 1, 0 }, { 0x274B, 0, 1 },
   { 0x274D, 1, 1 },
   { 0x274F, 1, 0 }, { 0x2752, 0, 1 },
-  { 0x2756, 1, 1 },
-  { 0x2758, 1, 0 }, { 0x275E, 0, 1 },
+  { 0x2756, 1, 0 }, { 0x275E, 0, 1 },
   { 0x2761, 1, 0 }, { 0x2794, 0, 1 },
   { 0x2798, 1, 0 }, { 0x27AF, 0, 1 },
   { 0x27B1, 1, 0 }, { 0x27BE, 0, 1 },
@@ -66,8 +71,8 @@
   { 0x27CC, 1, 1 },
   { 0x27D0, 1, 0 }, { 0x27FF, 0, 1 },
   { 0x2900, 1, 0 }, { 0x2B4C, 0, 1 },
-  { 0x2B50, 1, 0 }, { 0x2B54, 0, 1 },
-  { 0x2E00, 1, 0 }, { 0x2E30, 0, 1 },
+  { 0x2B50, 1, 0 }, { 0x2B59, 0, 1 },
+  { 0x2E00, 1, 0 }, { 0x2E31, 0, 1 },
   { 0x2FF0, 1, 0 }, { 0x2FFB, 0, 1 },
   { 0x3000, 1, 0 }, { 0x3004, 0, 1 },
   { 0x3006, 1, 1 },
@@ -79,13 +84,13 @@
   { 0x30FB, 1, 0 }, { 0x30FC, 0, 1 },
   { 0x3190, 1, 0 }, { 0x319F, 0, 1 },
   { 0x31C0, 1, 0 }, { 0x31E3, 0, 1 },
-  { 0x3220, 1, 0 }, { 0x3243, 0, 1 },
-  { 0x3250, 1, 0 }, { 0x325F, 0, 1 },
+  { 0x3220, 1, 0 }, { 0x325F, 0, 1 },
   { 0x327F, 1, 0 }, { 0x32CF, 0, 1 },
   { 0x3358, 1, 0 }, { 0x33FF, 0, 1 },
   { 0x4DC0, 1, 0 }, { 0x4DFF, 0, 1 },
   { 0xA700, 1, 0 }, { 0xA721, 0, 1 },
   { 0xA788, 1, 0 }, { 0xA78A, 0, 1 },
+  { 0xA830, 1, 0 }, { 0xA839, 0, 1 },
   { 0xFD3E, 1, 0 }, { 0xFD3F, 0, 1 },
   { 0xFDFD, 1, 1 },
   { 0xFE10, 1, 0 }, { 0xFE19, 0, 1 },
@@ -138,6 +143,23 @@
   { 0x1D7CE, 1, 0 }, { 0x1D7FF, 0, 1 },
   { 0x1F000, 1, 0 }, { 0x1F02B, 0, 1 },
   { 0x1F030, 1, 0 }, { 0x1F093, 0, 1 },
+  { 0x1F100, 1, 0 }, { 0x1F10A, 0, 1 },
+  { 0x1F110, 1, 0 }, { 0x1F12E, 0, 1 },
+  { 0x1F131, 1, 1 },
+  { 0x1F13D, 1, 1 },
+  { 0x1F13F, 1, 1 },
+  { 0x1F142, 1, 1 },
+  { 0x1F146, 1, 1 },
+  { 0x1F14A, 1, 0 }, { 0x1F14E, 0, 1 },
+  { 0x1F157, 1, 1 },
+  { 0x1F15F, 1, 1 },
+  { 0x1F179, 1, 1 },
+  { 0x1F17B, 1, 0 }, { 0x1F17C, 0, 1 },
+  { 0x1F17F, 1, 1 },
+  { 0x1F18A, 1, 0 }, { 0x1F18D, 0, 1 },
+  { 0x1F190, 1, 1 },
+  { 0x1F210, 1, 0 }, { 0x1F231, 0, 1 },
+  { 0x1F240, 1, 0 }, { 0x1F248, 0, 1 },
   { 0xE0001, 1, 1 },
   { 0xE0020, 1, 0 }, { 0xE007F, 0, 1 }
 };
@@ -164,8 +186,7 @@
   { 0x2132, 1, 1 },
   { 0x214E, 1, 1 },
   { 0x2160, 1, 0 }, { 0x2188, 0, 1 },
-  { 0x2C60, 1, 0 }, { 0x2C6F, 0, 1 },
-  { 0x2C71, 1, 0 }, { 0x2C7D, 0, 1 },
+  { 0x2C60, 1, 0 }, { 0x2C7F, 0, 1 },
   { 0xA722, 1, 0 }, { 0xA787, 0, 1 },
   { 0xA78B, 1, 0 }, { 0xA78C, 0, 1 },
   { 0xA7FB, 1, 0 }, { 0xA7FF, 0, 1 },
@@ -211,7 +232,8 @@
 };
 static const uc_interval_t script_cyrillic_intervals[] =
 {
-  { 0x0400, 1, 0 }, { 0x0523, 0, 1 },
+  { 0x0400, 1, 0 }, { 0x0484, 0, 1 },
+  { 0x0487, 1, 0 }, { 0x0525, 0, 1 },
   { 0x1D2B, 1, 1 },
   { 0x1D78, 1, 1 },
   { 0x2DE0, 1, 0 }, { 0x2DFF, 0, 1 },
@@ -257,7 +279,8 @@
   { 0xFD92, 1, 0 }, { 0xFDC7, 0, 1 },
   { 0xFDF0, 1, 0 }, { 0xFDFC, 0, 1 },
   { 0xFE70, 1, 0 }, { 0xFE74, 0, 1 },
-  { 0xFE76, 1, 0 }, { 0xFEFC, 0, 1 }
+  { 0xFE76, 1, 0 }, { 0xFEFC, 0, 1 },
+  { 0x10E60, 1, 0 }, { 0x10E7E, 0, 1 }
 };
 static const uc_interval_t script_syriac_intervals[] =
 {
@@ -271,14 +294,15 @@
 };
 static const uc_interval_t script_devanagari_intervals[] =
 {
-  { 0x0901, 1, 0 }, { 0x0939, 0, 1 },
-  { 0x093C, 1, 0 }, { 0x094D, 0, 1 },
+  { 0x0900, 1, 0 }, { 0x0939, 0, 1 },
+  { 0x093C, 1, 0 }, { 0x094E, 0, 1 },
   { 0x0950, 1, 1 },
-  { 0x0953, 1, 0 }, { 0x0954, 0, 1 },
+  { 0x0953, 1, 0 }, { 0x0955, 0, 1 },
   { 0x0958, 1, 0 }, { 0x0963, 0, 1 },
   { 0x0966, 1, 0 }, { 0x096F, 0, 1 },
   { 0x0971, 1, 0 }, { 0x0972, 0, 1 },
-  { 0x097B, 1, 0 }, { 0x097F, 0, 1 }
+  { 0x0979, 1, 0 }, { 0x097F, 0, 1 },
+  { 0xA8E0, 1, 0 }, { 0xA8FB, 0, 1 }
 };
 static const uc_interval_t script_bengali_intervals[] =
 {
@@ -295,7 +319,7 @@
   { 0x09D7, 1, 1 },
   { 0x09DC, 1, 0 }, { 0x09DD, 0, 1 },
   { 0x09DF, 1, 0 }, { 0x09E3, 0, 1 },
-  { 0x09E6, 1, 0 }, { 0x09FA, 0, 1 }
+  { 0x09E6, 1, 0 }, { 0x09FB, 0, 1 }
 };
 static const uc_interval_t script_gurmukhi_intervals[] =
 {
@@ -469,8 +493,8 @@
 };
 static const uc_interval_t script_myanmar_intervals[] =
 {
-  { 0x1000, 1, 0 }, { 0x1099, 0, 1 },
-  { 0x109E, 1, 0 }, { 0x109F, 0, 1 }
+  { 0x1000, 1, 0 }, { 0x109F, 0, 1 },
+  { 0xAA60, 1, 0 }, { 0xAA7B, 0, 1 }
 };
 static const uc_interval_t script_georgian_intervals[] =
 {
@@ -481,13 +505,14 @@
 };
 static const uc_interval_t script_hangul_intervals[] =
 {
-  { 0x1100, 1, 0 }, { 0x1159, 0, 1 },
-  { 0x115F, 1, 0 }, { 0x11A2, 0, 1 },
-  { 0x11A8, 1, 0 }, { 0x11F9, 0, 1 },
+  { 0x1100, 1, 0 }, { 0x11FF, 0, 1 },
   { 0x3131, 1, 0 }, { 0x318E, 0, 1 },
   { 0x3200, 1, 0 }, { 0x321E, 0, 1 },
   { 0x3260, 1, 0 }, { 0x327E, 0, 1 },
+  { 0xA960, 1, 0 }, { 0xA97C, 0, 1 },
   { 0xAC00, 1, 0 }, { 0xD7A3, 0, 1 },
+  { 0xD7B0, 1, 0 }, { 0xD7C6, 0, 1 },
+  { 0xD7CB, 1, 0 }, { 0xD7FB, 0, 1 },
   { 0xFFA0, 1, 0 }, { 0xFFBE, 0, 1 },
   { 0xFFC2, 1, 0 }, { 0xFFC7, 0, 1 },
   { 0xFFCA, 1, 0 }, { 0xFFCF, 0, 1 },
@@ -530,7 +555,8 @@
 };
 static const uc_interval_t script_canadian_aboriginal_intervals[] =
 {
-  { 0x1401, 1, 0 }, { 0x1676, 0, 1 }
+  { 0x1400, 1, 0 }, { 0x167F, 0, 1 },
+  { 0x18B0, 1, 0 }, { 0x18F5, 0, 1 }
 };
 static const uc_interval_t script_ogham_intervals[] =
 {
@@ -560,7 +586,8 @@
 static const uc_interval_t script_hiragana_intervals[] =
 {
   { 0x3041, 1, 0 }, { 0x3096, 0, 1 },
-  { 0x309D, 1, 0 }, { 0x309F, 0, 1 }
+  { 0x309D, 1, 0 }, { 0x309F, 0, 1 },
+  { 0x1F200, 1, 1 }
 };
 static const uc_interval_t script_katakana_intervals[] =
 {
@@ -587,11 +614,12 @@
   { 0x3021, 1, 0 }, { 0x3029, 0, 1 },
   { 0x3038, 1, 0 }, { 0x303B, 0, 1 },
   { 0x3400, 1, 0 }, { 0x4DB5, 0, 1 },
-  { 0x4E00, 1, 0 }, { 0x9FC3, 0, 1 },
+  { 0x4E00, 1, 0 }, { 0x9FCB, 0, 1 },
   { 0xF900, 1, 0 }, { 0xFA2D, 0, 1 },
-  { 0xFA30, 1, 0 }, { 0xFA6A, 0, 1 },
+  { 0xFA30, 1, 0 }, { 0xFA6D, 0, 1 },
   { 0xFA70, 1, 0 }, { 0xFAD9, 0, 1 },
   { 0x20000, 1, 0 }, { 0x2A6D6, 0, 1 },
+  { 0x2A700, 1, 0 }, { 0x2B734, 0, 1 },
   { 0x2F800, 1, 0 }, { 0x2FA1D, 0, 1 }
 };
 static const uc_interval_t script_yi_intervals[] =
@@ -615,11 +643,16 @@
 static const uc_interval_t script_inherited_intervals[] =
 {
   { 0x0300, 1, 0 }, { 0x036F, 0, 1 },
+  { 0x0485, 1, 0 }, { 0x0486, 0, 1 },
   { 0x064B, 1, 0 }, { 0x0655, 0, 1 },
   { 0x0670, 1, 1 },
   { 0x0951, 1, 0 }, { 0x0952, 0, 1 },
+  { 0x1CD0, 1, 0 }, { 0x1CD2, 0, 1 },
+  { 0x1CD4, 1, 0 }, { 0x1CE0, 0, 1 },
+  { 0x1CE2, 1, 0 }, { 0x1CE8, 0, 1 },
+  { 0x1CED, 1, 1 },
   { 0x1DC0, 1, 0 }, { 0x1DE6, 0, 1 },
-  { 0x1DFE, 1, 0 }, { 0x1DFF, 0, 1 },
+  { 0x1DFD, 1, 0 }, { 0x1DFF, 0, 1 },
   { 0x200C, 1, 0 }, { 0x200D, 0, 1 },
   { 0x20D0, 1, 0 }, { 0x20F0, 0, 1 },
   { 0x302A, 1, 0 }, { 0x302F, 0, 1 },
@@ -710,14 +743,14 @@
 static const uc_interval_t script_coptic_intervals[] =
 {
   { 0x03E2, 1, 0 }, { 0x03EF, 0, 1 },
-  { 0x2C80, 1, 0 }, { 0x2CEA, 0, 1 },
+  { 0x2C80, 1, 0 }, { 0x2CF1, 0, 1 },
   { 0x2CF9, 1, 0 }, { 0x2CFF, 0, 1 }
 };
 static const uc_interval_t script_new_tai_lue_intervals[] =
 {
-  { 0x1980, 1, 0 }, { 0x19A9, 0, 1 },
+  { 0x1980, 1, 0 }, { 0x19AB, 0, 1 },
   { 0x19B0, 1, 0 }, { 0x19C9, 0, 1 },
-  { 0x19D0, 1, 0 }, { 0x19D9, 0, 1 },
+  { 0x19D0, 1, 0 }, { 0x19DA, 0, 1 },
   { 0x19DE, 1, 0 }, { 0x19DF, 0, 1 }
 };
 static const uc_interval_t script_glagolitic_intervals[] =
@@ -763,7 +796,7 @@
 };
 static const uc_interval_t script_phoenician_intervals[] =
 {
-  { 0x10900, 1, 0 }, { 0x10919, 0, 1 },
+  { 0x10900, 1, 0 }, { 0x1091B, 0, 1 },
   { 0x1091F, 1, 1 }
 };
 static const uc_interval_t script_phags_pa_intervals[] =
@@ -827,7 +860,80 @@
   { 0xAA50, 1, 0 }, { 0xAA59, 0, 1 },
   { 0xAA5C, 1, 0 }, { 0xAA5F, 0, 1 }
 };
-static const uc_script_t scripts[77] =
+static const uc_interval_t script_tai_tham_intervals[] =
+{
+  { 0x1A20, 1, 0 }, { 0x1A5E, 0, 1 },
+  { 0x1A60, 1, 0 }, { 0x1A7C, 0, 1 },
+  { 0x1A7F, 1, 0 }, { 0x1A89, 0, 1 },
+  { 0x1A90, 1, 0 }, { 0x1A99, 0, 1 },
+  { 0x1AA0, 1, 0 }, { 0x1AAD, 0, 1 }
+};
+static const uc_interval_t script_tai_viet_intervals[] =
+{
+  { 0xAA80, 1, 0 }, { 0xAAC2, 0, 1 },
+  { 0xAADB, 1, 0 }, { 0xAADF, 0, 1 }
+};
+static const uc_interval_t script_avestan_intervals[] =
+{
+  { 0x10B00, 1, 0 }, { 0x10B35, 0, 1 },
+  { 0x10B39, 1, 0 }, { 0x10B3F, 0, 1 }
+};
+static const uc_interval_t script_egyptian_hieroglyphs_intervals[] =
+{
+  { 0x13000, 1, 0 }, { 0x1342E, 0, 1 }
+};
+static const uc_interval_t script_samaritan_intervals[] =
+{
+  { 0x0800, 1, 0 }, { 0x082D, 0, 1 },
+  { 0x0830, 1, 0 }, { 0x083E, 0, 1 }
+};
+static const uc_interval_t script_lisu_intervals[] =
+{
+  { 0xA4D0, 1, 0 }, { 0xA4FF, 0, 1 }
+};
+static const uc_interval_t script_bamum_intervals[] =
+{
+  { 0xA6A0, 1, 0 }, { 0xA6F7, 0, 1 }
+};
+static const uc_interval_t script_javanese_intervals[] =
+{
+  { 0xA980, 1, 0 }, { 0xA9CD, 0, 1 },
+  { 0xA9CF, 1, 0 }, { 0xA9D9, 0, 1 },
+  { 0xA9DE, 1, 0 }, { 0xA9DF, 0, 1 }
+};
+static const uc_interval_t script_meetei_mayek_intervals[] =
+{
+  { 0xABC0, 1, 0 }, { 0xABED, 0, 1 },
+  { 0xABF0, 1, 0 }, { 0xABF9, 0, 1 }
+};
+static const uc_interval_t script_imperial_aramaic_intervals[] =
+{
+  { 0x10840, 1, 0 }, { 0x10855, 0, 1 },
+  { 0x10857, 1, 0 }, { 0x1085F, 0, 1 }
+};
+static const uc_interval_t script_old_south_arabian_intervals[] =
+{
+  { 0x10A60, 1, 0 }, { 0x10A7F, 0, 1 }
+};
+static const uc_interval_t script_inscriptional_parthian_intervals[] =
+{
+  { 0x10B40, 1, 0 }, { 0x10B55, 0, 1 },
+  { 0x10B58, 1, 0 }, { 0x10B5F, 0, 1 }
+};
+static const uc_interval_t script_inscriptional_pahlavi_intervals[] =
+{
+  { 0x10B60, 1, 0 }, { 0x10B72, 0, 1 },
+  { 0x10B78, 1, 0 }, { 0x10B7F, 0, 1 }
+};
+static const uc_interval_t script_old_turkic_intervals[] =
+{
+  { 0x10C00, 1, 0 }, { 0x10C48, 0, 1 }
+};
+static const uc_interval_t script_kaithi_intervals[] =
+{
+  { 0x11080, 1, 0 }, { 0x110C1, 0, 1 }
+};
+static const uc_script_t scripts[92] =
 {
   {
     sizeof (script_common_intervals) / sizeof (uc_interval_t),
@@ -1213,6 +1319,81 @@
     sizeof (script_cham_intervals) / sizeof (uc_interval_t),
     script_cham_intervals,
     "Cham"
+  },
+  {
+    sizeof (script_tai_tham_intervals) / sizeof (uc_interval_t),
+    script_tai_tham_intervals,
+    "Tai_Tham"
+  },
+  {
+    sizeof (script_tai_viet_intervals) / sizeof (uc_interval_t),
+    script_tai_viet_intervals,
+    "Tai_Viet"
+  },
+  {
+    sizeof (script_avestan_intervals) / sizeof (uc_interval_t),
+    script_avestan_intervals,
+    "Avestan"
+  },
+  {
+    sizeof (script_egyptian_hieroglyphs_intervals) / sizeof (uc_interval_t),
+    script_egyptian_hieroglyphs_intervals,
+    "Egyptian_Hieroglyphs"
+  },
+  {
+    sizeof (script_samaritan_intervals) / sizeof (uc_interval_t),
+    script_samaritan_intervals,
+    "Samaritan"
+  },
+  {
+    sizeof (script_lisu_intervals) / sizeof (uc_interval_t),
+    script_lisu_intervals,
+    "Lisu"
+  },
+  {
+    sizeof (script_bamum_intervals) / sizeof (uc_interval_t),
+    script_bamum_intervals,
+    "Bamum"
+  },
+  {
+    sizeof (script_javanese_intervals) / sizeof (uc_interval_t),
+    script_javanese_intervals,
+    "Javanese"
+  },
+  {
+    sizeof (script_meetei_mayek_intervals) / sizeof (uc_interval_t),
+    script_meetei_mayek_intervals,
+    "Meetei_Mayek"
+  },
+  {
+    sizeof (script_imperial_aramaic_intervals) / sizeof (uc_interval_t),
+    script_imperial_aramaic_intervals,
+    "Imperial_Aramaic"
+  },
+  {
+    sizeof (script_old_south_arabian_intervals) / sizeof (uc_interval_t),
+    script_old_south_arabian_intervals,
+    "Old_South_Arabian"
+  },
+  {
+    sizeof (script_inscriptional_parthian_intervals) / sizeof (uc_interval_t),
+    script_inscriptional_parthian_intervals,
+    "Inscriptional_Parthian"
+  },
+  {
+    sizeof (script_inscriptional_pahlavi_intervals) / sizeof (uc_interval_t),
+    script_inscriptional_pahlavi_intervals,
+    "Inscriptional_Pahlavi"
+  },
+  {
+    sizeof (script_old_turkic_intervals) / sizeof (uc_interval_t),
+    script_old_turkic_intervals,
+    "Old_Turkic"
+  },
+  {
+    sizeof (script_kaithi_intervals) / sizeof (uc_interval_t),
+    script_kaithi_intervals,
+    "Kaithi"
   }
 };
 #define script_header_0 16
@@ -1225,7 +1406,7 @@
   {
     int level1[15];
     short level2[4 << 9];
-    unsigned char level3[138 << 7];
+    unsigned char level3[151 << 7];
   }
 u_script =
 {
@@ -1235,59 +1416,59 @@
   },
   {
         0,   128,   256,   256,   256,   384,   512,   640,
-      768,   768,   896,  1024,  1152,  1280,  1408,  1536,
-       -1,    -1,  1664,  1792,  1920,  2048,  2176,  2304,
-     2432,  2560,  2688,  2816,  2944,  3072,  3200,  3328,
-     3456,  3584,  3712,  3840,  3968,  4096,  4224,  4352,
-     4480,  4608,  4608,  4608,  4736,  4864,  4992,  5120,
-     5248,  5376,  5504,  5632,  5760,    -1,  5888,  6016,
-     6144,    -1,  6272,  6400,   256,   256,  6528,  6656,
-     6784,  6912,  7040,  7168,  7296,  7296,  7296,  7424,
-     7552,  7296,  7296,  7296,  7296,  7680,  7808,  7936,
-     8064,  8064,  7296,  7296,  7296,  7296,  8192,    -1,
-     8320,  8448,  8576,  8704,  8832,  8960,  9088,  9216,
-     9344,  9472,  9600,  9728,  9856,  9984, 10112,  7296,
-     9088,  9088,  9088,  9088,  9088,  9088,  9088,  9088,
-     9088,  9088,  9088,  9088,  9088,  9088,  9088,  9088,
-     9088,  9088,  9088,  9088,  9088,  9088,  9088,  9088,
-     9088,  9088,  9088,  9088,  9088,  9088,  9088,  9088,
-     9088,  9088,  9088,  9088,  9088,  9088,  9088,  9088,
-     9088,  9088,  9088,  9088,  9088,  9088,  9088,  9088,
-     9088,  9088,  9088, 10240,  9088,  9088,  9088,  9088,
-     9088,  9088,  9088,  9088,  9088,  9088,  9088,  9088,
-     9088,  9088,  9088,  9088,  9088,  9088,  9088,  9088,
-     9088,  9088,  9088,  9088,  9088,  9088,  9088,  9088,
-     9088,  9088,  9088,  9088,  9088,  9088,  9088,  9088,
-     9088,  9088,  9088,  9088,  9088,  9088,  9088,  9088,
-     9088,  9088,  9088,  9088,  9088,  9088,  9088,  9088,
-     9088,  9088,  9088,  9088,  9088,  9088,  9088,  9088,
-     9088,  9088,  9088,  9088,  9088,  9088,  9088,  9088,
-     9088,  9088,  9088,  9088,  9088,  9088,  9088,  9088,
-     9088,  9088,  9088,  9088,  9088,  9088,  9088,  9088,
-     9088,  9088,  9088,  9088,  9088,  9088,  9088,  9088,
-     9088,  9088,  9088,  9088,  9088,  9088,  9088,  9088,
-     9088,  9088,  9088,  9088,  9088,  9088,  9088,  9088,
-     9088,  9088,  9088,  9088,  9088,  9088,  9088,  9088,
-     9088,  9088,  9088,  9088,  9088,  9088,  9088,  9088,
-     9088,  9088,  9088,  9088,  9088,  9088,  9088,  9088,
-     9088,  9088,  9088,  9088,  9088,  9088,  9088,  9088,
-     9088,  9088,  9088,  9088,  9088,  9088,  9088,  9088,
-     9088,  9088,  9088,  9088,  9088,  9088,  9088,  9088,
-     9088,  9088,  9088,  9088,  9088,  9088,  9088, 10368,
-    10496, 10496, 10496, 10496, 10496, 10496, 10496, 10496,
-    10496, 10624, 10752, 10752, 10880, 11008, 11136, 11264,
-    11392, 11520, 11648,    -1, 11776,    -1,    -1,    -1,
-    11904, 11904, 11904, 11904, 11904, 11904, 11904, 11904,
-    11904, 11904, 11904, 11904, 11904, 11904, 11904, 11904,
-    11904, 11904, 11904, 11904, 11904, 11904, 11904, 11904,
-    11904, 11904, 11904, 11904, 11904, 11904, 11904, 11904,
-    11904, 11904, 11904, 11904, 11904, 11904, 11904, 11904,
-    11904, 11904, 11904, 11904, 11904, 11904, 11904, 11904,
-    11904, 11904, 11904, 11904, 11904, 11904, 11904, 11904,
-    11904, 11904, 11904, 11904, 11904, 11904, 11904, 11904,
-    11904, 11904, 11904, 11904, 11904, 11904, 11904, 11904,
-    11904, 11904, 11904, 11904, 11904, 11904, 11904, 11904,
-    11904, 11904, 11904, 11904, 11904, 11904, 11904, 12032,
+      768,   896,  1024,  1152,  1280,  1408,  1536,  1664,
+     1792,    -1,  1920,  2048,  2176,  2304,  2432,  2560,
+     2688,  2816,  2944,  3072,  3200,  3328,  3456,  3584,
+     3712,  3840,  3968,  3968,  4096,  4224,  4352,  4480,
+     4608,  4608,  4608,  4608,  4608,  4736,  4864,  4992,
+     5120,  5248,  5376,  5504,  5632,  5760,  5888,  6016,
+     6144,  6272,  6400,  6528,   256,   256,  6656,  6784,
+     6912,  7040,  7168,  7296,  7424,  7424,  7424,  7552,
+     7680,  7424,  7424,  7424,  7424,  7808,  7936,  8064,
+     8192,  8192,  7424,  7424,  7424,  7424,  8320,    -1,
+     8448,  8576,  8704,  8832,  8960,  9088,  9216,  9344,
+     9472,  9600,  9728,  9856,  9984, 10112, 10240,  7424,
+     9216,  9216,  9216,  9216,  9216,  9216,  9216,  9216,
+     9216,  9216,  9216,  9216,  9216,  9216,  9216,  9216,
+     9216,  9216,  9216,  9216,  9216,  9216,  9216,  9216,
+     9216,  9216,  9216,  9216,  9216,  9216,  9216,  9216,
+     9216,  9216,  9216,  9216,  9216,  9216,  9216,  9216,
+     9216,  9216,  9216,  9216,  9216,  9216,  9216,  9216,
+     9216,  9216,  9216, 10368,  9216,  9216,  9216,  9216,
+     9216,  9216,  9216,  9216,  9216,  9216,  9216,  9216,
+     9216,  9216,  9216,  9216,  9216,  9216,  9216,  9216,
+     9216,  9216,  9216,  9216,  9216,  9216,  9216,  9216,
+     9216,  9216,  9216,  9216,  9216,  9216,  9216,  9216,
+     9216,  9216,  9216,  9216,  9216,  9216,  9216,  9216,
+     9216,  9216,  9216,  9216,  9216,  9216,  9216,  9216,
+     9216,  9216,  9216,  9216,  9216,  9216,  9216,  9216,
+     9216,  9216,  9216,  9216,  9216,  9216,  9216,  9216,
+     9216,  9216,  9216,  9216,  9216,  9216,  9216,  9216,
+     9216,  9216,  9216,  9216,  9216,  9216,  9216,  9216,
+     9216,  9216,  9216,  9216,  9216,  9216,  9216,  9216,
+     9216,  9216,  9216,  9216,  9216,  9216,  9216,  9216,
+     9216,  9216,  9216,  9216,  9216,  9216,  9216,  9216,
+     9216,  9216,  9216,  9216,  9216,  9216,  9216,  9216,
+     9216,  9216,  9216,  9216,  9216,  9216,  9216,  9216,
+     9216,  9216,  9216,  9216,  9216,  9216,  9216,  9216,
+     9216,  9216,  9216,  9216,  9216,  9216,  9216,  9216,
+     9216,  9216,  9216,  9216,  9216,  9216,  9216,  9216,
+     9216,  9216,  9216,  9216,  9216,  9216,  9216,  9216,
+     9216,  9216,  9216,  9216,  9216,  9216,  9216, 10496,
+    10624, 10624, 10624, 10624, 10624, 10624, 10624, 10624,
+    10624, 10752, 10880, 10880, 11008, 11136, 11264, 11392,
+    11520, 11648, 11776, 11904, 12032, 12160,    -1, 12288,
+     3968,  3968,  3968,  3968,  3968,  3968,  3968,  3968,
+     3968,  3968,  3968,  3968,  3968,  3968,  3968,  3968,
+     3968,  3968,  3968,  3968,  3968,  3968,  3968,  3968,
+     3968,  3968,  3968,  3968,  3968,  3968,  3968,  3968,
+     3968,  3968,  3968,  3968,  3968,  3968,  3968,  3968,
+     3968,  3968,  3968,  3968,  3968,  3968,  3968,  3968,
+     3968,  3968,  3968,  3968,  3968,  3968,  3968,  3968,
+     3968,  3968,  3968,  3968,  3968,  3968,  3968,  3968,
+     3968,  3968,  3968,  3968,  3968,  3968,  3968,  3968,
+     3968,  3968,  3968,  3968,  3968,  3968,  3968,  3968,
+     3968,  3968,  3968,  3968,  3968,  3968,  3968, 12416,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
@@ -1296,18 +1477,22 @@
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,  9088,  9088, 12160, 12288, 12416, 12544,
-    12672, 12672, 12800, 12928, 13056, 13184, 13312, 13440,
-    13568, 13696, 13824, 13952,    -1, 14080, 14208, 14336,
-    14464, 14592,    -1,    -1,    -1,    -1,    -1,    -1,
-    14720,    -1, 14848,    -1, 14976,    -1,    -1,    -1,
+       -1,    -1,  9216,  9216, 12544, 12672, 12800, 12928,
+    13056, 13056, 13184, 13312, 13440, 13568, 13696, 13824,
+    13952, 14080, 14208, 14336,    -1, 14464, 14592, 14720,
+    14848, 14976,    -1,    -1,    -1,    -1,    -1,    -1,
+    15104,    -1, 15232,    -1, 15360,    -1, 15488,    -1,
+    15616,    -1,    -1,    -1, 15744,    -1,    -1,    -1,
+       -1, 15872,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+    16000, 16000, 16000, 16000, 16000, 16000, 16128,    -1,
+    16256,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    15104, 15104, 15104, 15104, 15104, 15104, 15232,    -1,
-    15360,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+    16384, 16384, 16384, 16384, 16384, 16384, 16384, 16384,
+    16512,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
@@ -1346,64 +1531,64 @@
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-     7296, 15488, 15616, 15744, 15872,    -1, 16000,    -1,
-    16128, 16256, 16384,  7296,  7296, 16512,  7296, 16640,
+     7424, 16640, 16768, 16896, 17024,    -1, 17152,    -1,
+    17280, 17408, 17536,  7424,  7424, 17664,  7424, 17792,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    16768, 16896,    -1,    -1,    -1,    -1,    -1,    -1,
+    17920, 18048, 18176, 18304, 18432,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-     9088,  9088,  9088,  9088,  9088,  9088,  9088,  9088,
-     9088,  9088,  9088,  9088,  9088,  9088,  9088,  9088,
-     9088,  9088,  9088,  9088,  9088,  9088,  9088,  9088,
-     9088,  9088,  9088,  9088,  9088,  9088,  9088,  9088,
-     9088,  9088,  9088,  9088,  9088,  9088,  9088,  9088,
-     9088,  9088,  9088,  9088,  9088,  9088,  9088,  9088,
-     9088,  9088,  9088,  9088,  9088,  9088,  9088,  9088,
-     9088,  9088,  9088,  9088,  9088,  9088,  9088,  9088,
-     9088,  9088,  9088,  9088,  9088,  9088,  9088,  9088,
-     9088,  9088,  9088,  9088,  9088,  9088,  9088,  9088,
-     9088,  9088,  9088,  9088,  9088,  9088,  9088,  9088,
-     9088,  9088,  9088,  9088,  9088,  9088,  9088,  9088,
-     9088,  9088,  9088,  9088,  9088,  9088,  9088,  9088,
-     9088,  9088,  9088,  9088,  9088,  9088,  9088,  9088,
-     9088,  9088,  9088,  9088,  9088,  9088,  9088,  9088,
-     9088,  9088,  9088,  9088,  9088,  9088,  9088,  9088,
-     9088,  9088,  9088,  9088,  9088,  9088,  9088,  9088,
-     9088,  9088,  9088,  9088,  9088,  9088,  9088,  9088,
-     9088,  9088,  9088,  9088,  9088,  9088,  9088,  9088,
-     9088,  9088,  9088,  9088,  9088,  9088,  9088,  9088,
-     9088,  9088,  9088,  9088,  9088,  9088,  9088,  9088,
-     9088,  9088,  9088,  9088,  9088,  9088,  9088,  9088,
-     9088,  9088,  9088,  9088,  9088,  9088,  9088,  9088,
-     9088,  9088,  9088,  9088,  9088,  9088,  9088,  9088,
-     9088,  9088,  9088,  9088,  9088,  9088,  9088,  9088,
-     9088,  9088,  9088,  9088,  9088,  9088,  9088,  9088,
-     9088,  9088,  9088,  9088,  9088,  9088,  9088,  9088,
-     9088,  9088,  9088,  9088,  9088,  9088,  9088,  9088,
-     9088,  9088,  9088,  9088,  9088,  9088,  9088,  9088,
-     9088,  9088,  9088,  9088,  9088,  9088,  9088,  9088,
-     9088,  9088,  9088,  9088,  9088,  9088,  9088,  9088,
-     9088,  9088,  9088,  9088,  9088,  9088,  9088,  9088,
-     9088,  9088,  9088,  9088,  9088,  9088,  9088,  9088,
-     9088,  9088,  9088,  9088,  9088,  9088,  9088,  9088,
-     9088,  9088,  9088,  9088,  9088,  9088,  9088,  9088,
-     9088,  9088,  9088,  9088,  9088,  9088,  9088,  9088,
-     9088,  9088,  9088,  9088,  9088,  9088,  9088,  9088,
-     9088,  9088,  9088,  9088,  9088,  9088,  9088,  9088,
-     9088,  9088,  9088,  9088,  9088,  9088,  9088,  9088,
-     9088,  9088,  9088,  9088,  9088,  9088,  9088,  9088,
-     9088,  9088,  9088,  9088,  9088,  9088,  9088,  9088,
-     9088,  9088,  9088,  9088,  9088, 17024,    -1,    -1,
+     9216,  9216,  9216,  9216,  9216,  9216,  9216,  9216,
+     9216,  9216,  9216,  9216,  9216,  9216,  9216,  9216,
+     9216,  9216,  9216,  9216,  9216,  9216,  9216,  9216,
+     9216,  9216,  9216,  9216,  9216,  9216,  9216,  9216,
+     9216,  9216,  9216,  9216,  9216,  9216,  9216,  9216,
+     9216,  9216,  9216,  9216,  9216,  9216,  9216,  9216,
+     9216,  9216,  9216,  9216,  9216,  9216,  9216,  9216,
+     9216,  9216,  9216,  9216,  9216,  9216,  9216,  9216,
+     9216,  9216,  9216,  9216,  9216,  9216,  9216,  9216,
+     9216,  9216,  9216,  9216,  9216,  9216,  9216,  9216,
+     9216,  9216,  9216,  9216,  9216,  9216,  9216,  9216,
+     9216,  9216,  9216,  9216,  9216,  9216,  9216,  9216,
+     9216,  9216,  9216,  9216,  9216,  9216,  9216,  9216,
+     9216,  9216,  9216,  9216,  9216,  9216,  9216,  9216,
+     9216,  9216,  9216,  9216,  9216,  9216,  9216,  9216,
+     9216,  9216,  9216,  9216,  9216,  9216,  9216,  9216,
+     9216,  9216,  9216,  9216,  9216,  9216,  9216,  9216,
+     9216,  9216,  9216,  9216,  9216,  9216,  9216,  9216,
+     9216,  9216,  9216,  9216,  9216,  9216,  9216,  9216,
+     9216,  9216,  9216,  9216,  9216,  9216,  9216,  9216,
+     9216,  9216,  9216,  9216,  9216,  9216,  9216,  9216,
+     9216,  9216,  9216,  9216,  9216,  9216,  9216,  9216,
+     9216,  9216,  9216,  9216,  9216,  9216,  9216,  9216,
+     9216,  9216,  9216,  9216,  9216,  9216,  9216,  9216,
+     9216,  9216,  9216,  9216,  9216,  9216,  9216,  9216,
+     9216,  9216,  9216,  9216,  9216,  9216,  9216,  9216,
+     9216,  9216,  9216,  9216,  9216,  9216,  9216,  9216,
+     9216,  9216,  9216,  9216,  9216,  9216,  9216,  9216,
+     9216,  9216,  9216,  9216,  9216,  9216,  9216,  9216,
+     9216,  9216,  9216,  9216,  9216,  9216,  9216,  9216,
+     9216,  9216,  9216,  9216,  9216,  9216,  9216,  9216,
+     9216,  9216,  9216,  9216,  9216,  9216,  9216,  9216,
+     9216,  9216,  9216,  9216,  9216,  9216,  9216,  9216,
+     9216,  9216,  9216,  9216,  9216,  9216,  9216,  9216,
+     9216,  9216,  9216,  9216,  9216,  9216,  9216,  9216,
+     9216,  9216,  9216,  9216,  9216,  9216,  9216,  9216,
+     9216,  9216,  9216,  9216,  9216,  9216,  9216,  9216,
+     9216,  9216,  9216,  9216,  9216,  9216,  9216,  9216,
+     9216,  9216,  9216,  9216,  9216,  9216,  9216,  9216,
+     9216,  9216,  9216,  9216,  9216,  9216,  9216,  9216,
+     9216,  9216,  9216,  9216,  9216,  9216,  9216,  9216,
+     9216,  9216,  9216,  9216,  9216, 18560,  9216,  9216,
+     9216,  9216,  9216,  9216,  9216,  9216,  9216,  9216,
+     9216,  9216,  9216,  9216,  9216,  9216,  9216,  9216,
+     9216,  9216,  9216,  9216,  9216,  9216,  9216,  9216,
+     9216,  9216,  9216,  9216,  9216,  9216, 18688,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
@@ -1420,13 +1605,9 @@
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+     9216,  9216,  9216,  9216, 18816,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-     9088,  9088,  9088,  9088, 17152,    -1,    -1,    -1,
-       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    17280,    -1, 17408, 17536,    -1,    -1,    -1,    -1,
+    18944,    -1, 19072, 19200,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
@@ -1604,11 +1785,27 @@
       3,   3,   3,   3,   3,   3,   3,   3,
       3,   3,   3,   3,   3,   3,   3,   3,
       3,   3,   3,   3,   3,   3,   3,   3,
+      3,   3,   3,   3,   3,  40,  40,   3,
+      3,   3,   3,   3,   3,   3,   3,   3,
+      3,   3,   3,   3,   3,   3,   3,   3,
+      3,   3,   3,   3,   3,   3,   3,   3,
+      3,   3,   3,   3,   3,   3,   3,   3,
+      3,   3,   3,   3,   3,   3,   3,   3,
+      3,   3,   3,   3,   3,   3,   3,   3,
       3,   3,   3,   3,   3,   3,   3,   3,
       3,   3,   3,   3,   3,   3,   3,   3,
       3,   3,   3,   3,   3,   3,   3,   3,
       3,   3,   3,   3,   3,   3,   3,   3,
-      3,   3,   3,   3, 255, 255, 255, 255,
+      3,   3,   3,   3,   3,   3,   3,   3,
+      3,   3,   3,   3,   3,   3,   3,   3,
+      3,   3,   3,   3,   3,   3,   3,   3,
+      3,   3,   3,   3,   3,   3,   3,   3,
+      3,   3,   3,   3,   3,   3,   3,   3,
+      3,   3,   3,   3,   3,   3,   3,   3,
+      3,   3,   3,   3,   3,   3,   3,   3,
+      3,   3,   3,   3,   3,   3,   3,   3,
+      3,   3,   3,   3,   3,   3,   3,   3,
+      3,   3,   3,   3,   3,   3, 255, 255,
     255, 255, 255, 255, 255, 255, 255, 255,
     255,   4,   4,   4,   4,   4,   4,   4,
       4,   4,   4,   4,   4,   4,   4,   4,
@@ -1700,7 +1897,23 @@
      65,  65,  65,  65,  65,  65,  65,  65,
      65,  65,  65,  65,  65,  65,  65,  65,
      65,  65,  65, 255, 255, 255, 255, 255,
-    255,   9,   9,   9,   9,   9,   9,   9,
+     81,  81,  81,  81,  81,  81,  81,  81,
+     81,  81,  81,  81,  81,  81,  81,  81,
+     81,  81,  81,  81,  81,  81,  81,  81,
+     81,  81,  81,  81,  81,  81,  81,  81,
+     81,  81,  81,  81,  81,  81,  81,  81,
+     81,  81,  81,  81,  81,  81, 255, 255,
+     81,  81,  81,  81,  81,  81,  81,  81,
+     81,  81,  81,  81,  81,  81,  81, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+      9,   9,   9,   9,   9,   9,   9,   9,
       9,   9,   9,   9,   9,   9,   9,   9,
       9,   9,   9,   9,   9,   9,   9,   9,
       9,   9,   9,   9,   9,   9,   9,   9,
@@ -1709,13 +1922,13 @@
       9,   9,   9,   9,   9,   9,   9,   9,
       9,   9, 255, 255,   9,   9,   9,   9,
       9,   9,   9,   9,   9,   9,   9,   9,
-      9,   9,   9,   9,   9,   9, 255, 255,
-      9,  40,  40,   9,   9, 255, 255, 255,
+      9,   9,   9,   9,   9,   9,   9, 255,
+      9,  40,  40,   9,   9,   9, 255, 255,
       9,   9,   9,   9,   9,   9,   9,   9,
       9,   9,   9,   9,   0,   0,   9,   9,
       9,   9,   9,   9,   9,   9,   9,   9,
       0,   9,   9, 255, 255, 255, 255, 255,
-    255, 255, 255,   9,   9,   9,   9,   9,
+    255,   9,   9,   9,   9,   9,   9,   9,
     255,  10,  10,  10, 255,  10,  10,  10,
      10,  10,  10,  10,  10, 255, 255,  10,
      10, 255, 255,  10,  10,  10,  10,  10,
@@ -1731,7 +1944,7 @@
      10,  10,  10,  10, 255, 255,  10,  10,
      10,  10,  10,  10,  10,  10,  10,  10,
      10,  10,  10,  10,  10,  10,  10,  10,
-     10,  10,  10, 255, 255, 255, 255, 255,
+     10,  10,  10,  10, 255, 255, 255, 255,
     255,  11,  11,  11, 255,  11,  11,  11,
      11,  11,  11, 255, 255, 255, 255,  11,
      11, 255, 255,  11,  11,  11,  11,  11,
@@ -1918,8 +2131,8 @@
      21,  21,  21,  21,  21, 255,  21,  21,
      21,  21,  21,  21,  21,  21,  21,  21,
      21,  21,  21,  21,  21, 255,  21,  21,
-     21,  21,  21,  21,  21, 255, 255, 255,
-    255, 255, 255, 255, 255, 255, 255, 255,
+     21,  21,  21,  21,  21,   0,   0,   0,
+      0, 255, 255, 255, 255, 255, 255, 255,
     255, 255, 255, 255, 255, 255, 255, 255,
     255, 255, 255, 255, 255, 255, 255, 255,
     255, 255, 255, 255, 255, 255, 255, 255,
@@ -1943,7 +2156,7 @@
      22,  22,  22,  22,  22,  22,  22,  22,
      22,  22,  22,  22,  22,  22,  22,  22,
      22,  22,  22,  22,  22,  22,  22,  22,
-     22,  22, 255, 255, 255, 255,  22,  22,
+     22,  22,  22,  22,  22,  22,  22,  22,
      23,  23,  23,  23,  23,  23,  23,  23,
      23,  23,  23,  23,  23,  23,  23,  23,
      23,  23,  23,  23,  23,  23,  23,  23,
@@ -1967,27 +2180,11 @@
      24,  24,  24,  24,  24,  24,  24,  24,
      24,  24,  24,  24,  24,  24,  24,  24,
      24,  24,  24,  24,  24,  24,  24,  24,
-     24,  24, 255, 255, 255, 255, 255,  24,
-     24,  24,  24,  24,  24,  24,  24,  24,
-     24,  24,  24,  24,  24,  24,  24,  24,
-     24,  24,  24,  24,  24,  24,  24,  24,
      24,  24,  24,  24,  24,  24,  24,  24,
      24,  24,  24,  24,  24,  24,  24,  24,
      24,  24,  24,  24,  24,  24,  24,  24,
      24,  24,  24,  24,  24,  24,  24,  24,
      24,  24,  24,  24,  24,  24,  24,  24,
-     24,  24,  24, 255, 255, 255, 255, 255,
-     24,  24,  24,  24,  24,  24,  24,  24,
-     24,  24,  24,  24,  24,  24,  24,  24,
-     24,  24,  24,  24,  24,  24,  24,  24,
-     24,  24,  24,  24,  24,  24,  24,  24,
-     24,  24,  24,  24,  24,  24,  24,  24,
-     24,  24,  24,  24,  24,  24,  24,  24,
-     24,  24,  24,  24,  24,  24,  24,  24,
-     24,  24,  24,  24,  24,  24,  24,  24,
-     24,  24,  24,  24,  24,  24,  24,  24,
-     24,  24,  24,  24,  24,  24,  24,  24,
-     24,  24, 255, 255, 255, 255, 255, 255,
      25,  25,  25,  25,  25,  25,  25,  25,
      25,  25,  25,  25,  25,  25,  25,  25,
      25,  25,  25,  25,  25,  25,  25,  25,
@@ -2052,14 +2249,6 @@
      26,  26,  26,  26,  26,  26,  26,  26,
      26,  26,  26,  26,  26, 255, 255, 255,
     255, 255, 255, 255, 255, 255, 255, 255,
-    255,  27,  27,  27,  27,  27,  27,  27,
-     27,  27,  27,  27,  27,  27,  27,  27,
-     27,  27,  27,  27,  27,  27,  27,  27,
-     27,  27,  27,  27,  27,  27,  27,  27,
-     27,  27,  27,  27,  27,  27,  27,  27,
-     27,  27,  27,  27,  27,  27,  27,  27,
-     27,  27,  27,  27,  27,  27,  27,  27,
-     27,  27,  27,  27,  27,  27,  27,  27,
      27,  27,  27,  27,  27,  27,  27,  27,
      27,  27,  27,  27,  27,  27,  27,  27,
      27,  27,  27,  27,  27,  27,  27,  27,
@@ -2076,30 +2265,6 @@
      27,  27,  27,  27,  27,  27,  27,  27,
      27,  27,  27,  27,  27,  27,  27,  27,
      27,  27,  27,  27,  27,  27,  27,  27,
-     27,  27,  27,  27,  27,  27,  27,  27,
-     27,  27,  27,  27,  27,  27,  27,  27,
-     27,  27,  27,  27,  27,  27,  27,  27,
-     27,  27,  27,  27,  27,  27,  27,  27,
-     27,  27,  27,  27,  27,  27,  27,  27,
-     27,  27,  27,  27,  27,  27,  27,  27,
-     27,  27,  27,  27,  27,  27,  27,  27,
-     27,  27,  27,  27,  27,  27,  27,  27,
-     27,  27,  27,  27,  27,  27,  27,  27,
-     27,  27,  27,  27,  27,  27,  27,  27,
-     27,  27,  27,  27,  27,  27,  27,  27,
-     27,  27,  27,  27,  27,  27,  27,  27,
-     27,  27,  27,  27,  27,  27,  27,  27,
-     27,  27,  27,  27,  27,  27,  27,  27,
-     27,  27,  27,  27,  27,  27,  27,  27,
-     27,  27,  27,  27,  27,  27,  27,  27,
-     27,  27,  27,  27,  27,  27,  27,  27,
-     27,  27,  27,  27,  27,  27,  27,  27,
-     27,  27,  27,  27,  27,  27,  27,  27,
-     27,  27,  27,  27,  27,  27,  27,  27,
-     27,  27,  27,  27,  27,  27,  27,  27,
-     27,  27,  27,  27,  27,  27,  27,  27,
-     27,  27,  27,  27,  27,  27,  27, 255,
-    255, 255, 255, 255, 255, 255, 255, 255,
      28,  28,  28,  28,  28,  28,  28,  28,
      28,  28,  28,  28,  28,  28,  28,  28,
      28,  28,  28,  28,  28,  28,  28,  28,
@@ -2170,15 +2335,15 @@
      31,  31,  31,  31,  31,  31,  31,  31,
      31,  31,  31,  31,  31,  31,  31,  31,
      31,  31,  31, 255, 255, 255, 255, 255,
-    255, 255, 255, 255, 255, 255, 255, 255,
-    255, 255, 255, 255, 255, 255, 255, 255,
-    255, 255, 255, 255, 255, 255, 255, 255,
-    255, 255, 255, 255, 255, 255, 255, 255,
-    255, 255, 255, 255, 255, 255, 255, 255,
-    255, 255, 255, 255, 255, 255, 255, 255,
-    255, 255, 255, 255, 255, 255, 255, 255,
-    255, 255, 255, 255, 255, 255, 255, 255,
-    255, 255, 255, 255, 255, 255, 255, 255,
+     27,  27,  27,  27,  27,  27,  27,  27,
+     27,  27,  27,  27,  27,  27,  27,  27,
+     27,  27,  27,  27,  27,  27,  27,  27,
+     27,  27,  27,  27,  27,  27,  27,  27,
+     27,  27,  27,  27,  27,  27,  27,  27,
+     27,  27,  27,  27,  27,  27,  27,  27,
+     27,  27,  27,  27,  27,  27,  27,  27,
+     27,  27,  27,  27,  27,  27,  27,  27,
+     27,  27,  27,  27,  27,  27, 255, 255,
     255, 255, 255, 255, 255, 255, 255, 255,
      45,  45,  45,  45,  45,  45,  45,  45,
      45,  45,  45,  45,  45,  45,  45,  45,
@@ -2201,13 +2366,13 @@
      55,  55,  55,  55,  55,  55,  55,  55,
      55,  55,  55,  55,  55,  55,  55,  55,
      55,  55,  55,  55,  55,  55,  55,  55,
-     55,  55, 255, 255, 255, 255, 255, 255,
+     55,  55,  55,  55, 255, 255, 255, 255,
      55,  55,  55,  55,  55,  55,  55,  55,
      55,  55,  55,  55,  55,  55,  55,  55,
      55,  55,  55,  55,  55,  55,  55,  55,
      55,  55, 255, 255, 255, 255, 255, 255,
      55,  55,  55,  55,  55,  55,  55,  55,
-     55,  55, 255, 255, 255, 255,  55,  55,
+     55,  55,  55, 255, 255, 255,  55,  55,
      30,  30,  30,  30,  30,  30,  30,  30,
      30,  30,  30,  30,  30,  30,  30,  30,
      30,  30,  30,  30,  30,  30,  30,  30,
@@ -2216,8 +2381,24 @@
      53,  53,  53,  53,  53,  53,  53,  53,
      53,  53,  53,  53,  53,  53,  53,  53,
      53,  53,  53,  53, 255, 255,  53,  53,
-    255, 255, 255, 255, 255, 255, 255, 255,
-    255, 255, 255, 255, 255, 255, 255, 255,
+     77,  77,  77,  77,  77,  77,  77,  77,
+     77,  77,  77,  77,  77,  77,  77,  77,
+     77,  77,  77,  77,  77,  77,  77,  77,
+     77,  77,  77,  77,  77,  77,  77,  77,
+     77,  77,  77,  77,  77,  77,  77,  77,
+     77,  77,  77,  77,  77,  77,  77,  77,
+     77,  77,  77,  77,  77,  77,  77,  77,
+     77,  77,  77,  77,  77,  77,  77, 255,
+     77,  77,  77,  77,  77,  77,  77,  77,
+     77,  77,  77,  77,  77,  77,  77,  77,
+     77,  77,  77,  77,  77,  77,  77,  77,
+     77,  77,  77,  77,  77, 255, 255,  77,
+     77,  77,  77,  77,  77,  77,  77,  77,
+     77,  77, 255, 255, 255, 255, 255, 255,
+     77,  77,  77,  77,  77,  77,  77,  77,
+     77,  77, 255, 255, 255, 255, 255, 255,
+     77,  77,  77,  77,  77,  77,  77,  77,
+     77,  77,  77,  77,  77,  77, 255, 255,
     255, 255, 255, 255, 255, 255, 255, 255,
     255, 255, 255, 255, 255, 255, 255, 255,
     255, 255, 255, 255, 255, 255, 255, 255,
@@ -2276,6 +2457,22 @@
      68,  68,  68,  68,  68,  68,  68,  68,
      68,  68,  68,  68,  68,  68,  68,  68,
      68,  68,  68,  68,  68,  68,  68,  68,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+     40,  40,  40,   0,  40,  40,  40,  40,
+     40,  40,  40,  40,  40,  40,  40,  40,
+     40,   0,  40,  40,  40,  40,  40,  40,
+     40,   0,   0,   0,   0,  40,   0,   0,
+      0,   0,   0, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
       1,   1,   1,   1,   1,   1,   1,   1,
       1,   1,   1,   1,   1,   1,   1,   1,
       1,   1,   1,   1,   1,   1,   1,   1,
@@ -2307,7 +2504,7 @@
      40,  40,  40,  40,  40,  40,  40, 255,
     255, 255, 255, 255, 255, 255, 255, 255,
     255, 255, 255, 255, 255, 255, 255, 255,
-    255, 255, 255, 255, 255, 255,  40,  40,
+    255, 255, 255, 255, 255,  40,  40,  40,
       2,   2,   2,   2,   2,   2,   2,   2,
       2,   2,   2,   2,   2,   2,   2,   2,
       2,   2,   2,   2,   2,   2, 255, 255,
@@ -2362,8 +2559,8 @@
     255, 255, 255, 255, 255, 255, 255, 255,
       0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   0,   0, 255, 255,
-    255, 255, 255, 255, 255, 255, 255, 255,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0, 255, 255, 255, 255, 255, 255, 255,
     255, 255, 255, 255, 255, 255, 255, 255,
     255, 255, 255, 255, 255, 255, 255, 255,
      40,  40,  40,  40,  40,  40,  40,  40,
@@ -2382,58 +2579,58 @@
       0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   1,   0,
-    255, 255, 255,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,
       1,   1,   1,   1,   1,   1,   1,   1,
       1,   1,   1,   1,   1,   1,   1,   1,
       1,   1,   1,   1,   1,   1,   1,   1,
       1,   1,   1,   1,   1,   1,   1,   1,
       1,   1,   1,   1,   1,   1,   1,   1,
-      1, 255, 255, 255, 255, 255, 255, 255,
-      0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   0,   0,   0,   0,
-    255, 255, 255, 255, 255, 255, 255, 255,
+      1,   0, 255, 255, 255, 255, 255, 255,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0, 255, 255, 255, 255, 255, 255, 255,
     255, 255, 255, 255, 255, 255, 255, 255,
     255, 255, 255, 255, 255, 255, 255, 255,
       0,   0,   0,   0,   0,   0,   0,   0,
@@ -2455,19 +2652,19 @@
       0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   0,   0, 255, 255,
-      0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0,   0, 255, 255, 255,
-      0,   0,   0,   0, 255, 255, 255, 255,
-    255, 255, 255, 255, 255, 255, 255, 255,
-    255, 255, 255, 255, 255, 255, 255, 255,
-    255, 255, 255, 255, 255, 255, 255, 255,
-    255, 255, 255, 255, 255, 255, 255, 255,
-    255, 255, 255, 255, 255, 255, 255, 255,
-    255, 255, 255, 255, 255, 255, 255, 255,
-    255, 255, 255, 255, 255, 255, 255, 255,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0, 255,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0, 255,   0, 255, 255, 255, 255,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
     255,   0,   0,   0,   0, 255,   0,   0,
       0,   0, 255, 255,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,
@@ -2478,7 +2675,7 @@
       0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0, 255,   0, 255,   0,
-      0,   0,   0, 255, 255, 255,   0, 255,
+      0,   0,   0, 255, 255, 255,   0,   0,
       0,   0,   0,   0,   0,   0,   0, 255,
     255,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,
@@ -2526,8 +2723,8 @@
       0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0, 255, 255, 255,
-      0,   0,   0,   0,   0, 255, 255, 255,
-    255, 255, 255, 255, 255, 255, 255, 255,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0, 255, 255, 255, 255, 255, 255,
     255, 255, 255, 255, 255, 255, 255, 255,
     255, 255, 255, 255, 255, 255, 255, 255,
     255, 255, 255, 255, 255, 255, 255, 255,
@@ -2546,8 +2743,8 @@
      56,  56,  56,  56,  56,  56,  56, 255,
       1,   1,   1,   1,   1,   1,   1,   1,
       1,   1,   1,   1,   1,   1,   1,   1,
-    255,   1,   1,   1,   1,   1,   1,   1,
-      1,   1,   1,   1,   1,   1, 255, 255,
+      1,   1,   1,   1,   1,   1,   1,   1,
+      1,   1,   1,   1,   1,   1,   1,   1,
      54,  54,  54,  54,  54,  54,  54,  54,
      54,  54,  54,  54,  54,  54,  54,  54,
      54,  54,  54,  54,  54,  54,  54,  54,
@@ -2561,8 +2758,8 @@
      54,  54,  54,  54,  54,  54,  54,  54,
      54,  54,  54,  54,  54,  54,  54,  54,
      54,  54,  54,  54,  54,  54,  54,  54,
-     54,  54,  54, 255, 255, 255, 255, 255,
-    255, 255, 255, 255, 255, 255, 255, 255,
+     54,  54,  54,  54,  54,  54,  54,  54,
+     54,  54, 255, 255, 255, 255, 255, 255,
     255,  54,  54,  54,  54,  54,  54,  54,
      23,  23,  23,  23,  23,  23,  23,  23,
      23,  23,  23,  23,  23,  23,  23,  23,
@@ -2602,7 +2799,7 @@
       0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,
-      0, 255, 255, 255, 255, 255, 255, 255,
+      0,   0, 255, 255, 255, 255, 255, 255,
     255, 255, 255, 255, 255, 255, 255, 255,
     255, 255, 255, 255, 255, 255, 255, 255,
     255, 255, 255, 255, 255, 255, 255, 255,
@@ -2732,8 +2929,8 @@
       0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,
-      0,   0,   0,   0, 255, 255, 255, 255,
-    255, 255, 255, 255, 255, 255, 255, 255,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,
      24,  24,  24,  24,  24,  24,  24,  24,
@@ -2796,6 +2993,7 @@
      35,  35,  35,  35,  35,  35,  35,  35,
      35,  35,  35,  35,  35,  35,  35,  35,
      35,  35,  35,  35,  35,  35,  35,  35,
+     35,  35,  35,  35,  35,  35,  35,  35,
      35,  35,  35,  35, 255, 255, 255, 255,
     255, 255, 255, 255, 255, 255, 255, 255,
     255, 255, 255, 255, 255, 255, 255, 255,
@@ -2803,7 +3001,6 @@
     255, 255, 255, 255, 255, 255, 255, 255,
     255, 255, 255, 255, 255, 255, 255, 255,
     255, 255, 255, 255, 255, 255, 255, 255,
-    255, 255, 255, 255, 255, 255, 255, 255,
      36,  36,  36,  36,  36,  36,  36,  36,
      36,  36,  36,  36,  36,  36,  36,  36,
      36,  36,  36,  36,  36,  36,  36,  36,
@@ -2830,12 +3027,12 @@
      36,  36,  36,  36,  36,  36,  36,  36,
      36,  36,  36,  36,  36,  36,  36, 255,
     255, 255, 255, 255, 255, 255, 255, 255,
-    255, 255, 255, 255, 255, 255, 255, 255,
-    255, 255, 255, 255, 255, 255, 255, 255,
-    255, 255, 255, 255, 255, 255, 255, 255,
-    255, 255, 255, 255, 255, 255, 255, 255,
-    255, 255, 255, 255, 255, 255, 255, 255,
-    255, 255, 255, 255, 255, 255, 255, 255,
+     82,  82,  82,  82,  82,  82,  82,  82,
+     82,  82,  82,  82,  82,  82,  82,  82,
+     82,  82,  82,  82,  82,  82,  82,  82,
+     82,  82,  82,  82,  82,  82,  82,  82,
+     82,  82,  82,  82,  82,  82,  82,  82,
+     82,  82,  82,  82,  82,  82,  82,  82,
      69,  69,  69,  69,  69,  69,  69,  69,
      69,  69,  69,  69,  69,  69,  69,  69,
      69,  69,  69,  69,  69,  69,  69,  69,
@@ -2872,17 +3069,17 @@
       3,   3,   3,   3,   3,   3,   3,   3,
       3,   3,   3,   3,   3,   3,   3,   3,
     255, 255, 255, 255, 255, 255, 255, 255,
-    255, 255, 255, 255, 255, 255, 255, 255,
-    255, 255, 255, 255, 255, 255, 255, 255,
-    255, 255, 255, 255, 255, 255, 255, 255,
-    255, 255, 255, 255, 255, 255, 255, 255,
-    255, 255, 255, 255, 255, 255, 255, 255,
-    255, 255, 255, 255, 255, 255, 255, 255,
-    255, 255, 255, 255, 255, 255, 255, 255,
-    255, 255, 255, 255, 255, 255, 255, 255,
-    255, 255, 255, 255, 255, 255, 255, 255,
-    255, 255, 255, 255, 255, 255, 255, 255,
-    255, 255, 255, 255, 255, 255, 255, 255,
+     83,  83,  83,  83,  83,  83,  83,  83,
+     83,  83,  83,  83,  83,  83,  83,  83,
+     83,  83,  83,  83,  83,  83,  83,  83,
+     83,  83,  83,  83,  83,  83,  83,  83,
+     83,  83,  83,  83,  83,  83,  83,  83,
+     83,  83,  83,  83,  83,  83,  83,  83,
+     83,  83,  83,  83,  83,  83,  83,  83,
+     83,  83,  83,  83,  83,  83,  83,  83,
+     83,  83,  83,  83,  83,  83,  83,  83,
+     83,  83,  83,  83,  83,  83,  83,  83,
+     83,  83,  83,  83,  83,  83,  83,  83,
     255, 255, 255, 255, 255, 255, 255, 255,
       0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,
@@ -2922,8 +3119,8 @@
      58,  58,  58,  58,  58,  58,  58,  58,
      58,  58,  58,  58,  58,  58,  58,  58,
      58,  58,  58,  58, 255, 255, 255, 255,
-    255, 255, 255, 255, 255, 255, 255, 255,
-    255, 255, 255, 255, 255, 255, 255, 255,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0, 255, 255, 255, 255, 255, 255,
      64,  64,  64,  64,  64,  64,  64,  64,
      64,  64,  64,  64,  64,  64,  64,  64,
      64,  64,  64,  64,  64,  64,  64,  64,
@@ -2944,10 +3141,10 @@
     255, 255, 255, 255, 255, 255,  70,  70,
      70,  70,  70,  70,  70,  70,  70,  70,
      70,  70, 255, 255, 255, 255, 255, 255,
-    255, 255, 255, 255, 255, 255, 255, 255,
-    255, 255, 255, 255, 255, 255, 255, 255,
-    255, 255, 255, 255, 255, 255, 255, 255,
-    255, 255, 255, 255, 255, 255, 255, 255,
+      9,   9,   9,   9,   9,   9,   9,   9,
+      9,   9,   9,   9,   9,   9,   9,   9,
+      9,   9,   9,   9,   9,   9,   9,   9,
+      9,   9,   9,   9, 255, 255, 255, 255,
      71,  71,  71,  71,  71,  71,  71,  71,
      71,  71,  71,  71,  71,  71,  71,  71,
      71,  71,  71,  71,  71,  71,  71,  71,
@@ -2960,6 +3157,22 @@
      72,  72,  72,  72,  72,  72,  72,  72,
      72,  72,  72,  72, 255, 255, 255, 255,
     255, 255, 255, 255, 255, 255, 255,  72,
+     24,  24,  24,  24,  24,  24,  24,  24,
+     24,  24,  24,  24,  24,  24,  24,  24,
+     24,  24,  24,  24,  24,  24,  24,  24,
+     24,  24,  24,  24,  24, 255, 255, 255,
+     84,  84,  84,  84,  84,  84,  84,  84,
+     84,  84,  84,  84,  84,  84,  84,  84,
+     84,  84,  84,  84,  84,  84,  84,  84,
+     84,  84,  84,  84,  84,  84,  84,  84,
+     84,  84,  84,  84,  84,  84,  84,  84,
+     84,  84,  84,  84,  84,  84,  84,  84,
+     84,  84,  84,  84,  84,  84,  84,  84,
+     84,  84,  84,  84,  84,  84,  84,  84,
+     84,  84,  84,  84,  84,  84,  84,  84,
+     84,  84,  84,  84,  84,  84, 255,  84,
+     84,  84,  84,  84,  84,  84,  84,  84,
+     84,  84, 255, 255, 255, 255,  84,  84,
     255, 255, 255, 255, 255, 255, 255, 255,
     255, 255, 255, 255, 255, 255, 255, 255,
     255, 255, 255, 255, 255, 255, 255, 255,
@@ -2976,42 +3189,58 @@
      76,  76,  76,  76,  76,  76, 255, 255,
      76,  76,  76,  76,  76,  76,  76,  76,
      76,  76, 255, 255,  76,  76,  76,  76,
-    255, 255, 255, 255, 255, 255, 255, 255,
-    255, 255, 255, 255, 255, 255, 255, 255,
-    255, 255, 255, 255, 255, 255, 255, 255,
-    255, 255, 255, 255, 255, 255, 255, 255,
-     24,  24,  24,  24,  24,  24,  24,  24,
-     24,  24,  24,  24,  24,  24,  24,  24,
+     22,  22,  22,  22,  22,  22,  22,  22,
+     22,  22,  22,  22,  22,  22,  22,  22,
+     22,  22,  22,  22,  22,  22,  22,  22,
+     22,  22,  22,  22, 255, 255, 255, 255,
+     78,  78,  78,  78,  78,  78,  78,  78,
+     78,  78,  78,  78,  78,  78,  78,  78,
+     78,  78,  78,  78,  78,  78,  78,  78,
+     78,  78,  78,  78,  78,  78,  78,  78,
+     78,  78,  78,  78,  78,  78,  78,  78,
+     78,  78,  78,  78,  78,  78,  78,  78,
+     78,  78,  78,  78,  78,  78,  78,  78,
+     78,  78,  78,  78,  78,  78,  78,  78,
+     78,  78,  78, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255,  78,  78,  78,  78,  78,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+     85,  85,  85,  85,  85,  85,  85,  85,
+     85,  85,  85,  85,  85,  85,  85,  85,
+     85,  85,  85,  85,  85,  85,  85,  85,
+     85,  85,  85,  85,  85,  85,  85,  85,
+     85,  85,  85,  85,  85,  85,  85,  85,
+     85,  85,  85,  85,  85,  85, 255, 255,
+     85,  85,  85,  85,  85,  85,  85,  85,
+     85,  85, 255, 255, 255, 255, 255, 255,
      24,  24,  24,  24,  24,  24,  24,  24,
      24,  24,  24,  24,  24,  24,  24,  24,
      24,  24,  24,  24,  24,  24,  24,  24,
      24,  24,  24,  24,  24,  24,  24,  24,
-     24,  24,  24,  24,  24,  24,  24,  24,
-     24,  24,  24,  24,  24,  24,  24,  24,
-     24,  24,  24,  24,  24,  24,  24,  24,
+     24,  24,  24,  24, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
      24,  24,  24,  24,  24,  24,  24,  24,
      24,  24,  24,  24,  24,  24,  24,  24,
-     24,  24,  24,  24,  24,  24,  24,  24,
-     24,  24,  24,  24,  24,  24,  24,  24,
-     24,  24,  24,  24,  24,  24,  24,  24,
-     24,  24,  24,  24,  24,  24,  24,  24,
+     24,  24,  24,  24,  24,  24,  24, 255,
+    255, 255, 255,  24,  24,  24,  24,  24,
      24,  24,  24,  24,  24,  24,  24,  24,
      24,  24,  24,  24,  24,  24,  24,  24,
      24,  24,  24,  24,  24,  24,  24,  24,
      24,  24,  24,  24,  24,  24,  24,  24,
      24,  24,  24,  24,  24,  24,  24,  24,
      24,  24,  24,  24, 255, 255, 255, 255,
-    255, 255, 255, 255, 255, 255, 255, 255,
-    255, 255, 255, 255, 255, 255, 255, 255,
-    255, 255, 255, 255, 255, 255, 255, 255,
-    255, 255, 255, 255, 255, 255, 255, 255,
-    255, 255, 255, 255, 255, 255, 255, 255,
-    255, 255, 255, 255, 255, 255, 255, 255,
-    255, 255, 255, 255, 255, 255, 255, 255,
-    255, 255, 255, 255, 255, 255, 255, 255,
-    255, 255, 255, 255, 255, 255, 255, 255,
-    255, 255, 255, 255, 255, 255, 255, 255,
-    255, 255, 255, 255, 255, 255, 255, 255,
      35,  35,  35,  35,  35,  35,  35,  35,
      35,  35,  35,  35,  35,  35,  35,  35,
      35,  35,  35,  35,  35,  35,  35,  35,
@@ -3025,7 +3254,7 @@
      35,  35,  35,  35,  35,  35,  35,  35,
      35,  35,  35,  35,  35,  35,  35,  35,
      35,  35,  35,  35,  35,  35,  35,  35,
-     35,  35,  35, 255, 255, 255, 255, 255,
+     35,  35,  35,  35,  35,  35, 255, 255,
      35,  35,  35,  35,  35,  35,  35,  35,
      35,  35,  35,  35,  35,  35,  35,  35,
      35,  35,  35,  35,  35,  35,  35,  35,
@@ -3340,10 +3569,10 @@
      51,  51,  51,  51,  51,  51,  51,  51,
      51,  51,  51,  51,  51,  51, 255,  51,
      51, 255, 255, 255,  51, 255, 255,  51,
-    255, 255, 255, 255, 255, 255, 255, 255,
-    255, 255, 255, 255, 255, 255, 255, 255,
-    255, 255, 255, 255, 255, 255, 255, 255,
-    255, 255, 255, 255, 255, 255, 255, 255,
+     86,  86,  86,  86,  86,  86,  86,  86,
+     86,  86,  86,  86,  86,  86,  86,  86,
+     86,  86,  86,  86,  86,  86, 255,  86,
+     86,  86,  86,  86,  86,  86,  86,  86,
     255, 255, 255, 255, 255, 255, 255, 255,
     255, 255, 255, 255, 255, 255, 255, 255,
     255, 255, 255, 255, 255, 255, 255, 255,
@@ -3351,7 +3580,7 @@
      63,  63,  63,  63,  63,  63,  63,  63,
      63,  63,  63,  63,  63,  63,  63,  63,
      63,  63,  63,  63,  63,  63,  63,  63,
-     63,  63, 255, 255, 255, 255, 255,  63,
+     63,  63,  63,  63, 255, 255, 255,  63,
      75,  75,  75,  75,  75,  75,  75,  75,
      75,  75,  75,  75,  75,  75,  75,  75,
      75,  75,  75,  75,  75,  75,  75,  75,
@@ -3376,6 +3605,70 @@
     255, 255, 255, 255, 255, 255, 255, 255,
      60,  60,  60,  60,  60,  60,  60,  60,
      60, 255, 255, 255, 255, 255, 255, 255,
+     87,  87,  87,  87,  87,  87,  87,  87,
+     87,  87,  87,  87,  87,  87,  87,  87,
+     87,  87,  87,  87,  87,  87,  87,  87,
+     87,  87,  87,  87,  87,  87,  87,  87,
+     79,  79,  79,  79,  79,  79,  79,  79,
+     79,  79,  79,  79,  79,  79,  79,  79,
+     79,  79,  79,  79,  79,  79,  79,  79,
+     79,  79,  79,  79,  79,  79,  79,  79,
+     79,  79,  79,  79,  79,  79,  79,  79,
+     79,  79,  79,  79,  79,  79,  79,  79,
+     79,  79,  79,  79,  79,  79, 255, 255,
+    255,  79,  79,  79,  79,  79,  79,  79,
+     88,  88,  88,  88,  88,  88,  88,  88,
+     88,  88,  88,  88,  88,  88,  88,  88,
+     88,  88,  88,  88,  88,  88, 255, 255,
+     88,  88,  88,  88,  88,  88,  88,  88,
+     89,  89,  89,  89,  89,  89,  89,  89,
+     89,  89,  89,  89,  89,  89,  89,  89,
+     89,  89,  89, 255, 255, 255, 255, 255,
+     89,  89,  89,  89,  89,  89,  89,  89,
+     90,  90,  90,  90,  90,  90,  90,  90,
+     90,  90,  90,  90,  90,  90,  90,  90,
+     90,  90,  90,  90,  90,  90,  90,  90,
+     90,  90,  90,  90,  90,  90,  90,  90,
+     90,  90,  90,  90,  90,  90,  90,  90,
+     90,  90,  90,  90,  90,  90,  90,  90,
+     90,  90,  90,  90,  90,  90,  90,  90,
+     90,  90,  90,  90,  90,  90,  90,  90,
+     90,  90,  90,  90,  90,  90,  90,  90,
+     90, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+      6,   6,   6,   6,   6,   6,   6,   6,
+      6,   6,   6,   6,   6,   6,   6,   6,
+      6,   6,   6,   6,   6,   6,   6,   6,
+      6,   6,   6,   6,   6,   6,   6, 255,
+     91,  91,  91,  91,  91,  91,  91,  91,
+     91,  91,  91,  91,  91,  91,  91,  91,
+     91,  91,  91,  91,  91,  91,  91,  91,
+     91,  91,  91,  91,  91,  91,  91,  91,
+     91,  91,  91,  91,  91,  91,  91,  91,
+     91,  91,  91,  91,  91,  91,  91,  91,
+     91,  91,  91,  91,  91,  91,  91,  91,
+     91,  91,  91,  91,  91,  91,  91,  91,
+     91,  91, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
     255, 255, 255, 255, 255, 255, 255, 255,
     255, 255, 255, 255, 255, 255, 255, 255,
     255, 255, 255, 255, 255, 255, 255, 255,
@@ -3428,6 +3721,38 @@
     255, 255, 255, 255, 255, 255, 255, 255,
      62,  62,  62,  62, 255, 255, 255, 255,
     255, 255, 255, 255, 255, 255, 255, 255,
+     80,  80,  80,  80,  80,  80,  80,  80,
+     80,  80,  80,  80,  80,  80,  80,  80,
+     80,  80,  80,  80,  80,  80,  80,  80,
+     80,  80,  80,  80,  80,  80,  80,  80,
+     80,  80,  80,  80,  80,  80,  80,  80,
+     80,  80,  80,  80,  80,  80,  80,  80,
+     80,  80,  80,  80,  80,  80,  80,  80,
+     80,  80,  80,  80,  80,  80,  80,  80,
+     80,  80,  80,  80,  80,  80,  80,  80,
+     80,  80,  80,  80,  80,  80,  80,  80,
+     80,  80,  80,  80,  80,  80,  80,  80,
+     80,  80,  80,  80,  80,  80,  80,  80,
+     80,  80,  80,  80,  80,  80,  80,  80,
+     80,  80,  80,  80,  80,  80,  80,  80,
+     80,  80,  80,  80,  80,  80,  80,  80,
+     80,  80,  80,  80,  80,  80,  80,  80,
+     80,  80,  80,  80,  80,  80,  80,  80,
+     80,  80,  80,  80,  80,  80,  80,  80,
+     80,  80,  80,  80,  80,  80,  80,  80,
+     80,  80,  80,  80,  80,  80,  80,  80,
+     80,  80,  80,  80,  80,  80,  80,  80,
+     80,  80,  80,  80,  80,  80,  80, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
       0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,
       0,   0,   0,   0,   0,   0,   0,   0,
@@ -3620,6 +3945,54 @@
     255, 255, 255, 255, 255, 255, 255, 255,
     255, 255, 255, 255, 255, 255, 255, 255,
     255, 255, 255, 255, 255, 255, 255, 255,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0, 255, 255, 255, 255, 255,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0, 255,
+    255,   0, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255,   0, 255,   0,
+    255, 255,   0, 255, 255, 255,   0, 255,
+    255, 255,   0,   0,   0,   0,   0, 255,
+    255, 255, 255, 255, 255, 255, 255,   0,
+    255, 255, 255, 255, 255, 255, 255,   0,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255,   0, 255,   0,   0, 255, 255,   0,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255,   0,   0,   0,   0, 255, 255,
+      0, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+     32, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
      35,  35,  35,  35,  35,  35,  35,  35,
      35,  35,  35,  35,  35,  35,  35,  35,
      35,  35,  35,  35,  35,  35,  35,  35,
@@ -3639,6 +4012,22 @@
      35,  35,  35,  35,  35,  35,  35,  35,
      35,  35,  35,  35,  35,  35,  35,  35,
      35,  35,  35,  35,  35,  35,  35,  35,
+     35,  35,  35,  35,  35,  35,  35,  35,
+     35,  35,  35,  35,  35,  35,  35,  35,
+     35,  35,  35,  35,  35,  35,  35,  35,
+     35,  35,  35,  35,  35, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+    255, 255, 255, 255, 255, 255, 255, 255,
+     35,  35,  35,  35,  35,  35,  35,  35,
+     35,  35,  35,  35,  35,  35,  35,  35,
+     35,  35,  35,  35,  35,  35,  35,  35,
      35,  35,  35,  35,  35,  35, 255, 255,
     255, 255, 255, 255, 255, 255, 255, 255,
     255, 255, 255, 255, 255, 255, 255, 255,
--- a/lib/unictype/scripts_byname.gperf
+++ b/lib/unictype/scripts_byname.gperf
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Unicode scripts.  */
-/* Generated automatically by gen-ctype.c for Unicode 5.1.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 5.2.0.  */
 struct named_script { const char *name; unsigned int index; };
 %struct-type
 %language=ANSI-C
@@ -87,3 +87,18 @@
 Carian, 74
 Lydian, 75
 Cham, 76
+Tai_Tham, 77
+Tai_Viet, 78
+Avestan, 79
+Egyptian_Hieroglyphs, 80
+Samaritan, 81
+Lisu, 82
+Bamum, 83
+Javanese, 84
+Meetei_Mayek, 85
+Imperial_Aramaic, 86
+Old_South_Arabian, 87
+Inscriptional_Parthian, 88
+Inscriptional_Pahlavi, 89
+Old_Turkic, 90
+Kaithi, 91
--- a/lib/unictype/sy_c_ident.h
+++ b/lib/unictype/sy_c_ident.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Language syntax properties of Unicode characters.  */
-/* Generated automatically by gen-ctype.c for Unicode 5.1.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 5.2.0.  */
 #define identsyntax_header_0 12
 #define identsyntax_header_1 14
 #define identsyntax_header_2 7
--- a/lib/unictype/sy_c_whitespace.h
+++ b/lib/unictype/sy_c_whitespace.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Language syntax properties of Unicode characters.  */
-/* Generated automatically by gen-ctype.c for Unicode 5.1.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 5.2.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
--- a/lib/unictype/sy_java_ident.h
+++ b/lib/unictype/sy_java_ident.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Language syntax properties of Unicode characters.  */
-/* Generated automatically by gen-ctype.c for Unicode 5.1.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 5.2.0.  */
 #define identsyntax_header_0 12
 #define identsyntax_header_1 225
 #define identsyntax_header_2 7
@@ -10,18 +10,18 @@
 struct
   {
     int level1[225];
-    short level2[16 << 5];
-    unsigned short level3[113 * 16];
+    short level2[19 << 5];
+    unsigned short level3[122 * 16];
   }
 u_java_ident =
 {
   {
         0,    32,    64,    96,   128,   160,   160,   160,
       160,   192,   224,   160,   160,   256,    -1,   288,
-      320,    -1,   352,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,    -1,    -1,    -1,   384,    -1,    -1,
+      320,   352,   384,   416,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,   448,    -1,    -1,
       160,   160,   160,   160,   160,   160,   160,   160,
-      160,   160,   416,    -1,    -1,    -1,    -1,   448,
+      160,   160,   480,   512,    -1,    -1,    -1,   544,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
@@ -44,29 +44,29 @@
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      480
+      576
   },
   {
         0,   128,   256,   256,   256,   384,   512,   640,
       256,   768,   896,  1024,  1152,  1280,  1408,  1536,
-       -1,    -1,  1664,  1792,  1920,  2048,  2176,  2304,
-     2432,  2560,  2688,  2816,  2944,  3072,  3200,  3328,
-     3456,  3584,  3712,  3840,  3968,  4096,  4224,  4352,
-     4480,   256,   256,   256,  4608,  4736,  4864,  4992,
-     5120,  5248,  5376,  5504,  5632,    -1,  5760,  5888,
-     6016,    -1,   256,  6144,   256,   256,  6272,  6400,
-     6528,  6656,  6784,  6912,    -1,    -1,    -1,    -1,
+     1664,    -1,  1792,  1920,  2048,  2176,  2304,  2432,
+     2560,  2688,  2816,  2944,  3072,  3200,  3328,  3456,
+     3584,  3712,   256,   256,  3840,  3968,  4096,  4224,
+     4352,   256,   256,   256,  4480,  4608,  4736,  4864,
+     4992,  5120,  5248,  5376,  5504,  5632,  5760,  5888,
+     6016,  6144,   256,  6272,   256,   256,  6400,  6528,
+     6656,  6784,  6912,  7040,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-     7040,  7168,  7296,  7424,  7552,    -1,    -1,    -1,
-     7680,  7808,  7936,  8064,    -1,    -1,    -1,    -1,
+     7168,  7296,  7424,  7552,  7680,    -1,    -1,    -1,
+     7808,  7936,  8064,  8192,    -1,    -1,    -1,    -1,
       256,   256,   256,   256,   256,   256,   256,   256,
       256,   256,   256,   256,   256,   256,   256,   256,
       256,   256,   256,   256,   256,   256,   256,   256,
       256,   256,   256,   256,   256,   256,   256,   256,
       256,   256,   256,   256,   256,   256,   256,   256,
       256,   256,   256,   256,   256,   256,   256,   256,
-      256,   256,   256,  8192,   256,   256,   256,   256,
+      256,   256,   256,  8320,   256,   256,   256,   256,
       256,   256,   256,   256,   256,   256,   256,   256,
       256,   256,   256,   256,   256,   256,   256,   256,
       256,   256,   256,   256,   256,   256,   256,   256,
@@ -74,40 +74,52 @@
       256,   256,   256,   256,   256,   256,   256,   256,
       256,   256,   256,   256,   256,   256,   256,   256,
       256,   256,   256,   256,   256,   256,   256,   256,
-      256,   256,   256,   256,   256,   256,   256,  8320,
+      256,   256,   256,   256,   256,   256,   256,  8448,
       256,   256,   256,   256,   256,   256,   256,   256,
-      256,  8448,   256,   256,  8576,  8704,  8832,  8960,
-     9088,  9216,  9344,    -1,  9472,    -1,    -1,    -1,
+      256,  8576,   256,   256,  8704,  8832,  8960,  9088,
+     9216,  9344,  9472,  9600,  9728,  9856,    -1,  9984,
       256,   256,   256,   256,   256,   256,   256,   256,
       256,   256,   256,   256,   256,   256,   256,   256,
-      256,   256,   256,   256,   256,   256,   256,  9600,
+      256,   256,   256,   256,   256,   256,   256, 10112,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,   256,   256,  9728,  9856,  9984, 10112,
-      256,   256, 10240, 10368, 10496, 10624, 10752, 10880,
-    11008, 11136, 11264, 11392,    -1, 11520, 11648, 11776,
-      256, 11904,    -1,    -1,    -1,    -1,    -1,    -1,
-    12032,    -1, 12160,    -1, 12288,    -1,    -1,    -1,
-       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      256,   256,   256,   256,   256,   256, 12416,    -1,
-    12544,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,   256,   256, 10240, 10368, 10496, 10624,
+      256,   256, 10752, 10880, 11008, 11136, 11264, 11392,
+    11520, 11648, 11776, 11904,    -1, 12032, 12160, 12288,
+      256, 12416,    -1,    -1,    -1,    -1,    -1,    -1,
+    12544,    -1, 12672,    -1, 12800,    -1, 12928,    -1,
+    13056,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1, 13184,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1, 12672, 12800, 12928,    -1,    -1,    -1,
-    13056, 13184, 13312,   256,   256, 13440, 13568, 13696,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      256,   256,   256,   256,   256,   256, 13312,    -1,
+    13440,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
       256,   256,   256,   256,   256,   256,   256,   256,
-      256,   256,   256,   256,   256, 13824,    -1,    -1,
+    13568,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1, 13696, 13824, 13952,    -1,    -1,    -1,
+    14080, 14208, 14336,   256,   256, 14464, 14592, 14720,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      256,   256,   256,   256,   256,   256,   256,   256,
+      256,   256,   256,   256,   256, 14848,   256,   256,
+      256,   256,   256,   256,   256,   256,   256,   256,
+      256,   256,   256,   256,   256,   256,   256,   256,
+      256,   256,   256,   256,   256,   256,   256,   256,
+      256,   256,   256,   256,   256,   256, 14976,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      256,   256,   256,   256, 13952,    -1,    -1,    -1,
+      256,   256,   256,   256, 15104,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    14080,    -1, 14208, 14336,    -1,    -1,    -1,    -1,
+    15232,    -1, 15360, 15488,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1
@@ -127,7 +139,7 @@
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2000, 0x0000,
     0x5560, 0x000a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
-    0x0000, 0x0000, 0x0000, 0x0000, 0xaa00, 0xaaaa, 0x0002, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0xa000, 0xaaaa, 0x0002, 0x0000,
     0x0000, 0x0000, 0x8000, 0xaaa2, 0x0002, 0x0000, 0x0000, 0x0000,
     0x0000, 0xaaaa, 0x5556, 0x5555, 0x5555, 0x5555, 0x5555, 0x6555,
     0x6596, 0xaaaa, 0x0000, 0x0000, 0x0000, 0xaa80, 0xaa80, 0xaaaa,
@@ -139,10 +151,12 @@
     0x5555, 0x0295, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
     0x0000, 0x0000, 0x0000, 0x0000, 0x5000, 0x5555, 0xaaa1, 0xaaaa,
     0x5555, 0x0005, 0x0000, 0x0000, 0x0000, 0x5540, 0xa055, 0xaa8a,
-    0x0056, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x51a0,
-    0x5555, 0xa555, 0xa954, 0x0000, 0x5a50, 0x5555, 0xaa82, 0x002a,
+    0x0000, 0x0000, 0x5000, 0x5545, 0x5455, 0xa554, 0xaaaa, 0xaaaa,
+    0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa,
+    0x0055, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x51a0,
+    0x5555, 0x9555, 0xa554, 0x0000, 0x5a50, 0x5555, 0xaa82, 0x0002,
     0x0256, 0x2800, 0x0028, 0x0000, 0x0000, 0x0008, 0x0a88, 0x51a0,
-    0x6955, 0x8569, 0x6aaa, 0x20aa, 0x5a50, 0x5555, 0xaa00, 0xaaaa,
+    0x6955, 0x8569, 0x6aaa, 0x20aa, 0x5a50, 0x5555, 0xaa00, 0xaa2a,
     0x0256, 0x2a80, 0x0028, 0x0000, 0x0000, 0x0008, 0x8208, 0x59a0,
     0x6a95, 0xa569, 0xaaa6, 0x8802, 0x5aaa, 0x5555, 0xa405, 0xaaaa,
     0x0256, 0x2000, 0x0020, 0x0000, 0x0000, 0x0008, 0x0208, 0x51a0,
@@ -169,13 +183,9 @@
     0x9aaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5540, 0x5555, 0x1555,
     0x5555, 0xaaa5, 0x5000, 0x5005, 0x4151, 0x0555, 0x0154, 0x0000,
-    0x5550, 0x4555, 0x5555, 0xaaa5, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x5550, 0x4555, 0x5555, 0xa555, 0x0000, 0x0000, 0x0000, 0x0000,
     0xa000, 0xaaaa, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa880,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
-    0x0000, 0x0000, 0x0000, 0x2aa0, 0x0000, 0x0000, 0x0000, 0x0000,
-    0x0000, 0x0000, 0x0000, 0x0000, 0xaa80, 0x0000, 0x0000, 0x0000,
-    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xaaa0,
-    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
     0x0000, 0xa008, 0x8000, 0xa008, 0x0000, 0x0000, 0x0000, 0x0000,
     0x0000, 0xa008, 0x0000, 0x0000, 0x0000, 0x0000, 0xa008, 0x8000,
     0xa008, 0x0000, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
@@ -186,7 +196,7 @@
     0x0002, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
-    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2800, 0x8000, 0xaaaa,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2800, 0x0000, 0x0000,
     0x0002, 0x0000, 0x0000, 0xaa80, 0x0000, 0x0000, 0x0000, 0x0000,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0a80, 0xaaa8, 0xaaaa,
     0x0000, 0x0800, 0xa950, 0xaaaa, 0x0000, 0x0000, 0xa950, 0xaaaa,
@@ -195,13 +205,15 @@
     0x5555, 0x5555, 0x2a55, 0xa42a, 0x5555, 0xaaa5, 0xaaaa, 0xaaaa,
     0xaaaa, 0xa56a, 0x5555, 0xaaa5, 0x0000, 0x0000, 0x0000, 0x0000,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xaaaa,
-    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xaa84, 0xaaaa, 0xaaaa,
-    0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xaa84, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa000, 0xaaaa,
     0x0000, 0x0000, 0x0000, 0xa800, 0x5555, 0xaa55, 0x5555, 0xaa55,
     0x5aaa, 0x5555, 0x0000, 0x0000, 0x0000, 0xa000, 0xa800, 0xaaaa,
-    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xaaa0, 0x5555, 0x5555,
-    0x0001, 0xaaa5, 0x5555, 0xaaa5, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa,
-    0x0000, 0x0000, 0x4000, 0xaa55, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xaa00, 0x5555, 0x5555,
+    0x0001, 0xaaa5, 0x5555, 0xaa95, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa,
+    0x0000, 0x0000, 0x4000, 0xaa55, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x5400, 0x9555, 0x5555, 0x5555, 0x5555, 0x6955,
+    0x5555, 0xaaa5, 0x5555, 0xaaa5, 0x2aaa, 0xaaaa, 0xaaaa, 0xaaaa,
     0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa,
     0x0155, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5500, 0x5555,
     0x0155, 0xaa00, 0x5555, 0xaaa5, 0xaaaa, 0x556a, 0xaa55, 0xaaaa,
@@ -209,24 +221,26 @@
     0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa,
     0x0000, 0x0000, 0x0000, 0x0000, 0x5500, 0x5555, 0x5555, 0xaaaa,
     0x5555, 0x02a5, 0x5555, 0x0005, 0x0000, 0x0000, 0x0000, 0xa000,
+    0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa,
+    0xaaaa, 0xaaaa, 0x5595, 0x5555, 0x5555, 0x0401, 0xaa90, 0xaaaa,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
-    0x5555, 0x5555, 0x5555, 0x5555, 0x9555, 0xaaaa, 0xaaaa, 0x5aaa,
+    0x5555, 0x5555, 0x5555, 0x5555, 0x9555, 0xaaaa, 0xaaaa, 0x56aa,
     0x0000, 0x0000, 0xa000, 0xa000, 0x0000, 0x0000, 0x0000, 0x0000,
     0xa000, 0xa000, 0x0000, 0x2222, 0x0000, 0x0000, 0x0000, 0xa000,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0800, 0x8800,
     0x080a, 0xa800, 0x0a00, 0xaa00, 0x0000, 0xa800, 0x080a, 0xa800,
     0xaaaa, 0xffea, 0xaaaa, 0xaaaa, 0xaaaa, 0xbffa, 0xaaaa, 0x2aaa,
     0xaaa8, 0xaaaa, 0xa8aa, 0xaaaa, 0xabff, 0xfffa, 0xaaa2, 0x2aaa,
-    0xaaaa, 0xaaaa, 0xa800, 0xaaaa, 0x0000, 0x0000, 0xa000, 0xaaaa,
+    0xaaaa, 0xaaaa, 0xa800, 0xaaaa, 0x0000, 0x0000, 0x0000, 0xaaa8,
     0xaaaa, 0xaaaa, 0x5555, 0xa955, 0x56a6, 0x5555, 0xaaa9, 0xaaaa,
     0x2a8a, 0x000a, 0xa200, 0xa002, 0x88aa, 0x2008, 0x0000, 0x00a0,
     0x02aa, 0x8aa0, 0xaaaa, 0xaaaa, 0x0000, 0x0000, 0x0000, 0x0000,
     0x0000, 0xaaa8, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa,
     0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0x0000, 0x0000,
-    0x0000, 0x0000, 0x0000, 0x8000, 0x0000, 0x0000, 0x0002, 0xa000,
+    0x0000, 0x0000, 0x0000, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
-    0x0000, 0x0000, 0x0000, 0x0000, 0xa800, 0xaaaa, 0xaaaa, 0xaaaa,
+    0x0000, 0x0000, 0x0000, 0x0000, 0xa800, 0x402a, 0xaaa5, 0xaaaa,
     0x0000, 0x0000, 0x0000, 0x0000, 0xa000, 0xaaaa, 0x0000, 0x0000,
     0x0000, 0x0000, 0x0000, 0x0000, 0xa000, 0x2aaa, 0xaaaa, 0xaaaa,
     0x0000, 0x0000, 0x8000, 0xaaaa, 0x8000, 0x8000, 0x8000, 0x8000,
@@ -244,29 +258,35 @@
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa000, 0xaaaa,
     0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
-    0xaa00, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa,
+    0x0000, 0xaa00, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa,
     0x0000, 0xa800, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa,
-    0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa,
+    0xaaaa, 0xaaaa, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa000,
     0x0000, 0xa800, 0x0000, 0x0000, 0x5555, 0xaa05, 0xaaaa, 0xaaaa,
     0x0000, 0x0000, 0x0000, 0x0000, 0x000a, 0x4000, 0xaaaa, 0x25aa,
-    0x0000, 0x0000, 0x0000, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa,
-    0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa,
+    0x0000, 0x0000, 0x0000, 0xaaaa, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xaaa5, 0xaaaa,
     0xaaaa, 0xaaaa, 0x2aaa, 0x0000, 0x000a, 0x0000, 0x0000, 0x0000,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
     0x0000, 0xa828, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa,
     0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0x002a,
-    0x1010, 0x0040, 0x0000, 0x0000, 0x5540, 0xaaaa, 0xaaaa, 0xaaaa,
+    0x1010, 0x0040, 0x0000, 0x0000, 0x5540, 0xaaaa, 0xaaaa, 0xaaa8,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xaa00, 0xaaaa,
     0x0005, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5500, 0x5555,
-    0xa955, 0xaaaa, 0x5555, 0xaaa5, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa,
+    0xa955, 0xaaaa, 0x5555, 0xaaa5, 0x5555, 0x5555, 0x0005, 0xaa2a,
     0x5555, 0x0005, 0x0000, 0x0000, 0x5000, 0xa555, 0x0000, 0x0000,
-    0x4000, 0x5555, 0xaa55, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa,
+    0x4000, 0x5555, 0xaa55, 0xaaaa, 0x0000, 0x0000, 0x0000, 0xa800,
+    0x0055, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5540, 0x5555,
+    0xaaa9, 0x2aaa, 0x5555, 0xaaa5, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5554, 0x9555, 0xaaaa,
-    0x0040, 0xa500, 0x5555, 0xaaa5, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa,
-    0x0000, 0x0000, 0x0000, 0x0000, 0xaa00, 0xaaaa, 0xaaaa, 0xaaaa,
+    0x0040, 0xa500, 0x5555, 0xaaa5, 0x0000, 0x0000, 0x8000, 0xaa4a,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4151, 0x5001,
+    0xaa84, 0xaaaa, 0xaaaa, 0xa02a, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa,
     0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x5540, 0xa595, 0x5555, 0xaaa5,
+    0x0000, 0x0000, 0x0000, 0x0000, 0xaa00, 0xaaaa, 0x0000, 0x0000,
+    0x8000, 0x002a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xaa00,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa000, 0x0000, 0x0000,
-    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xaa80, 0x0000, 0x0000,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa000, 0x0000, 0x0000,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
     0x0000, 0x0000, 0x0000, 0xaaa0, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa,
     0x8000, 0xaaaa, 0x002a, 0x12aa, 0x0000, 0x0008, 0x8000, 0x8800,
@@ -302,15 +322,23 @@
     0x0000, 0x0000, 0x0000, 0xa000, 0x5555, 0xaaa5, 0xaaaa, 0xaaaa,
     0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa,
     0xa000, 0x0008, 0x0000, 0x0000, 0x0000, 0x0000, 0x2000, 0x28a8,
-    0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa,
+    0x0000, 0x0000, 0xa000, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa,
     0x0000, 0x0000, 0xa000, 0xaaaa, 0x0000, 0x0000, 0x0000, 0xaaa0,
     0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa,
     0x9654, 0x55aa, 0x0200, 0x0002, 0x0000, 0x0000, 0xaa00, 0x6a95,
+    0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0x0000, 0x0000, 0x0000, 0xa800,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa000, 0xaaaa,
+    0x0000, 0x0000, 0xa000, 0xaaaa, 0x0000, 0x0000, 0xaa80, 0xaaaa,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+    0x0000, 0xaaa8, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa,
+    0x0015, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5555, 0xae95,
     0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0xaaaa, 0xaaaa,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
     0x0000, 0x0000, 0x0000, 0x0000, 0xaa80, 0xaaaa, 0xaaaa, 0xaaaa,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0xaaaa, 0xaaaa,
+    0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa,
     0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa,
     0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0x56aa, 0x56a5, 0xffd5, 0x557f,
     0x5695, 0xaa55, 0xaaaa, 0xaaaa, 0xaaaa, 0xa55a, 0xaaaa, 0xaaaa,
@@ -331,6 +359,8 @@
     0x0080, 0x5a00, 0x5555, 0x5555, 0x5555, 0x5555, 0x5555, 0x5555,
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
     0x0000, 0x0000, 0x8000, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa,
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa800, 0xaaaa,
+    0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa,
     0x0000, 0x0000, 0x0000, 0xa000, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa,
     0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa,
     0xaaae, 0xaaaa, 0xaaaa, 0xaaaa, 0xffff, 0xffff, 0xffff, 0xffff,
--- a/lib/unictype/sy_java_whitespace.h
+++ b/lib/unictype/sy_java_whitespace.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Language syntax properties of Unicode characters.  */
-/* Generated automatically by gen-ctype.c for Unicode 5.1.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 5.2.0.  */
 #define header_0 16
 #define header_2 9
 #define header_3 127
--- a/lib/unigbrk/gbrkprop.h
+++ b/lib/unigbrk/gbrkprop.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Grapheme break property of Unicode characters.  */
-/* Generated automatically by gen-uni-tables.c for Unicode 5.1.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 5.2.0.  */
 #define gbrkprop_header_0 16
 #define gbrkprop_header_1 15
 #define gbrkprop_header_2 7
@@ -11,7 +11,7 @@
   {
     int level1[15];
     short level2[3 << 9];
-    unsigned char level3[(68 << 7) / 2];
+    unsigned char level3[(76 << 7) / 2];
   }
 unigbrkprop =
 {
@@ -22,17 +22,17 @@
   {
         0,    64,    -1,    -1,    -1,    -1,   128,    -1,
        -1,   192,    -1,   256,   320,   384,   448,   512,
-       -1,    -1,   576,   640,   704,   768,   832,   896,
-      960,  1024,  1088,  1152,  1216,  1280,  1344,  1408,
-     1472,  1536,  1600,  1664,    -1,    -1,  1728,    -1,
-       -1,    -1,    -1,    -1,    -1,    -1,  1792,  1856,
-     1920,  1984,  2048,  2112,  2176,    -1,  2240,  2304,
-     2368,    -1,    -1,  2432,    -1,    -1,    -1,    -1,
-     2496,  2560,    -1,    -1,    -1,    -1,    -1,    -1,
+      576,    -1,   640,   704,   768,   832,   896,   960,
+     1024,  1088,  1152,  1216,  1280,  1344,  1408,  1472,
+     1536,  1600,  1664,  1728,    -1,    -1,  1792,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,  1856,  1920,
+     1984,  2048,  2112,  2176,  2240,    -1,  2304,  2368,
+     2432,  2496,    -1,  2560,    -1,    -1,    -1,    -1,
+     2624,  2688,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,    -1,  2624,    -1,    -1,    -1,    -1,
-     2688,  2752,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,  2752,    -1,  2816,    -1,    -1,    -1,    -1,
+     2880,  2944,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
@@ -61,19 +61,19 @@
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,    -1,    -1,  2816,    -1,    -1,    -1,
-     2880,  2944,  3008,    -1,  3072,    -1,    -1,    -1,
-     3136,  3200,  3264,  3328,  3392,  3456,  3520,  3136,
-     3200,  3264,  3328,  3392,  3456,  3520,  3136,  3200,
-     3264,  3328,  3392,  3456,  3520,  3136,  3200,  3264,
-     3328,  3392,  3456,  3520,  3136,  3200,  3264,  3328,
-     3392,  3456,  3520,  3136,  3200,  3264,  3328,  3392,
-     3456,  3520,  3136,  3200,  3264,  3328,  3392,  3456,
-     3520,  3136,  3200,  3264,  3328,  3392,  3456,  3520,
-     3136,  3200,  3264,  3328,  3392,  3456,  3520,  3136,
-     3200,  3264,  3328,  3392,  3456,  3520,  3136,  3200,
-     3264,  3328,  3392,  3456,  3520,  3136,  3200,  3264,
-     3328,  3392,  3456,  3520,  3136,  3200,  3264,  3584,
+       -1,    -1,    -1,    -1,  3008,  3072,    -1,    -1,
+     3136,  3200,  3264,  3328,  3392,  3456,    -1,  3520,
+     3584,  3648,  3712,  3776,  3840,  3904,  3968,  3584,
+     3648,  3712,  3776,  3840,  3904,  3968,  3584,  3648,
+     3712,  3776,  3840,  3904,  3968,  3584,  3648,  3712,
+     3776,  3840,  3904,  3968,  3584,  3648,  3712,  3776,
+     3840,  3904,  3968,  3584,  3648,  3712,  3776,  3840,
+     3904,  3968,  3584,  3648,  3712,  3776,  3840,  3904,
+     3968,  3584,  3648,  3712,  3776,  3840,  3904,  3968,
+     3584,  3648,  3712,  3776,  3840,  3904,  3968,  3584,
+     3648,  3712,  3776,  3840,  3904,  3968,  3584,  3648,
+     3712,  3776,  3840,  3904,  3968,  3584,  3648,  3712,
+     3776,  3840,  3904,  3968,  3584,  3648,  3712,  4032,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
@@ -82,11 +82,13 @@
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,    -1,    -1,    -1,    -1,  3648,    -1,
-       -1,    -1,    -1,    -1,  3712,  3776,    -1,  3840,
-       -1,    -1,    -1,  3904,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,  4096,    -1,
+       -1,    -1,    -1,    -1,  4160,  4224,    -1,  4288,
+       -1,    -1,    -1,  4352,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,    -1,    -1,  3968,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,  4416,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,  4480,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
@@ -134,9 +136,7 @@
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,  4032,  4096,  4160,    -1,    -1,    -1,
+       -1,    -1,  4544,  4608,  4672,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
@@ -148,7 +148,7 @@
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-     4224,    -1,  4288,   128,    -1,    -1,    -1,    -1,
+     4736,    -1,  4800,   128,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
@@ -286,12 +286,20 @@
     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x44, 0x44,
     0x44, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-    0x40, 0x64, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x44, 0x44, 0x40, 0x44, 0x44,
+    0x44, 0x44, 0x40, 0x44, 0x40, 0x44, 0x44, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x44, 0x64, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x66,
-    0x46, 0x44, 0x44, 0x44, 0x64, 0x66, 0x46, 0x00,
-    0x40, 0x44, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x46, 0x44, 0x44, 0x44, 0x64, 0x66, 0x46, 0x06,
+    0x40, 0x44, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00,
     0x00, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     0x40, 0x66, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
@@ -407,7 +415,7 @@
     0x04, 0x66, 0x06, 0x60, 0x66, 0x66, 0x66, 0x00,
     0x40, 0x44, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00,
     0x00, 0x64, 0x46, 0x64, 0x66, 0x66, 0x46, 0x60,
-    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x66, 0x46, 0x00,
     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
@@ -419,17 +427,17 @@
     0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77,
     0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77,
     0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77,
-    0x77, 0x77, 0x77, 0x77, 0x77, 0x00, 0x00, 0x70,
+    0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77,
     0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88,
     0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88,
     0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88,
     0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88,
-    0x88, 0x08, 0x00, 0x00, 0x99, 0x99, 0x99, 0x99,
+    0x88, 0x88, 0x88, 0x88, 0x99, 0x99, 0x99, 0x99,
     0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99,
     0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99,
     0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99,
     0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99,
-    0x99, 0x99, 0x99, 0x99, 0x99, 0x00, 0x00, 0x00,
+    0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99,
     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
@@ -491,9 +499,9 @@
     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x60, 0x64, 0x44, 0x44, 0x44, 0x04,
+    0x64, 0x64, 0x46, 0x44, 0x44, 0x44, 0x64, 0x66,
+    0x66, 0x46, 0x44, 0x44, 0x44, 0x44, 0x04, 0x40,
     0x44, 0x44, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00,
     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
@@ -522,10 +530,18 @@
     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x44, 0x04, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44,
+    0x64, 0x44, 0x44, 0x44, 0x04, 0x00, 0x40, 0x00,
+    0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44,
     0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44,
     0x44, 0x44, 0x44, 0x04, 0x00, 0x00, 0x00, 0x00,
-    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x44,
     0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x44, 0x33,
     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     0x00, 0x00, 0x00, 0x00, 0x33, 0x33, 0x33, 0x03,
@@ -548,6 +564,14 @@
     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40,
+    0x44, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44,
     0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44,
     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
@@ -574,6 +598,14 @@
     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40,
     0x44, 0x04, 0x00, 0x00, 0x00, 0x00, 0x44, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x44, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     0x00, 0x04, 0x00, 0x04, 0x00, 0x40, 0x00, 0x00,
     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     0x00, 0x60, 0x46, 0x64, 0x00, 0x00, 0x00, 0x00,
@@ -588,14 +620,22 @@
     0x00, 0x00, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66,
     0x66, 0x66, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00,
     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44,
+    0x44, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     0x00, 0x00, 0x00, 0x44, 0x44, 0x44, 0x44, 0x00,
     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     0x00, 0x00, 0x00, 0x40, 0x44, 0x44, 0x44, 0x44,
     0x44, 0x66, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77,
+    0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x07, 0x00,
+    0x44, 0x64, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x40, 0x66, 0x44, 0x44, 0x66, 0x64, 0x66,
+    0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
@@ -605,6 +645,22 @@
     0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x64, 0x00,
     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x04, 0x44, 0x54, 0x45, 0x54, 0x50, 0x05, 0x44,
+    0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x60, 0x46, 0x66, 0x64, 0x06, 0x46, 0x00,
     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     0xba, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb,
     0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xba, 0xbb,
@@ -665,11 +721,11 @@
     0xbb, 0xbb, 0xbb, 0xbb, 0xba, 0xbb, 0xbb, 0xbb,
     0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb,
     0xbb, 0xbb, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88,
+    0x88, 0x88, 0x88, 0x08, 0x00, 0x90, 0x99, 0x99,
+    0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99,
+    0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99,
+    0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x00, 0x00,
     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
@@ -718,6 +774,14 @@
     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x44, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x66, 0x46, 0x44, 0x64, 0x46, 0x04, 0x30, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
--- a/lib/unilbrk/lbrkprop1.h
+++ b/lib/unilbrk/lbrkprop1.h
@@ -1,8 +1,8 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Line breaking properties of Unicode characters.  */
-/* Generated automatically by gen-lbrk for Unicode 5.1.0.  */
+/* Generated automatically by gen-lbrk for Unicode 5.2.0.  */
 
-/* Copyright (C) 2000-2002, 2004, 2008-2010 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2002, 2004, 2008 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -27,7 +27,7 @@
   {
     int level1[15];
     int level2[4 << 9];
-    unsigned char level3[142 << 7];
+    unsigned char level3[154 << 7];
   }
 lbrkprop_t;
 extern const lbrkprop_t unilbrkprop;
--- a/lib/unilbrk/lbrkprop2.h
+++ b/lib/unilbrk/lbrkprop2.h
@@ -1,8 +1,8 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Line breaking properties of Unicode characters.  */
-/* Generated automatically by gen-lbrk for Unicode 5.1.0.  */
+/* Generated automatically by gen-lbrk for Unicode 5.2.0.  */
 
-/* Copyright (C) 2000-2002, 2004, 2008-2010 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2002, 2004, 2008 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -20,64 +20,64 @@
 const lbrkprop_t unilbrkprop =
 {
   {
-        0,   512,  1024,    -1,    -1,    -1,    -1,    -1,
+        0,   512,  1024,  1024,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,  1536
   },
   {
         0,   128,   256,   256,   256,   384,   512,   640,
       256,   768,   896,  1024,  1152,  1280,  1408,  1536,
-       -1,    -1,  1664,  1792,  1920,  2048,  2176,  2304,
-     2432,  2560,  2688,  2816,  2944,  3072,  3200,  3328,
-     3456,  3584,  3712,  3840,  3968,  4096,  4224,  4352,
-     4480,   256,   256,   256,  4608,  4736,  4864,  4992,
-     5120,  5248,  5376,  5504,  5632,    -1,  5760,  5888,
-     6016,    -1,   256,  6144,   256,   256,  6272,  6400,
-     6528,  6656,  6784,  6912,  7040,  7168,  7296,  7424,
-     7552,  7680,  7808,  7936,  8064,  8192,  8320,  8448,
-      256,   256,   256,  8576,   256,   256,  8704,    -1,
-     8832,  8960,  9088,  9216,  9344,  9472,  9600,  9728,
-     9856,  9984, 10112, 10240, 10368, 10496,  9600,  9600,
-     9600,  9600,  9600,  9600,  9600,  9600,  9600,  9600,
-     9600,  9600,  9600,  9600,  9600,  9600,  9600,  9600,
-     9600,  9600,  9600,  9600,  9600,  9600,  9600,  9600,
-     9600,  9600,  9600,  9600,  9600,  9600,  9600,  9600,
-     9600,  9600,  9600,  9600,  9600,  9600,  9600,  9600,
-     9600,  9600,  9600,  9600,  9600,  9600,  9600,  9600,
-     9600,  9600,  9600, 10624,  9600,  9600,  9600,  9600,
-     9600,  9600,  9600,  9600,  9600,  9600,  9600,  9600,
-     9600,  9600,  9600,  9600,  9600,  9600,  9600,  9600,
-     9600,  9600,  9600,  9600,  9600,  9600,  9600,  9600,
-     9600,  9600,  9600,  9600,  9600,  9600,  9600,  9600,
-     9600,  9600,  9600,  9600,  9600,  9600,  9600,  9600,
-     9600,  9600,  9600,  9600,  9600,  9600,  9600,  9600,
-     9600,  9600,  9600,  9600,  9600,  9600,  9600,  9600,
-     9600,  9600,  9600,  9600,  9600,  9600,  9600,  9600,
-     9600,  9600,  9600,  9600,  9600,  9600,  9600,  9600,
-     9600,  9600,  9600,  9600,  9600,  9600,  9600,  9600,
-     9600,  9600,  9600,  9600,  9600,  9600,  9600,  9600,
-     9600,  9600,  9600,  9600,  9600,  9600,  9600,  9600,
-     9600,  9600,  9600,  9600,  9600,  9600,  9600,  9600,
-     9600,  9600,  9600,  9600,  9600,  9600,  9600,  9600,
-     9600,  9600,  9600,  9600,  9600,  9600,  9600,  9600,
-     9600,  9600,  9600,  9600,  9600,  9600,  9600,  9600,
-     9600,  9600,  9600,  9600,  9600,  9600,  9600,  9600,
-     9600,  9600,  9600,  9600,  9600,  9600,  9600,  9600,
-     9600,  9600,  9600,  9600,  9600,  9600,  9600,  9600,
-     9600,  9600,  9600,  9600,  9600,  9600,  9600, 10752,
-    10880,  9600,  9600,  9600,  9600,  9600,  9600,  9600,
-     9600, 11008,   256,   256, 11136, 11264,   256, 11392,
-    11520, 11648, 11776,    -1, 11904,    -1,    -1,    -1,
-    12032, 12160, 12288, 12416, 12544, 12672, 12800, 12032,
-    12160, 12288, 12416, 12544, 12672, 12800, 12032, 12160,
-    12288, 12416, 12544, 12672, 12800, 12032, 12160, 12288,
-    12416, 12544, 12672, 12800, 12032, 12160, 12288, 12416,
-    12544, 12672, 12800, 12032, 12160, 12288, 12416, 12544,
-    12672, 12800, 12032, 12160, 12288, 12416, 12544, 12672,
-    12800, 12032, 12160, 12288, 12416, 12544, 12672, 12800,
-    12032, 12160, 12288, 12416, 12544, 12672, 12800, 12032,
-    12160, 12288, 12416, 12544, 12672, 12800, 12032, 12160,
-    12288, 12416, 12544, 12672, 12800, 12032, 12160, 12288,
-    12416, 12544, 12672, 12800, 12032, 12160, 12288, 12928,
+     1664,    -1,  1792,  1920,  2048,  2176,  2304,  2432,
+     2560,  2688,  2816,  2944,  3072,  3200,  3328,  3456,
+     3584,  3712,  3840,  3968,  4096,  4224,  4352,  4480,
+     4608,   256,   256,   256,   256,  4736,  4864,  4992,
+     5120,  5248,  5376,  5504,  5632,  5760,  5888,  6016,
+     6144,  6272,   256,  6400,   256,   256,  6528,  6656,
+     6784,  6912,  7040,  7168,  7296,  7424,  7552,  7680,
+     7808,  7936,  8064,  8192,  8320,  8448,  8576,  8704,
+      256,   256,   256,  8832,   256,   256,  8960,    -1,
+     9088,  9216,  9344,  9472,  9600,  9728,  9856,  9984,
+    10112, 10240, 10368, 10496, 10624, 10752,  9856,  9856,
+     9856,  9856,  9856,  9856,  9856,  9856,  9856,  9856,
+     9856,  9856,  9856,  9856,  9856,  9856,  9856,  9856,
+     9856,  9856,  9856,  9856,  9856,  9856,  9856,  9856,
+     9856,  9856,  9856,  9856,  9856,  9856,  9856,  9856,
+     9856,  9856,  9856,  9856,  9856,  9856,  9856,  9856,
+     9856,  9856,  9856,  9856,  9856,  9856,  9856,  9856,
+     9856,  9856,  9856, 10880,  9856,  9856,  9856,  9856,
+     9856,  9856,  9856,  9856,  9856,  9856,  9856,  9856,
+     9856,  9856,  9856,  9856,  9856,  9856,  9856,  9856,
+     9856,  9856,  9856,  9856,  9856,  9856,  9856,  9856,
+     9856,  9856,  9856,  9856,  9856,  9856,  9856,  9856,
+     9856,  9856,  9856,  9856,  9856,  9856,  9856,  9856,
+     9856,  9856,  9856,  9856,  9856,  9856,  9856,  9856,
+     9856,  9856,  9856,  9856,  9856,  9856,  9856,  9856,
+     9856,  9856,  9856,  9856,  9856,  9856,  9856,  9856,
+     9856,  9856,  9856,  9856,  9856,  9856,  9856,  9856,
+     9856,  9856,  9856,  9856,  9856,  9856,  9856,  9856,
+     9856,  9856,  9856,  9856,  9856,  9856,  9856,  9856,
+     9856,  9856,  9856,  9856,  9856,  9856,  9856,  9856,
+     9856,  9856,  9856,  9856,  9856,  9856,  9856,  9856,
+     9856,  9856,  9856,  9856,  9856,  9856,  9856,  9856,
+     9856,  9856,  9856,  9856,  9856,  9856,  9856,  9856,
+     9856,  9856,  9856,  9856,  9856,  9856,  9856,  9856,
+     9856,  9856,  9856,  9856,  9856,  9856,  9856,  9856,
+     9856,  9856,  9856,  9856,  9856,  9856,  9856,  9856,
+     9856,  9856,  9856,  9856,  9856,  9856,  9856,  9856,
+     9856,  9856,  9856,  9856,  9856,  9856,  9856,  9856,
+    11008,  9856,  9856,  9856,  9856,  9856,  9856,  9856,
+     9856, 11136,   256,   256, 11264, 11392,   256, 11520,
+    11648, 11776, 11904, 12032, 12160, 12288,    -1, 12416,
+    12544, 12672, 12800, 12928, 13056, 13184, 13312, 12544,
+    12672, 12800, 12928, 13056, 13184, 13312, 12544, 12672,
+    12800, 12928, 13056, 13184, 13312, 12544, 12672, 12800,
+    12928, 13056, 13184, 13312, 12544, 12672, 12800, 12928,
+    13056, 13184, 13312, 12544, 12672, 12800, 12928, 13056,
+    13184, 13312, 12544, 12672, 12800, 12928, 13056, 13184,
+    13312, 12544, 12672, 12800, 12928, 13056, 13184, 13312,
+    12544, 12672, 12800, 12928, 13056, 13184, 13312, 12544,
+    12672, 12800, 12928, 13056, 13184, 13312, 12544, 12672,
+    12800, 12928, 13056, 13184, 13312, 12544, 12672, 12800,
+    12928, 13056, 13184, 13312, 12544, 12672, 12800, 13440,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
@@ -86,18 +86,22 @@
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,  9600,  9600, 13056, 13184, 13312, 13440,
-      256,   256, 13568, 13696, 13824, 13952, 14080, 14208,
-    14336, 14464, 14592, 14720,    -1, 14848, 14976, 15104,
-      256, 15232,    -1,    -1,    -1,    -1,    -1,    -1,
-    15360,    -1, 15488,    -1, 15616,    -1,    -1,    -1,
+       -1,    -1,  9856,  9856,  9856,  9856, 13568, 13696,
+      256,   256, 13824, 13952, 14080, 14208, 14336, 14464,
+    14592, 14720, 14848, 14976,    -1, 15104, 15232, 15360,
+      256, 15488,    -1,    -1,    -1,    -1,    -1,    -1,
+    15616,    -1, 15744,    -1, 15872,    -1, 16000,    -1,
+    16128,    -1,    -1,    -1, 16256,    -1,    -1,    -1,
+       -1, 16384,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      256,   256,   256,   256,   256,   256, 16512,    -1,
+    16640,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      256,   256,   256,   256,   256,   256, 15744,    -1,
-    15872,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      256,   256,   256,   256, 16768, 16896, 17024,   256,
+    17152,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
@@ -136,87 +140,83 @@
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      256, 16000, 16128, 16256, 16384,    -1, 16512,    -1,
-    16640, 16768, 16896,   256,   256, 17024,   256, 17152,
+      256, 17280, 17408, 17536, 17664,    -1, 17792,    -1,
+    17920, 18048, 18176,   256,   256, 18304,   256, 18432,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    17280, 17408,    -1,    -1,    -1,    -1,    -1,    -1,
+    18560, 18688, 18816, 18944, 19072,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-     9600,  9600,  9600,  9600,  9600,  9600,  9600,  9600,
-     9600,  9600,  9600,  9600,  9600,  9600,  9600,  9600,
-     9600,  9600,  9600,  9600,  9600,  9600,  9600,  9600,
-     9600,  9600,  9600,  9600,  9600,  9600,  9600,  9600,
-     9600,  9600,  9600,  9600,  9600,  9600,  9600,  9600,
-     9600,  9600,  9600,  9600,  9600,  9600,  9600,  9600,
-     9600,  9600,  9600,  9600,  9600,  9600,  9600,  9600,
-     9600,  9600,  9600,  9600,  9600,  9600,  9600,  9600,
-     9600,  9600,  9600,  9600,  9600,  9600,  9600,  9600,
-     9600,  9600,  9600,  9600,  9600,  9600,  9600,  9600,
-     9600,  9600,  9600,  9600,  9600,  9600,  9600,  9600,
-     9600,  9600,  9600,  9600,  9600,  9600,  9600,  9600,
-     9600,  9600,  9600,  9600,  9600,  9600,  9600,  9600,
-     9600,  9600,  9600,  9600,  9600,  9600,  9600,  9600,
-     9600,  9600,  9600,  9600,  9600,  9600,  9600,  9600,
-     9600,  9600,  9600,  9600,  9600,  9600,  9600,  9600,
-     9600,  9600,  9600,  9600,  9600,  9600,  9600,  9600,
-     9600,  9600,  9600,  9600,  9600,  9600,  9600,  9600,
-     9600,  9600,  9600,  9600,  9600,  9600,  9600,  9600,
-     9600,  9600,  9600,  9600,  9600,  9600,  9600,  9600,
-     9600,  9600,  9600,  9600,  9600,  9600,  9600,  9600,
-     9600,  9600,  9600,  9600,  9600,  9600,  9600,  9600,
-     9600,  9600,  9600,  9600,  9600,  9600,  9600,  9600,
-     9600,  9600,  9600,  9600,  9600,  9600,  9600,  9600,
-     9600,  9600,  9600,  9600,  9600,  9600,  9600,  9600,
-     9600,  9600,  9600,  9600,  9600,  9600,  9600,  9600,
-     9600,  9600,  9600,  9600,  9600,  9600,  9600,  9600,
-     9600,  9600,  9600,  9600,  9600,  9600,  9600,  9600,
-     9600,  9600,  9600,  9600,  9600,  9600,  9600,  9600,
-     9600,  9600,  9600,  9600,  9600,  9600,  9600,  9600,
-     9600,  9600,  9600,  9600,  9600,  9600,  9600,  9600,
-     9600,  9600,  9600,  9600,  9600,  9600,  9600,  9600,
-     9600,  9600,  9600,  9600,  9600,  9600,  9600,  9600,
-     9600,  9600,  9600,  9600,  9600,  9600,  9600,  9600,
-     9600,  9600,  9600,  9600,  9600,  9600,  9600,  9600,
-     9600,  9600,  9600,  9600,  9600,  9600,  9600,  9600,
-     9600,  9600,  9600,  9600,  9600,  9600,  9600,  9600,
-     9600,  9600,  9600,  9600,  9600,  9600,  9600,  9600,
-     9600,  9600,  9600,  9600,  9600,  9600,  9600,  9600,
-     9600,  9600,  9600,  9600,  9600,  9600,  9600,  9600,
-     9600,  9600,  9600,  9600,  9600,  9600,  9600,  9600,
-     9600,  9600,  9600,  9600,  9600, 17536,    -1,    -1,
-       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-     9600,  9600,  9600,  9600, 17664,    -1,    -1,    -1,
-       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    17792,    -1, 17920, 18048,    -1,    -1,    -1,    -1,
+     9856,  9856,  9856,  9856,  9856,  9856,  9856,  9856,
+     9856,  9856,  9856,  9856,  9856,  9856,  9856,  9856,
+     9856,  9856,  9856,  9856,  9856,  9856,  9856,  9856,
+     9856,  9856,  9856,  9856,  9856,  9856,  9856,  9856,
+     9856,  9856,  9856,  9856,  9856,  9856,  9856,  9856,
+     9856,  9856,  9856,  9856,  9856,  9856,  9856,  9856,
+     9856,  9856,  9856,  9856,  9856,  9856,  9856,  9856,
+     9856,  9856,  9856,  9856,  9856,  9856,  9856,  9856,
+     9856,  9856,  9856,  9856,  9856,  9856,  9856,  9856,
+     9856,  9856,  9856,  9856,  9856,  9856,  9856,  9856,
+     9856,  9856,  9856,  9856,  9856,  9856,  9856,  9856,
+     9856,  9856,  9856,  9856,  9856,  9856,  9856,  9856,
+     9856,  9856,  9856,  9856,  9856,  9856,  9856,  9856,
+     9856,  9856,  9856,  9856,  9856,  9856,  9856,  9856,
+     9856,  9856,  9856,  9856,  9856,  9856,  9856,  9856,
+     9856,  9856,  9856,  9856,  9856,  9856,  9856,  9856,
+     9856,  9856,  9856,  9856,  9856,  9856,  9856,  9856,
+     9856,  9856,  9856,  9856,  9856,  9856,  9856,  9856,
+     9856,  9856,  9856,  9856,  9856,  9856,  9856,  9856,
+     9856,  9856,  9856,  9856,  9856,  9856,  9856,  9856,
+     9856,  9856,  9856,  9856,  9856,  9856,  9856,  9856,
+     9856,  9856,  9856,  9856,  9856,  9856,  9856,  9856,
+     9856,  9856,  9856,  9856,  9856,  9856,  9856,  9856,
+     9856,  9856,  9856,  9856,  9856,  9856,  9856,  9856,
+     9856,  9856,  9856,  9856,  9856,  9856,  9856,  9856,
+     9856,  9856,  9856,  9856,  9856,  9856,  9856,  9856,
+     9856,  9856,  9856,  9856,  9856,  9856,  9856,  9856,
+     9856,  9856,  9856,  9856,  9856,  9856,  9856,  9856,
+     9856,  9856,  9856,  9856,  9856,  9856,  9856,  9856,
+     9856,  9856,  9856,  9856,  9856,  9856,  9856,  9856,
+     9856,  9856,  9856,  9856,  9856,  9856,  9856,  9856,
+     9856,  9856,  9856,  9856,  9856,  9856,  9856,  9856,
+     9856,  9856,  9856,  9856,  9856,  9856,  9856,  9856,
+     9856,  9856,  9856,  9856,  9856,  9856,  9856,  9856,
+     9856,  9856,  9856,  9856,  9856,  9856,  9856,  9856,
+     9856,  9856,  9856,  9856,  9856,  9856,  9856,  9856,
+     9856,  9856,  9856,  9856,  9856,  9856,  9856,  9856,
+     9856,  9856,  9856,  9856,  9856,  9856,  9856,  9856,
+     9856,  9856,  9856,  9856,  9856,  9856,  9856,  9856,
+     9856,  9856,  9856,  9856,  9856,  9856,  9856,  9856,
+     9856,  9856,  9856,  9856,  9856,  9856,  9856,  9856,
+     9856,  9856,  9856,  9856,  9856,  9856,  9856,  9856,
+     9856,  9856,  9856,  9856,  9856,  9856,  9856,  9856,
+     9856,  9856,  9856,  9856,  9856,  9856,  9856,  9856,
+     9856,  9856,  9856,  9856,  9856,  9856,  9856,  9856,
+     9856,  9856,  9856,  9856,  9856,  9856,  9856,  9856,
+     9856,  9856,  9856,  9856,  9856,  9856,  9856,  9856,
+     9856,  9856,  9856,  9856,  9856,  9856,  9856,  9856,
+     9856,  9856,  9856,  9856,  9856,  9856,  9856,  9856,
+     9856,  9856,  9856,  9856,  9856,  9856,  9856,  9856,
+     9856,  9856,  9856,  9856,  9856,  9856,  9856,  9856,
+     9856,  9856,  9856,  9856,  9856,  9856,  9856,  9856,
+     9856,  9856,  9856,  9856,  9856,  9856,  9856,  9856,
+     9856,  9856,  9856,  9856,  9856,  9856,  9856,  9856,
+     9856,  9856,  9856,  9856,  9856,  9856,  9856,  9856,
+     9856,  9856,  9856,  9856,  9856,  9856,  9856,  9856,
+     9856,  9856,  9856,  9856,  9856,  9856,  9856,  9856,
+     9856,  9856,  9856,  9856,  9856,  9856,  9856,  9856,
+     9856,  9856,  9856,  9856,  9856,  9856,  9856,  9856,
+     9856,  9856,  9856,  9856,  9856,  9856,  9856,  9856,
+     9856,  9856,  9856,  9856,  9856,  9856,  9856,  9856,
+     9856,  9856,  9856,  9856,  9856,  9856,  9856,  9856,
+     9856,  9856,  9856,  9856,  9856,  9856,  9856,  9856,
+     9856,  9856,  9856,  9856,  9856,  9856,  9856, 19200,
+    19328,    -1, 19456, 19584,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
@@ -287,13 +287,13 @@
     LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
     LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
     LBP_SP, LBP_EX, LBP_QU, LBP_AL, LBP_PR, LBP_PO, LBP_AL, LBP_QU,
-    LBP_OP, LBP_CL, LBP_AL, LBP_PR, LBP_IS, LBP_HY, LBP_IS, LBP_SY,
+    LBP_OP, LBP_CP, LBP_AL, LBP_PR, LBP_IS, LBP_HY, LBP_IS, LBP_SY,
     LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU,
     LBP_NU, LBP_NU, LBP_IS, LBP_IS, LBP_AL, LBP_AL, LBP_AL, LBP_EX,
     LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
     LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
     LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
-    LBP_AL, LBP_AL, LBP_AL, LBP_OP, LBP_PR, LBP_CL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_OP, LBP_PR, LBP_CP, LBP_AL, LBP_AL,
     LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
     LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
     LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
@@ -398,7 +398,7 @@
     LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
     LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
     LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
-    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_XX,
     LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
     LBP_XX, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
     LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
@@ -490,7 +490,23 @@
     LBP_AL, LBP_AL, LBP_AL, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
     LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
     LBP_IS, LBP_EX, LBP_AL, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
-    LBP_XX, LBP_CM, LBP_CM, LBP_CM, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_CM, LBP_CM,
+    LBP_CM, LBP_CM, LBP_AL, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
+    LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_AL, LBP_CM, LBP_CM, LBP_CM,
+    LBP_AL, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_XX, LBP_XX,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX,
+    LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+    LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+    LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+    LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+    LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+    LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+    LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+    LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+    LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
     LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
     LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
     LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
@@ -499,13 +515,13 @@
     LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
     LBP_AL, LBP_AL, LBP_XX, LBP_XX, LBP_CM, LBP_AL, LBP_CM, LBP_CM,
     LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
-    LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_XX, LBP_XX,
-    LBP_AL, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_XX, LBP_XX, LBP_XX,
+    LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_XX,
+    LBP_AL, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_XX, LBP_XX,
     LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
     LBP_AL, LBP_AL, LBP_CM, LBP_CM, LBP_BA, LBP_BA, LBP_NU, LBP_NU,
     LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU,
     LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
-    LBP_XX, LBP_XX, LBP_XX, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_XX, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
     LBP_XX, LBP_CM, LBP_CM, LBP_CM, LBP_XX, LBP_AL, LBP_AL, LBP_AL,
     LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_XX, LBP_AL,
     LBP_AL, LBP_XX, LBP_XX, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
@@ -520,8 +536,8 @@
     LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_AL, LBP_AL, LBP_XX, LBP_AL,
     LBP_AL, LBP_AL, LBP_CM, LBP_CM, LBP_XX, LBP_XX, LBP_NU, LBP_NU,
     LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU,
-    LBP_AL, LBP_AL, LBP_PR, LBP_PR, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
-    LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+    LBP_AL, LBP_AL, LBP_PO, LBP_PO, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_PO, LBP_AL, LBP_PR, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
     LBP_XX, LBP_CM, LBP_CM, LBP_CM, LBP_XX, LBP_AL, LBP_AL, LBP_AL,
     LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_AL,
     LBP_AL, LBP_XX, LBP_XX, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
@@ -708,8 +724,8 @@
     LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_XX, LBP_BA, LBP_BA,
     LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_CM, LBP_AL,
     LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_AL, LBP_AL,
-    LBP_BB, LBP_BB, LBP_BA, LBP_BB, LBP_AL, LBP_XX, LBP_XX, LBP_XX,
-    LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+    LBP_BB, LBP_BB, LBP_BA, LBP_BB, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
     LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
     LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
     LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
@@ -733,7 +749,7 @@
     LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA,
     LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA,
     LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU,
-    LBP_NU, LBP_NU, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_SA, LBP_SA,
+    LBP_NU, LBP_NU, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA,
     LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
     LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
     LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
@@ -757,7 +773,7 @@
     LBP_JL, LBP_JL, LBP_JL, LBP_JL, LBP_JL, LBP_JL, LBP_JL, LBP_JL,
     LBP_JL, LBP_JL, LBP_JL, LBP_JL, LBP_JL, LBP_JL, LBP_JL, LBP_JL,
     LBP_JL, LBP_JL, LBP_JL, LBP_JL, LBP_JL, LBP_JL, LBP_JL, LBP_JL,
-    LBP_JL, LBP_JL, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_JL,
+    LBP_JL, LBP_JL, LBP_JL, LBP_JL, LBP_JL, LBP_JL, LBP_JL, LBP_JL,
     LBP_JV, LBP_JV, LBP_JV, LBP_JV, LBP_JV, LBP_JV, LBP_JV, LBP_JV,
     LBP_JV, LBP_JV, LBP_JV, LBP_JV, LBP_JV, LBP_JV, LBP_JV, LBP_JV,
     LBP_JV, LBP_JV, LBP_JV, LBP_JV, LBP_JV, LBP_JV, LBP_JV, LBP_JV,
@@ -766,7 +782,7 @@
     LBP_JV, LBP_JV, LBP_JV, LBP_JV, LBP_JV, LBP_JV, LBP_JV, LBP_JV,
     LBP_JV, LBP_JV, LBP_JV, LBP_JV, LBP_JV, LBP_JV, LBP_JV, LBP_JV,
     LBP_JV, LBP_JV, LBP_JV, LBP_JV, LBP_JV, LBP_JV, LBP_JV, LBP_JV,
-    LBP_JV, LBP_JV, LBP_JV, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+    LBP_JV, LBP_JV, LBP_JV, LBP_JV, LBP_JV, LBP_JV, LBP_JV, LBP_JV,
     LBP_JT, LBP_JT, LBP_JT, LBP_JT, LBP_JT, LBP_JT, LBP_JT, LBP_JT,
     LBP_JT, LBP_JT, LBP_JT, LBP_JT, LBP_JT, LBP_JT, LBP_JT, LBP_JT,
     LBP_JT, LBP_JT, LBP_JT, LBP_JT, LBP_JT, LBP_JT, LBP_JT, LBP_JT,
@@ -777,7 +793,7 @@
     LBP_JT, LBP_JT, LBP_JT, LBP_JT, LBP_JT, LBP_JT, LBP_JT, LBP_JT,
     LBP_JT, LBP_JT, LBP_JT, LBP_JT, LBP_JT, LBP_JT, LBP_JT, LBP_JT,
     LBP_JT, LBP_JT, LBP_JT, LBP_JT, LBP_JT, LBP_JT, LBP_JT, LBP_JT,
-    LBP_JT, LBP_JT, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+    LBP_JT, LBP_JT, LBP_JT, LBP_JT, LBP_JT, LBP_JT, LBP_JT, LBP_JT,
     LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
     LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
     LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
@@ -842,38 +858,22 @@
     LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
     LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_XX, LBP_XX,
     LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
-    LBP_XX, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
-    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
-    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
-    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
-    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
-    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
-    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
-    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
-    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
-    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
-    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
-    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
-    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
-    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
-    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
-    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
-    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
-    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
-    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
-    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
-    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
-    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
-    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
-    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
-    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
-    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
-    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
-    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
-    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
-    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
-    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX,
-    LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+    LBP_BA, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
     LBP_BA, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
     LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
     LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
@@ -944,15 +944,15 @@
     LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
     LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
     LBP_AL, LBP_CM, LBP_AL, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
-    LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
-    LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
-    LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
-    LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
-    LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
-    LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
-    LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
-    LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
-    LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_XX,
     LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
     LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
     LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
@@ -975,13 +975,13 @@
     LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA,
     LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA,
     LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA,
-    LBP_SA, LBP_SA, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+    LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
     LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA,
     LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA,
     LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA,
     LBP_SA, LBP_SA, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
     LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU,
-    LBP_NU, LBP_NU, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_SA, LBP_SA,
+    LBP_NU, LBP_NU, LBP_NU, LBP_XX, LBP_XX, LBP_XX, LBP_SA, LBP_SA,
     LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
     LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
     LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
@@ -990,8 +990,24 @@
     LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
     LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_CM,
     LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_XX, LBP_XX, LBP_AL, LBP_AL,
-    LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
-    LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+    LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA,
+    LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA,
+    LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA,
+    LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA,
+    LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA,
+    LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA,
+    LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA,
+    LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_XX,
+    LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA,
+    LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA,
+    LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA,
+    LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_XX, LBP_XX, LBP_CM,
+    LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU,
+    LBP_NU, LBP_NU, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+    LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU,
+    LBP_NU, LBP_NU, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+    LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA,
+    LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_XX, LBP_XX,
     LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
     LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
     LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
@@ -1013,7 +1029,7 @@
     LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_AL, LBP_AL, LBP_AL,
     LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
     LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU,
-    LBP_NU, LBP_NU, LBP_BA, LBP_BA, LBP_BA, LBP_BA, LBP_BA, LBP_BA,
+    LBP_NU, LBP_NU, LBP_BA, LBP_BA, LBP_AL, LBP_BA, LBP_BA, LBP_BA,
     LBP_BA, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
     LBP_AL, LBP_AL, LBP_AL, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
     LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
@@ -1050,6 +1066,22 @@
     LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
     LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
     LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_BA, LBP_BA,
+    LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+    LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+    LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+    LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+    LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+    LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+    LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+    LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+    LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+    LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+    LBP_CM, LBP_CM, LBP_CM, LBP_AL, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
+    LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
+    LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
+    LBP_CM, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_CM, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_CM, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+    LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
     LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
     LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
     LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
@@ -1065,7 +1097,7 @@
     LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_XX,
     LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
     LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
-    LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_CM, LBP_CM,
+    LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_CM, LBP_CM, LBP_CM,
     LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
     LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
     LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_XX,
@@ -1120,8 +1152,8 @@
     LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
     LBP_PR, LBP_PR, LBP_PR, LBP_PR, LBP_PR, LBP_PR, LBP_PR, LBP_PO,
     LBP_PR, LBP_PR, LBP_PR, LBP_PR, LBP_PR, LBP_PR, LBP_PR, LBP_PR,
-    LBP_PR, LBP_PR, LBP_PR, LBP_PR, LBP_PR, LBP_PR, LBP_XX, LBP_XX,
-    LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+    LBP_PR, LBP_PR, LBP_PR, LBP_PR, LBP_PR, LBP_PR, LBP_PO, LBP_PR,
+    LBP_PR, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
     LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
     LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
     LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
@@ -1140,14 +1172,14 @@
     LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
     LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
     LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
-    LBP_XX, LBP_XX, LBP_XX, LBP_AL, LBP_AI, LBP_AI, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AI, LBP_AI, LBP_AL, LBP_AL,
     LBP_AL, LBP_AL, LBP_AL, LBP_AI, LBP_AL, LBP_AL, LBP_AI, LBP_AL,
     LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI,
     LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
     LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI,
     LBP_AI, LBP_AI, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
     LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
-    LBP_AL, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+    LBP_AL, LBP_AI, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
     LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI,
     LBP_AI, LBP_AI, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
     LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
@@ -1223,7 +1255,7 @@
     LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
     LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
     LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
-    LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+    LBP_AL, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
     LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
     LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
     LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
@@ -1309,19 +1341,19 @@
     LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
     LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
     LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
-    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_XX,
-    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
-    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
-    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
-    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_XX, LBP_XX,
-    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
-    LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
-    LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
-    LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
-    LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
-    LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
-    LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
-    LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AI, LBP_AI,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AI, LBP_AI,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AI, LBP_AI, LBP_AI, LBP_AI,
+    LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_XX, LBP_AI,
+    LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI,
+    LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI,
+    LBP_AI, LBP_AI, LBP_XX, LBP_AI, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+    LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI,
+    LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI,
+    LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI,
     LBP_XX, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_AL, LBP_AL,
     LBP_AL, LBP_AL, LBP_XX, LBP_XX, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
     LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
@@ -1332,7 +1364,7 @@
     LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
     LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
     LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_AL, LBP_XX, LBP_AL,
-    LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_XX, LBP_XX, LBP_AL, LBP_XX,
+    LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_XX, LBP_XX, LBP_AL, LBP_AI,
     LBP_AL, LBP_AL, LBP_AL, LBP_QU, LBP_QU, LBP_QU, LBP_QU, LBP_XX,
     LBP_XX, LBP_AL, LBP_EX, LBP_EX, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
     LBP_OP, LBP_CL, LBP_OP, LBP_CL, LBP_OP, LBP_CL, LBP_OP, LBP_CL,
@@ -1380,8 +1412,8 @@
     LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
     LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
     LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_XX, LBP_XX,
-    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_XX, LBP_XX,
-    LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AI, LBP_AI, LBP_AI,
+    LBP_AI, LBP_AI, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
     LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
     LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
     LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
@@ -1400,23 +1432,23 @@
     LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX,
     LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
     LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
-    LBP_XX, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
-    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_XX,
-    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
-    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
-    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
-    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
-    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
-    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
-    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
-    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
-    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
-    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
-    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
-    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
-    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
-    LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
-    LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_CM,
+    LBP_CM, LBP_CM, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
     LBP_XX, LBP_EX, LBP_BA, LBP_BA, LBP_BA, LBP_AL, LBP_EX, LBP_BA,
     LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
     LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
@@ -1456,7 +1488,7 @@
     LBP_OP, LBP_BA, LBP_AL, LBP_AL, LBP_QU, LBP_QU, LBP_AL, LBP_AL,
     LBP_QU, LBP_QU, LBP_OP, LBP_CL, LBP_OP, LBP_CL, LBP_OP, LBP_CL,
     LBP_OP, LBP_CL, LBP_BA, LBP_BA, LBP_BA, LBP_BA, LBP_EX, LBP_AL,
-    LBP_BA, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+    LBP_BA, LBP_BA, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
     LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
     LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
     LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
@@ -1586,8 +1618,8 @@
     LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
     LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
     LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
-    LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
-    LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+    LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+    LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI,
     LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
     LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
     LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
@@ -1616,32 +1648,16 @@
     LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
     LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
     LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
-    LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_XX, LBP_XX,
-    LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
-    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
-    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
-    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
-    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
-    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
-    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
-    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
-    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
-    LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
     LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
     LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
-    LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
-    LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
-    LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
-    LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
-    LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
-    LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
-    LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
-    LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
-    LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
-    LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
-    LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
-    LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
-    LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
     LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
     LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
     LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_NS, LBP_ID, LBP_ID,
@@ -1668,12 +1684,12 @@
     LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
     LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_XX,
     LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
-    LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
-    LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
-    LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
-    LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
-    LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
-    LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_BA, LBP_BA,
     LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
     LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_BA, LBP_EX, LBP_BA,
     LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
@@ -1694,17 +1710,17 @@
     LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
     LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
     LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
-    LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
-    LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
-    LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
-    LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
-    LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
-    LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
-    LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
-    LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
-    LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
-    LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
-    LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_CM, LBP_CM, LBP_AL, LBP_BA, LBP_BA, LBP_BA, LBP_BA, LBP_BA,
     LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
     LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
     LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_XX, LBP_XX,
@@ -1728,8 +1744,8 @@
     LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
     LBP_AL, LBP_AL, LBP_AL, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
     LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
-    LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
-    LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_PO, LBP_AL, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
     LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
     LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
     LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
@@ -1750,10 +1766,10 @@
     LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_BA, LBP_BA,
     LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU,
     LBP_NU, LBP_NU, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
-    LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
-    LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
-    LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
-    LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+    LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
+    LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
+    LBP_CM, LBP_CM, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
     LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU,
     LBP_NU, LBP_NU, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
     LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
@@ -1766,6 +1782,22 @@
     LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
     LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
     LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_AL,
+    LBP_JL, LBP_JL, LBP_JL, LBP_JL, LBP_JL, LBP_JL, LBP_JL, LBP_JL,
+    LBP_JL, LBP_JL, LBP_JL, LBP_JL, LBP_JL, LBP_JL, LBP_JL, LBP_JL,
+    LBP_JL, LBP_JL, LBP_JL, LBP_JL, LBP_JL, LBP_JL, LBP_JL, LBP_JL,
+    LBP_JL, LBP_JL, LBP_JL, LBP_JL, LBP_JL, LBP_XX, LBP_XX, LBP_XX,
+    LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
+    LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
+    LBP_CM, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_BA,
+    LBP_BA, LBP_BA, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_AL,
+    LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU,
+    LBP_NU, LBP_NU, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_AL, LBP_AL,
     LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
     LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
     LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
@@ -1782,10 +1814,42 @@
     LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_CM, LBP_CM, LBP_XX, LBP_XX,
     LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU,
     LBP_NU, LBP_NU, LBP_XX, LBP_XX, LBP_AL, LBP_BA, LBP_BA, LBP_BA,
+    LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA,
+    LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA,
+    LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA,
+    LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+    LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA,
+    LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA,
+    LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA,
+    LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA,
+    LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA,
+    LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA,
+    LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA,
+    LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA,
+    LBP_SA, LBP_SA, LBP_SA, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+    LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+    LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+    LBP_XX, LBP_XX, LBP_XX, LBP_SA, LBP_SA, LBP_SA, LBP_SA, LBP_SA,
     LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
     LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
     LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
     LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+    LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+    LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+    LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+    LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+    LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+    LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+    LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+    LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
+    LBP_CM, LBP_CM, LBP_CM, LBP_BA, LBP_CM, LBP_CM, LBP_XX, LBP_XX,
+    LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU, LBP_NU,
+    LBP_NU, LBP_NU, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
     LBP_H2, LBP_H3, LBP_H3, LBP_H3, LBP_H3, LBP_H3, LBP_H3, LBP_H3,
     LBP_H3, LBP_H3, LBP_H3, LBP_H3, LBP_H3, LBP_H3, LBP_H3, LBP_H3,
     LBP_H3, LBP_H3, LBP_H3, LBP_H3, LBP_H3, LBP_H3, LBP_H3, LBP_H3,
@@ -1904,48 +1968,16 @@
     LBP_H3, LBP_H3, LBP_H3, LBP_H3, LBP_H3, LBP_H3, LBP_H3, LBP_H3,
     LBP_H3, LBP_H3, LBP_H3, LBP_H3, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
     LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
-    LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
-    LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
-    LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
-    LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
-    LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
-    LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
-    LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
-    LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
-    LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
-    LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
-    LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
-    LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
-    LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
-    LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
-    LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
-    LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_XX, LBP_XX,
-    LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
-    LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
-    LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
-    LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
-    LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
-    LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
-    LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
-    LBP_ID, LBP_ID, LBP_ID, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
-    LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
-    LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
-    LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
-    LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
-    LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
-    LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
-    LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
-    LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
-    LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
-    LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
-    LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
-    LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
-    LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
-    LBP_ID, LBP_ID, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
-    LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
-    LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
-    LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
-    LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+    LBP_JV, LBP_JV, LBP_JV, LBP_JV, LBP_JV, LBP_JV, LBP_JV, LBP_JV,
+    LBP_JV, LBP_JV, LBP_JV, LBP_JV, LBP_JV, LBP_JV, LBP_JV, LBP_JV,
+    LBP_JV, LBP_JV, LBP_JV, LBP_JV, LBP_JV, LBP_JV, LBP_JV, LBP_XX,
+    LBP_XX, LBP_XX, LBP_XX, LBP_JT, LBP_JT, LBP_JT, LBP_JT, LBP_JT,
+    LBP_JT, LBP_JT, LBP_JT, LBP_JT, LBP_JT, LBP_JT, LBP_JT, LBP_JT,
+    LBP_JT, LBP_JT, LBP_JT, LBP_JT, LBP_JT, LBP_JT, LBP_JT, LBP_JT,
+    LBP_JT, LBP_JT, LBP_JT, LBP_JT, LBP_JT, LBP_JT, LBP_JT, LBP_JT,
+    LBP_JT, LBP_JT, LBP_JT, LBP_JT, LBP_JT, LBP_JT, LBP_JT, LBP_JT,
+    LBP_JT, LBP_JT, LBP_JT, LBP_JT, LBP_JT, LBP_JT, LBP_JT, LBP_JT,
+    LBP_JT, LBP_JT, LBP_JT, LBP_JT, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
     LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX,
     LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
     LBP_XX, LBP_XX, LBP_XX, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
@@ -2210,18 +2242,18 @@
     LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
     LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_AL,
     LBP_AL, LBP_XX, LBP_XX, LBP_XX, LBP_AL, LBP_XX, LBP_XX, LBP_AL,
-    LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
-    LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_BA,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
     LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
     LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
     LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
     LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
-    LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
-    LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
-    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
-    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
-    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
-    LBP_AL, LBP_AL, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_BA,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_XX, LBP_XX, LBP_BA,
     LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
     LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
     LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
@@ -2246,6 +2278,70 @@
     LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
     LBP_BA, LBP_BA, LBP_BA, LBP_BA, LBP_BA, LBP_BA, LBP_BA, LBP_BA,
     LBP_AL, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_XX,
+    LBP_XX, LBP_BA, LBP_BA, LBP_BA, LBP_BA, LBP_BA, LBP_BA, LBP_BA,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_XX,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+    LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+    LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+    LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+    LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+    LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+    LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+    LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+    LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+    LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+    LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+    LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+    LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+    LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+    LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+    LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+    LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+    LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+    LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX,
+    LBP_CM, LBP_CM, LBP_CM, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM, LBP_CM,
+    LBP_CM, LBP_CM, LBP_CM, LBP_AL, LBP_AL, LBP_AL, LBP_BA, LBP_BA,
+    LBP_BA, LBP_BA, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+    LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+    LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+    LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
     LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
     LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
     LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
@@ -2293,6 +2389,70 @@
     LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
     LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
     LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_OP, LBP_OP, LBP_OP, LBP_CL, LBP_CL, LBP_CL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_CL, LBP_AL, LBP_AL, LBP_AL, LBP_OP, LBP_CL,
+    LBP_OP, LBP_CL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_OP, LBP_CL, LBP_CL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_XX,
+    LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+    LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+    LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+    LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+    LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+    LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+    LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+    LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+    LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+    LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
+    LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
     LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
     LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
     LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL, LBP_AL,
@@ -2474,26 +2634,26 @@
     LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
     LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
     LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
-    LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
-    LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
-    LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
-    LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
-    LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
-    LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
-    LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
-    LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
-    LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
-    LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
-    LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_XX,
+    LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI,
+    LBP_AI, LBP_AI, LBP_AI, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+    LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI,
+    LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI,
+    LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI,
+    LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AL, LBP_XX,
+    LBP_XX, LBP_AI, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+    LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_AI, LBP_XX, LBP_AI,
+    LBP_XX, LBP_XX, LBP_AI, LBP_XX, LBP_XX, LBP_XX, LBP_AI, LBP_XX,
+    LBP_XX, LBP_XX, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_XX,
+    LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_AI,
+    LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_AI,
     LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
     LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
     LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
-    LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+    LBP_XX, LBP_AI, LBP_XX, LBP_AI, LBP_AI, LBP_XX, LBP_XX, LBP_AI,
     LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
-    LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
-    LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
-    LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
-    LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_XX, LBP_XX,
+    LBP_XX, LBP_XX, LBP_AI, LBP_AI, LBP_AI, LBP_AI, LBP_XX, LBP_XX,
+    LBP_AI, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+    LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
     LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
     LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
     LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
@@ -2506,6 +2666,38 @@
     LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
     LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
     LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+    LBP_ID, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+    LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+    LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+    LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+    LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+    LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+    LBP_ID, LBP_ID, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+    LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+    LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+    LBP_ID, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+    LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+    LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+    LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+    LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+    LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+    LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
+    LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+    LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+    LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+    LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+    LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+    LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+    LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+    LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+    LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+    LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+    LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+    LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+    LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+    LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+    LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID,
+    LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_ID, LBP_XX, LBP_XX,
     LBP_XX, LBP_CM, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
     LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
     LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX, LBP_XX,
--- a/lib/unilbrk/lbrktables.c
+++ b/lib/unilbrk/lbrktables.c
@@ -23,34 +23,35 @@
 /* Define unilbrkprop, table of line breaking properties.  */
 #include "unilbrk/lbrkprop2.h"
 
-const unsigned char unilbrk_table[24][24] =
+const unsigned char unilbrk_table[25][25] =
 {
                                 /* after */
-        /* WJ GL B2 BA BB HY CL EX IN NS OP QU IS NU PO PR SY AL H2 H3 ID JL JV JT */
-/* WJ */ { P, I, I, I, I, I, P, P, I, I, I, I, P, I, I, I, P, I, I, I, I, I, I, I, },
-/* GL */ { P, I, I, I, I, I, P, P, I, I, I, I, P, I, I, I, P, I, I, I, I, I, I, I, },
-/* B2 */ { P, I, P, I, D, I, P, P, D, I, D, I, P, D, D, D, P, D, D, D, D, D, D, D, },
-/* BA */ { P, D, D, I, D, I, P, P, D, I, D, I, P, D, D, D, P, D, D, D, D, D, D, D, },
-/* BB */ { P, I, I, I, I, I, P, P, I, I, I, I, P, I, I, I, P, I, I, I, I, I, I, I, },
-/* HY */ { P, D, D, I, D, I, P, P, D, I, D, I, P, I, D, D, P, D, D, D, D, D, D, D, },
-/* CL */ { P, I, D, I, D, I, P, P, D, P, D, I, P, D, I, I, P, D, D, D, D, D, D, D, },
-/* EX */ { P, I, D, I, D, I, P, P, D, I, D, I, P, D, D, D, P, D, D, D, D, D, D, D, },
-/* IN */ { P, I, D, I, D, I, P, P, I, I, D, I, P, D, D, D, P, D, D, D, D, D, D, D, },
-/* NS */ { P, I, D, I, D, I, P, P, D, I, D, I, P, D, D, D, P, D, D, D, D, D, D, D, },
-/* OP */ { P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, },
-/* QU */ { P, I, I, I, I, I, P, P, I, I, P, I, P, I, I, I, P, I, I, I, I, I, I, I, },
-/* IS */ { P, I, D, I, D, I, P, P, D, I, D, I, P, I, D, D, P, D, D, D, D, D, D, D, },
-/* NU */ { P, I, D, I, D, I, P, P, I, I, D, I, P, I, I, I, P, I, D, D, D, D, D, D, },
-/* PO */ { P, I, D, I, D, I, P, P, D, I, I, I, P, I, D, D, P, I, D, D, D, D, D, D, },
-/* PR */ { P, I, D, I, D, I, P, P, D, I, I, I, P, I, D, D, P, I, I, I, I, I, I, I, },
-/* SY */ { P, I, D, I, D, I, P, P, D, I, D, I, P, I, D, D, P, D, D, D, D, D, D, D, },
-/* AL */ { P, I, D, I, D, I, P, P, I, I, D, I, P, I, D, D, P, I, D, D, D, D, D, D, },
-/* H2 */ { P, I, D, I, D, I, P, P, I, I, D, I, P, D, I, D, P, D, D, D, D, D, I, I, },
-/* H3 */ { P, I, D, I, D, I, P, P, I, I, D, I, P, D, I, D, P, D, D, D, D, D, D, I, },
-/* ID */ { P, I, D, I, D, I, P, P, I, I, D, I, P, D, I, D, P, D, D, D, D, D, D, D, },
-/* JL */ { P, I, D, I, D, I, P, P, I, I, D, I, P, D, I, D, P, D, I, I, D, I, I, D, },
-/* JV */ { P, I, D, I, D, I, P, P, I, I, D, I, P, D, I, D, P, D, D, D, D, D, I, I, },
-/* JT */ { P, I, D, I, D, I, P, P, I, I, D, I, P, D, I, D, P, D, D, D, D, D, D, I, },
+        /* WJ GL B2 BA BB HY CL CP EX IN NS OP QU IS NU PO PR SY AL H2 H3 ID JL JV JT */
+/* WJ */ { P, I, I, I, I, I, P, P, P, I, I, I, I, P, I, I, I, P, I, I, I, I, I, I, I, },
+/* GL */ { P, I, I, I, I, I, P, P, P, I, I, I, I, P, I, I, I, P, I, I, I, I, I, I, I, },
+/* B2 */ { P, I, P, I, D, I, P, P, P, D, I, D, I, P, D, D, D, P, D, D, D, D, D, D, D, },
+/* BA */ { P, D, D, I, D, I, P, P, P, D, I, D, I, P, D, D, D, P, D, D, D, D, D, D, D, },
+/* BB */ { P, I, I, I, I, I, P, P, P, I, I, I, I, P, I, I, I, P, I, I, I, I, I, I, I, },
+/* HY */ { P, D, D, I, D, I, P, P, P, D, I, D, I, P, I, D, D, P, D, D, D, D, D, D, D, },
+/* CL */ { P, I, D, I, D, I, P, P, P, D, P, D, I, P, D, I, I, P, D, D, D, D, D, D, D, },
+/* CP */ { P, I, D, I, D, I, P, P, P, D, P, D, I, P, I, I, I, P, I, D, D, D, D, D, D, },
+/* EX */ { P, I, D, I, D, I, P, P, P, D, I, D, I, P, D, D, D, P, D, D, D, D, D, D, D, },
+/* IN */ { P, I, D, I, D, I, P, P, P, I, I, D, I, P, D, D, D, P, D, D, D, D, D, D, D, },
+/* NS */ { P, I, D, I, D, I, P, P, P, D, I, D, I, P, D, D, D, P, D, D, D, D, D, D, D, },
+/* OP */ { P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, P, },
+/* QU */ { P, I, I, I, I, I, P, P, P, I, I, P, I, P, I, I, I, P, I, I, I, I, I, I, I, },
+/* IS */ { P, I, D, I, D, I, P, P, P, D, I, D, I, P, I, D, D, P, D, D, D, D, D, D, D, },
+/* NU */ { P, I, D, I, D, I, P, P, P, I, I, I, I, P, I, I, I, P, I, D, D, D, D, D, D, },
+/* PO */ { P, I, D, I, D, I, P, P, P, D, I, I, I, P, I, D, D, P, I, D, D, D, D, D, D, },
+/* PR */ { P, I, D, I, D, I, P, P, P, D, I, I, I, P, I, D, D, P, I, I, I, I, I, I, I, },
+/* SY */ { P, I, D, I, D, I, P, P, P, D, I, D, I, P, I, D, D, P, D, D, D, D, D, D, D, },
+/* AL */ { P, I, D, I, D, I, P, P, P, I, I, I, I, P, I, D, D, P, I, D, D, D, D, D, D, },
+/* H2 */ { P, I, D, I, D, I, P, P, P, I, I, D, I, P, D, I, D, P, D, D, D, D, D, I, I, },
+/* H3 */ { P, I, D, I, D, I, P, P, P, I, I, D, I, P, D, I, D, P, D, D, D, D, D, D, I, },
+/* ID */ { P, I, D, I, D, I, P, P, P, I, I, D, I, P, D, I, D, P, D, D, D, D, D, D, D, },
+/* JL */ { P, I, D, I, D, I, P, P, P, I, I, D, I, P, D, I, D, P, D, I, I, D, I, I, D, },
+/* JV */ { P, I, D, I, D, I, P, P, P, I, I, D, I, P, D, I, D, P, D, D, D, D, D, I, I, },
+/* JT */ { P, I, D, I, D, I, P, P, P, I, I, D, I, P, D, I, D, P, D, D, D, D, D, D, I, },
 /* "" */
 /* before */
 };
--- a/lib/unilbrk/lbrktables.h
+++ b/lib/unilbrk/lbrktables.h
@@ -21,43 +21,44 @@
 
 enum
 {
-  /* Values >= 24 are resolved at run time. */
-  LBP_BK = 24, /* mandatory break */
+  /* Values >= 25 are resolved at run time. */
+  LBP_BK = 25, /* mandatory break */
 /*LBP_CR,         carriage return - not used here because it's a DOSism */
 /*LBP_LF,         line feed - not used here because it's a DOSism */
-  LBP_CM = 25, /* attached characters and combining marks */
+  LBP_CM = 26, /* attached characters and combining marks */
 /*LBP_NL,         next line - not used here because it's equivalent to LBP_BK */
 /*LBP_SG,         surrogates - not used here because they are not characters */
   LBP_WJ =  0, /* word joiner */
-  LBP_ZW = 26, /* zero width space */
+  LBP_ZW = 27, /* zero width space */
   LBP_GL =  1, /* non-breaking (glue) */
-  LBP_SP = 27, /* space */
+  LBP_SP = 28, /* space */
   LBP_B2 =  2, /* break opportunity before and after */
   LBP_BA =  3, /* break opportunity after */
   LBP_BB =  4, /* break opportunity before */
   LBP_HY =  5, /* hyphen */
-  LBP_CB = 28, /* contingent break opportunity */
+  LBP_CB = 29, /* contingent break opportunity */
   LBP_CL =  6, /* closing punctuation */
-  LBP_EX =  7, /* exclamation/interrogation */
-  LBP_IN =  8, /* inseparable */
-  LBP_NS =  9, /* non starter */
-  LBP_OP = 10, /* opening punctuation */
-  LBP_QU = 11, /* ambiguous quotation */
-  LBP_IS = 12, /* infix separator (numeric) */
-  LBP_NU = 13, /* numeric */
-  LBP_PO = 14, /* postfix (numeric) */
-  LBP_PR = 15, /* prefix (numeric) */
-  LBP_SY = 16, /* symbols allowing breaks */
-  LBP_AI = 29, /* ambiguous (alphabetic or ideograph) */
-  LBP_AL = 17, /* ordinary alphabetic and symbol characters */
-  LBP_H2 = 18, /* Hangul LV syllable */
-  LBP_H3 = 19, /* Hangul LVT syllable */
-  LBP_ID = 20, /* ideographic */
-  LBP_JL = 21, /* Hangul L Jamo */
-  LBP_JV = 22, /* Hangul V Jamo */
-  LBP_JT = 23, /* Hangul T Jamo */
-  LBP_SA = 30, /* complex context (South East Asian) */
-  LBP_XX = 31  /* unknown */
+  LBP_CP =  7, /* closing parenthesis */
+  LBP_EX =  8, /* exclamation/interrogation */
+  LBP_IN =  9, /* inseparable */
+  LBP_NS = 10, /* non starter */
+  LBP_OP = 11, /* opening punctuation */
+  LBP_QU = 12, /* ambiguous quotation */
+  LBP_IS = 13, /* infix separator (numeric) */
+  LBP_NU = 14, /* numeric */
+  LBP_PO = 15, /* postfix (numeric) */
+  LBP_PR = 16, /* prefix (numeric) */
+  LBP_SY = 17, /* symbols allowing breaks */
+  LBP_AI = 30, /* ambiguous (alphabetic or ideograph) */
+  LBP_AL = 18, /* ordinary alphabetic and symbol characters */
+  LBP_H2 = 19, /* Hangul LV syllable */
+  LBP_H3 = 20, /* Hangul LVT syllable */
+  LBP_ID = 21, /* ideographic */
+  LBP_JL = 22, /* Hangul L Jamo */
+  LBP_JV = 23, /* Hangul V Jamo */
+  LBP_JT = 24, /* Hangul T Jamo */
+  LBP_SA = 31, /* complex context (South East Asian) */
+  LBP_XX = 32  /* unknown */
 };
 
 #include "lbrkprop1.h"
@@ -88,7 +89,7 @@
 #define I 2  /* indirect break opportunity, '%' in table 7.3 of UTR #14 */
 #define P 3  /* prohibited break,           '^' in table 7.3 of UTR #14 */
 
-extern const unsigned char unilbrk_table[24][24];
+extern const unsigned char unilbrk_table[25][25];
 
 /* We don't support line breaking of complex-context dependent characters
    (Thai, Lao, Myanmar, Khmer) yet, because it requires dictionary lookup. */
--- a/lib/uninorm/composition-table.gperf
+++ b/lib/uninorm/composition-table.gperf
@@ -1,8 +1,8 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Canonical composition of Unicode characters.  */
-/* Generated automatically by gen-uni-tables for Unicode 5.1.0.  */
+/* Generated automatically by gen-uni-tables for Unicode 5.2.0.  */
 
-/* Copyright (C) 2009-2010 Free Software Foundation, Inc.
+/* Copyright (C) 2009 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -17,7 +17,7 @@
    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
-struct composition_rule { char codes[4]; };
+struct composition_rule { char codes[6]; };
 %struct-type
 %language=ANSI-C
 %define slot-name codes
@@ -28,931 +28,934 @@
 %readonly-tables
 %omit-struct-type
 %%
-"\x00\x41\x03\x00", 0x00c0
-"\x00\x41\x03\x01", 0x00c1
-"\x00\x41\x03\x02", 0x00c2
-"\x00\x41\x03\x03", 0x00c3
-"\x00\x41\x03\x08", 0x00c4
-"\x00\x41\x03\x0a", 0x00c5
-"\x00\x43\x03\x27", 0x00c7
-"\x00\x45\x03\x00", 0x00c8
-"\x00\x45\x03\x01", 0x00c9
-"\x00\x45\x03\x02", 0x00ca
-"\x00\x45\x03\x08", 0x00cb
-"\x00\x49\x03\x00", 0x00cc
-"\x00\x49\x03\x01", 0x00cd
-"\x00\x49\x03\x02", 0x00ce
-"\x00\x49\x03\x08", 0x00cf
-"\x00\x4e\x03\x03", 0x00d1
-"\x00\x4f\x03\x00", 0x00d2
-"\x00\x4f\x03\x01", 0x00d3
-"\x00\x4f\x03\x02", 0x00d4
-"\x00\x4f\x03\x03", 0x00d5
-"\x00\x4f\x03\x08", 0x00d6
-"\x00\x55\x03\x00", 0x00d9
-"\x00\x55\x03\x01", 0x00da
-"\x00\x55\x03\x02", 0x00db
-"\x00\x55\x03\x08", 0x00dc
-"\x00\x59\x03\x01", 0x00dd
-"\x00\x61\x03\x00", 0x00e0
-"\x00\x61\x03\x01", 0x00e1
-"\x00\x61\x03\x02", 0x00e2
-"\x00\x61\x03\x03", 0x00e3
-"\x00\x61\x03\x08", 0x00e4
-"\x00\x61\x03\x0a", 0x00e5
-"\x00\x63\x03\x27", 0x00e7
-"\x00\x65\x03\x00", 0x00e8
-"\x00\x65\x03\x01", 0x00e9
-"\x00\x65\x03\x02", 0x00ea
-"\x00\x65\x03\x08", 0x00eb
-"\x00\x69\x03\x00", 0x00ec
-"\x00\x69\x03\x01", 0x00ed
-"\x00\x69\x03\x02", 0x00ee
-"\x00\x69\x03\x08", 0x00ef
-"\x00\x6e\x03\x03", 0x00f1
-"\x00\x6f\x03\x00", 0x00f2
-"\x00\x6f\x03\x01", 0x00f3
-"\x00\x6f\x03\x02", 0x00f4
-"\x00\x6f\x03\x03", 0x00f5
-"\x00\x6f\x03\x08", 0x00f6
-"\x00\x75\x03\x00", 0x00f9
-"\x00\x75\x03\x01", 0x00fa
-"\x00\x75\x03\x02", 0x00fb
-"\x00\x75\x03\x08", 0x00fc
-"\x00\x79\x03\x01", 0x00fd
-"\x00\x79\x03\x08", 0x00ff
-"\x00\x41\x03\x04", 0x0100
-"\x00\x61\x03\x04", 0x0101
-"\x00\x41\x03\x06", 0x0102
-"\x00\x61\x03\x06", 0x0103
-"\x00\x41\x03\x28", 0x0104
-"\x00\x61\x03\x28", 0x0105
-"\x00\x43\x03\x01", 0x0106
-"\x00\x63\x03\x01", 0x0107
-"\x00\x43\x03\x02", 0x0108
-"\x00\x63\x03\x02", 0x0109
-"\x00\x43\x03\x07", 0x010a
-"\x00\x63\x03\x07", 0x010b
-"\x00\x43\x03\x0c", 0x010c
-"\x00\x63\x03\x0c", 0x010d
-"\x00\x44\x03\x0c", 0x010e
-"\x00\x64\x03\x0c", 0x010f
-"\x00\x45\x03\x04", 0x0112
-"\x00\x65\x03\x04", 0x0113
-"\x00\x45\x03\x06", 0x0114
-"\x00\x65\x03\x06", 0x0115
-"\x00\x45\x03\x07", 0x0116
-"\x00\x65\x03\x07", 0x0117
-"\x00\x45\x03\x28", 0x0118
-"\x00\x65\x03\x28", 0x0119
-"\x00\x45\x03\x0c", 0x011a
-"\x00\x65\x03\x0c", 0x011b
-"\x00\x47\x03\x02", 0x011c
-"\x00\x67\x03\x02", 0x011d
-"\x00\x47\x03\x06", 0x011e
-"\x00\x67\x03\x06", 0x011f
-"\x00\x47\x03\x07", 0x0120
-"\x00\x67\x03\x07", 0x0121
-"\x00\x47\x03\x27", 0x0122
-"\x00\x67\x03\x27", 0x0123
-"\x00\x48\x03\x02", 0x0124
-"\x00\x68\x03\x02", 0x0125
-"\x00\x49\x03\x03", 0x0128
-"\x00\x69\x03\x03", 0x0129
-"\x00\x49\x03\x04", 0x012a
-"\x00\x69\x03\x04", 0x012b
-"\x00\x49\x03\x06", 0x012c
-"\x00\x69\x03\x06", 0x012d
-"\x00\x49\x03\x28", 0x012e
-"\x00\x69\x03\x28", 0x012f
-"\x00\x49\x03\x07", 0x0130
-"\x00\x4a\x03\x02", 0x0134
-"\x00\x6a\x03\x02", 0x0135
-"\x00\x4b\x03\x27", 0x0136
-"\x00\x6b\x03\x27", 0x0137
-"\x00\x4c\x03\x01", 0x0139
-"\x00\x6c\x03\x01", 0x013a
-"\x00\x4c\x03\x27", 0x013b
-"\x00\x6c\x03\x27", 0x013c
-"\x00\x4c\x03\x0c", 0x013d
-"\x00\x6c\x03\x0c", 0x013e
-"\x00\x4e\x03\x01", 0x0143
-"\x00\x6e\x03\x01", 0x0144
-"\x00\x4e\x03\x27", 0x0145
-"\x00\x6e\x03\x27", 0x0146
-"\x00\x4e\x03\x0c", 0x0147
-"\x00\x6e\x03\x0c", 0x0148
-"\x00\x4f\x03\x04", 0x014c
-"\x00\x6f\x03\x04", 0x014d
-"\x00\x4f\x03\x06", 0x014e
-"\x00\x6f\x03\x06", 0x014f
-"\x00\x4f\x03\x0b", 0x0150
-"\x00\x6f\x03\x0b", 0x0151
-"\x00\x52\x03\x01", 0x0154
-"\x00\x72\x03\x01", 0x0155
-"\x00\x52\x03\x27", 0x0156
-"\x00\x72\x03\x27", 0x0157
-"\x00\x52\x03\x0c", 0x0158
-"\x00\x72\x03\x0c", 0x0159
-"\x00\x53\x03\x01", 0x015a
-"\x00\x73\x03\x01", 0x015b
-"\x00\x53\x03\x02", 0x015c
-"\x00\x73\x03\x02", 0x015d
-"\x00\x53\x03\x27", 0x015e
-"\x00\x73\x03\x27", 0x015f
-"\x00\x53\x03\x0c", 0x0160
-"\x00\x73\x03\x0c", 0x0161
-"\x00\x54\x03\x27", 0x0162
-"\x00\x74\x03\x27", 0x0163
-"\x00\x54\x03\x0c", 0x0164
-"\x00\x74\x03\x0c", 0x0165
-"\x00\x55\x03\x03", 0x0168
-"\x00\x75\x03\x03", 0x0169
-"\x00\x55\x03\x04", 0x016a
-"\x00\x75\x03\x04", 0x016b
-"\x00\x55\x03\x06", 0x016c
-"\x00\x75\x03\x06", 0x016d
-"\x00\x55\x03\x0a", 0x016e
-"\x00\x75\x03\x0a", 0x016f
-"\x00\x55\x03\x0b", 0x0170
-"\x00\x75\x03\x0b", 0x0171
-"\x00\x55\x03\x28", 0x0172
-"\x00\x75\x03\x28", 0x0173
-"\x00\x57\x03\x02", 0x0174
-"\x00\x77\x03\x02", 0x0175
-"\x00\x59\x03\x02", 0x0176
-"\x00\x79\x03\x02", 0x0177
-"\x00\x59\x03\x08", 0x0178
-"\x00\x5a\x03\x01", 0x0179
-"\x00\x7a\x03\x01", 0x017a
-"\x00\x5a\x03\x07", 0x017b
-"\x00\x7a\x03\x07", 0x017c
-"\x00\x5a\x03\x0c", 0x017d
-"\x00\x7a\x03\x0c", 0x017e
-"\x00\x4f\x03\x1b", 0x01a0
-"\x00\x6f\x03\x1b", 0x01a1
-"\x00\x55\x03\x1b", 0x01af
-"\x00\x75\x03\x1b", 0x01b0
-"\x00\x41\x03\x0c", 0x01cd
-"\x00\x61\x03\x0c", 0x01ce
-"\x00\x49\x03\x0c", 0x01cf
-"\x00\x69\x03\x0c", 0x01d0
-"\x00\x4f\x03\x0c", 0x01d1
-"\x00\x6f\x03\x0c", 0x01d2
-"\x00\x55\x03\x0c", 0x01d3
-"\x00\x75\x03\x0c", 0x01d4
-"\x00\xdc\x03\x04", 0x01d5
-"\x00\xfc\x03\x04", 0x01d6
-"\x00\xdc\x03\x01", 0x01d7
-"\x00\xfc\x03\x01", 0x01d8
-"\x00\xdc\x03\x0c", 0x01d9
-"\x00\xfc\x03\x0c", 0x01da
-"\x00\xdc\x03\x00", 0x01db
-"\x00\xfc\x03\x00", 0x01dc
-"\x00\xc4\x03\x04", 0x01de
-"\x00\xe4\x03\x04", 0x01df
-"\x02\x26\x03\x04", 0x01e0
-"\x02\x27\x03\x04", 0x01e1
-"\x00\xc6\x03\x04", 0x01e2
-"\x00\xe6\x03\x04", 0x01e3
-"\x00\x47\x03\x0c", 0x01e6
-"\x00\x67\x03\x0c", 0x01e7
-"\x00\x4b\x03\x0c", 0x01e8
-"\x00\x6b\x03\x0c", 0x01e9
-"\x00\x4f\x03\x28", 0x01ea
-"\x00\x6f\x03\x28", 0x01eb
-"\x01\xea\x03\x04", 0x01ec
-"\x01\xeb\x03\x04", 0x01ed
-"\x01\xb7\x03\x0c", 0x01ee
-"\x02\x92\x03\x0c", 0x01ef
-"\x00\x6a\x03\x0c", 0x01f0
-"\x00\x47\x03\x01", 0x01f4
-"\x00\x67\x03\x01", 0x01f5
-"\x00\x4e\x03\x00", 0x01f8
-"\x00\x6e\x03\x00", 0x01f9
-"\x00\xc5\x03\x01", 0x01fa
-"\x00\xe5\x03\x01", 0x01fb
-"\x00\xc6\x03\x01", 0x01fc
-"\x00\xe6\x03\x01", 0x01fd
-"\x00\xd8\x03\x01", 0x01fe
-"\x00\xf8\x03\x01", 0x01ff
-"\x00\x41\x03\x0f", 0x0200
-"\x00\x61\x03\x0f", 0x0201
-"\x00\x41\x03\x11", 0x0202
-"\x00\x61\x03\x11", 0x0203
-"\x00\x45\x03\x0f", 0x0204
-"\x00\x65\x03\x0f", 0x0205
-"\x00\x45\x03\x11", 0x0206
-"\x00\x65\x03\x11", 0x0207
-"\x00\x49\x03\x0f", 0x0208
-"\x00\x69\x03\x0f", 0x0209
-"\x00\x49\x03\x11", 0x020a
-"\x00\x69\x03\x11", 0x020b
-"\x00\x4f\x03\x0f", 0x020c
-"\x00\x6f\x03\x0f", 0x020d
-"\x00\x4f\x03\x11", 0x020e
-"\x00\x6f\x03\x11", 0x020f
-"\x00\x52\x03\x0f", 0x0210
-"\x00\x72\x03\x0f", 0x0211
-"\x00\x52\x03\x11", 0x0212
-"\x00\x72\x03\x11", 0x0213
-"\x00\x55\x03\x0f", 0x0214
-"\x00\x75\x03\x0f", 0x0215
-"\x00\x55\x03\x11", 0x0216
-"\x00\x75\x03\x11", 0x0217
-"\x00\x53\x03\x26", 0x0218
-"\x00\x73\x03\x26", 0x0219
-"\x00\x54\x03\x26", 0x021a
-"\x00\x74\x03\x26", 0x021b
-"\x00\x48\x03\x0c", 0x021e
-"\x00\x68\x03\x0c", 0x021f
-"\x00\x41\x03\x07", 0x0226
-"\x00\x61\x03\x07", 0x0227
-"\x00\x45\x03\x27", 0x0228
-"\x00\x65\x03\x27", 0x0229
-"\x00\xd6\x03\x04", 0x022a
-"\x00\xf6\x03\x04", 0x022b
-"\x00\xd5\x03\x04", 0x022c
-"\x00\xf5\x03\x04", 0x022d
-"\x00\x4f\x03\x07", 0x022e
-"\x00\x6f\x03\x07", 0x022f
-"\x02\x2e\x03\x04", 0x0230
-"\x02\x2f\x03\x04", 0x0231
-"\x00\x59\x03\x04", 0x0232
-"\x00\x79\x03\x04", 0x0233
-"\x00\xa8\x03\x01", 0x0385
-"\x03\x91\x03\x01", 0x0386
-"\x03\x95\x03\x01", 0x0388
-"\x03\x97\x03\x01", 0x0389
-"\x03\x99\x03\x01", 0x038a
-"\x03\x9f\x03\x01", 0x038c
-"\x03\xa5\x03\x01", 0x038e
-"\x03\xa9\x03\x01", 0x038f
-"\x03\xca\x03\x01", 0x0390
-"\x03\x99\x03\x08", 0x03aa
-"\x03\xa5\x03\x08", 0x03ab
-"\x03\xb1\x03\x01", 0x03ac
-"\x03\xb5\x03\x01", 0x03ad
-"\x03\xb7\x03\x01", 0x03ae
-"\x03\xb9\x03\x01", 0x03af
-"\x03\xcb\x03\x01", 0x03b0
-"\x03\xb9\x03\x08", 0x03ca
-"\x03\xc5\x03\x08", 0x03cb
-"\x03\xbf\x03\x01", 0x03cc
-"\x03\xc5\x03\x01", 0x03cd
-"\x03\xc9\x03\x01", 0x03ce
-"\x03\xd2\x03\x01", 0x03d3
-"\x03\xd2\x03\x08", 0x03d4
-"\x04\x15\x03\x00", 0x0400
-"\x04\x15\x03\x08", 0x0401
-"\x04\x13\x03\x01", 0x0403
-"\x04\x06\x03\x08", 0x0407
-"\x04\x1a\x03\x01", 0x040c
-"\x04\x18\x03\x00", 0x040d
-"\x04\x23\x03\x06", 0x040e
-"\x04\x18\x03\x06", 0x0419
-"\x04\x38\x03\x06", 0x0439
-"\x04\x35\x03\x00", 0x0450
-"\x04\x35\x03\x08", 0x0451
-"\x04\x33\x03\x01", 0x0453
-"\x04\x56\x03\x08", 0x0457
-"\x04\x3a\x03\x01", 0x045c
-"\x04\x38\x03\x00", 0x045d
-"\x04\x43\x03\x06", 0x045e
-"\x04\x74\x03\x0f", 0x0476
-"\x04\x75\x03\x0f", 0x0477
-"\x04\x16\x03\x06", 0x04c1
-"\x04\x36\x03\x06", 0x04c2
-"\x04\x10\x03\x06", 0x04d0
-"\x04\x30\x03\x06", 0x04d1
-"\x04\x10\x03\x08", 0x04d2
-"\x04\x30\x03\x08", 0x04d3
-"\x04\x15\x03\x06", 0x04d6
-"\x04\x35\x03\x06", 0x04d7
-"\x04\xd8\x03\x08", 0x04da
-"\x04\xd9\x03\x08", 0x04db
-"\x04\x16\x03\x08", 0x04dc
-"\x04\x36\x03\x08", 0x04dd
-"\x04\x17\x03\x08", 0x04de
-"\x04\x37\x03\x08", 0x04df
-"\x04\x18\x03\x04", 0x04e2
-"\x04\x38\x03\x04", 0x04e3
-"\x04\x18\x03\x08", 0x04e4
-"\x04\x38\x03\x08", 0x04e5
-"\x04\x1e\x03\x08", 0x04e6
-"\x04\x3e\x03\x08", 0x04e7
-"\x04\xe8\x03\x08", 0x04ea
-"\x04\xe9\x03\x08", 0x04eb
-"\x04\x2d\x03\x08", 0x04ec
-"\x04\x4d\x03\x08", 0x04ed
-"\x04\x23\x03\x04", 0x04ee
-"\x04\x43\x03\x04", 0x04ef
-"\x04\x23\x03\x08", 0x04f0
-"\x04\x43\x03\x08", 0x04f1
-"\x04\x23\x03\x0b", 0x04f2
-"\x04\x43\x03\x0b", 0x04f3
-"\x04\x27\x03\x08", 0x04f4
-"\x04\x47\x03\x08", 0x04f5
-"\x04\x2b\x03\x08", 0x04f8
-"\x04\x4b\x03\x08", 0x04f9
-"\x06\x27\x06\x53", 0x0622
-"\x06\x27\x06\x54", 0x0623
-"\x06\x48\x06\x54", 0x0624
-"\x06\x27\x06\x55", 0x0625
-"\x06\x4a\x06\x54", 0x0626
-"\x06\xd5\x06\x54", 0x06c0
-"\x06\xc1\x06\x54", 0x06c2
-"\x06\xd2\x06\x54", 0x06d3
-"\x09\x28\x09\x3c", 0x0929
-"\x09\x30\x09\x3c", 0x0931
-"\x09\x33\x09\x3c", 0x0934
-"\x09\xc7\x09\xbe", 0x09cb
-"\x09\xc7\x09\xd7", 0x09cc
-"\x0b\x47\x0b\x56", 0x0b48
-"\x0b\x47\x0b\x3e", 0x0b4b
-"\x0b\x47\x0b\x57", 0x0b4c
-"\x0b\x92\x0b\xd7", 0x0b94
-"\x0b\xc6\x0b\xbe", 0x0bca
-"\x0b\xc7\x0b\xbe", 0x0bcb
-"\x0b\xc6\x0b\xd7", 0x0bcc
-"\x0c\x46\x0c\x56", 0x0c48
-"\x0c\xbf\x0c\xd5", 0x0cc0
-"\x0c\xc6\x0c\xd5", 0x0cc7
-"\x0c\xc6\x0c\xd6", 0x0cc8
-"\x0c\xc6\x0c\xc2", 0x0cca
-"\x0c\xca\x0c\xd5", 0x0ccb
-"\x0d\x46\x0d\x3e", 0x0d4a
-"\x0d\x47\x0d\x3e", 0x0d4b
-"\x0d\x46\x0d\x57", 0x0d4c
-"\x0d\xd9\x0d\xca", 0x0dda
-"\x0d\xd9\x0d\xcf", 0x0ddc
-"\x0d\xdc\x0d\xca", 0x0ddd
-"\x0d\xd9\x0d\xdf", 0x0dde
-"\x10\x25\x10\x2e", 0x1026
-"\x1b\x05\x1b\x35", 0x1b06
-"\x1b\x07\x1b\x35", 0x1b08
-"\x1b\x09\x1b\x35", 0x1b0a
-"\x1b\x0b\x1b\x35", 0x1b0c
-"\x1b\x0d\x1b\x35", 0x1b0e
-"\x1b\x11\x1b\x35", 0x1b12
-"\x1b\x3a\x1b\x35", 0x1b3b
-"\x1b\x3c\x1b\x35", 0x1b3d
-"\x1b\x3e\x1b\x35", 0x1b40
-"\x1b\x3f\x1b\x35", 0x1b41
-"\x1b\x42\x1b\x35", 0x1b43
-"\x00\x41\x03\x25", 0x1e00
-"\x00\x61\x03\x25", 0x1e01
-"\x00\x42\x03\x07", 0x1e02
-"\x00\x62\x03\x07", 0x1e03
-"\x00\x42\x03\x23", 0x1e04
-"\x00\x62\x03\x23", 0x1e05
-"\x00\x42\x03\x31", 0x1e06
-"\x00\x62\x03\x31", 0x1e07
-"\x00\xc7\x03\x01", 0x1e08
-"\x00\xe7\x03\x01", 0x1e09
-"\x00\x44\x03\x07", 0x1e0a
-"\x00\x64\x03\x07", 0x1e0b
-"\x00\x44\x03\x23", 0x1e0c
-"\x00\x64\x03\x23", 0x1e0d
-"\x00\x44\x03\x31", 0x1e0e
-"\x00\x64\x03\x31", 0x1e0f
-"\x00\x44\x03\x27", 0x1e10
-"\x00\x64\x03\x27", 0x1e11
-"\x00\x44\x03\x2d", 0x1e12
-"\x00\x64\x03\x2d", 0x1e13
-"\x01\x12\x03\x00", 0x1e14
-"\x01\x13\x03\x00", 0x1e15
-"\x01\x12\x03\x01", 0x1e16
-"\x01\x13\x03\x01", 0x1e17
-"\x00\x45\x03\x2d", 0x1e18
-"\x00\x65\x03\x2d", 0x1e19
-"\x00\x45\x03\x30", 0x1e1a
-"\x00\x65\x03\x30", 0x1e1b
-"\x02\x28\x03\x06", 0x1e1c
-"\x02\x29\x03\x06", 0x1e1d
-"\x00\x46\x03\x07", 0x1e1e
-"\x00\x66\x03\x07", 0x1e1f
-"\x00\x47\x03\x04", 0x1e20
-"\x00\x67\x03\x04", 0x1e21
-"\x00\x48\x03\x07", 0x1e22
-"\x00\x68\x03\x07", 0x1e23
-"\x00\x48\x03\x23", 0x1e24
-"\x00\x68\x03\x23", 0x1e25
-"\x00\x48\x03\x08", 0x1e26
-"\x00\x68\x03\x08", 0x1e27
-"\x00\x48\x03\x27", 0x1e28
-"\x00\x68\x03\x27", 0x1e29
-"\x00\x48\x03\x2e", 0x1e2a
-"\x00\x68\x03\x2e", 0x1e2b
-"\x00\x49\x03\x30", 0x1e2c
-"\x00\x69\x03\x30", 0x1e2d
-"\x00\xcf\x03\x01", 0x1e2e
-"\x00\xef\x03\x01", 0x1e2f
-"\x00\x4b\x03\x01", 0x1e30
-"\x00\x6b\x03\x01", 0x1e31
-"\x00\x4b\x03\x23", 0x1e32
-"\x00\x6b\x03\x23", 0x1e33
-"\x00\x4b\x03\x31", 0x1e34
-"\x00\x6b\x03\x31", 0x1e35
-"\x00\x4c\x03\x23", 0x1e36
-"\x00\x6c\x03\x23", 0x1e37
-"\x1e\x36\x03\x04", 0x1e38
-"\x1e\x37\x03\x04", 0x1e39
-"\x00\x4c\x03\x31", 0x1e3a
-"\x00\x6c\x03\x31", 0x1e3b
-"\x00\x4c\x03\x2d", 0x1e3c
-"\x00\x6c\x03\x2d", 0x1e3d
-"\x00\x4d\x03\x01", 0x1e3e
-"\x00\x6d\x03\x01", 0x1e3f
-"\x00\x4d\x03\x07", 0x1e40
-"\x00\x6d\x03\x07", 0x1e41
-"\x00\x4d\x03\x23", 0x1e42
-"\x00\x6d\x03\x23", 0x1e43
-"\x00\x4e\x03\x07", 0x1e44
-"\x00\x6e\x03\x07", 0x1e45
-"\x00\x4e\x03\x23", 0x1e46
-"\x00\x6e\x03\x23", 0x1e47
-"\x00\x4e\x03\x31", 0x1e48
-"\x00\x6e\x03\x31", 0x1e49
-"\x00\x4e\x03\x2d", 0x1e4a
-"\x00\x6e\x03\x2d", 0x1e4b
-"\x00\xd5\x03\x01", 0x1e4c
-"\x00\xf5\x03\x01", 0x1e4d
-"\x00\xd5\x03\x08", 0x1e4e
-"\x00\xf5\x03\x08", 0x1e4f
-"\x01\x4c\x03\x00", 0x1e50
-"\x01\x4d\x03\x00", 0x1e51
-"\x01\x4c\x03\x01", 0x1e52
-"\x01\x4d\x03\x01", 0x1e53
-"\x00\x50\x03\x01", 0x1e54
-"\x00\x70\x03\x01", 0x1e55
-"\x00\x50\x03\x07", 0x1e56
-"\x00\x70\x03\x07", 0x1e57
-"\x00\x52\x03\x07", 0x1e58
-"\x00\x72\x03\x07", 0x1e59
-"\x00\x52\x03\x23", 0x1e5a
-"\x00\x72\x03\x23", 0x1e5b
-"\x1e\x5a\x03\x04", 0x1e5c
-"\x1e\x5b\x03\x04", 0x1e5d
-"\x00\x52\x03\x31", 0x1e5e
-"\x00\x72\x03\x31", 0x1e5f
-"\x00\x53\x03\x07", 0x1e60
-"\x00\x73\x03\x07", 0x1e61
-"\x00\x53\x03\x23", 0x1e62
-"\x00\x73\x03\x23", 0x1e63
-"\x01\x5a\x03\x07", 0x1e64
-"\x01\x5b\x03\x07", 0x1e65
-"\x01\x60\x03\x07", 0x1e66
-"\x01\x61\x03\x07", 0x1e67
-"\x1e\x62\x03\x07", 0x1e68
-"\x1e\x63\x03\x07", 0x1e69
-"\x00\x54\x03\x07", 0x1e6a
-"\x00\x74\x03\x07", 0x1e6b
-"\x00\x54\x03\x23", 0x1e6c
-"\x00\x74\x03\x23", 0x1e6d
-"\x00\x54\x03\x31", 0x1e6e
-"\x00\x74\x03\x31", 0x1e6f
-"\x00\x54\x03\x2d", 0x1e70
-"\x00\x74\x03\x2d", 0x1e71
-"\x00\x55\x03\x24", 0x1e72
-"\x00\x75\x03\x24", 0x1e73
-"\x00\x55\x03\x30", 0x1e74
-"\x00\x75\x03\x30", 0x1e75
-"\x00\x55\x03\x2d", 0x1e76
-"\x00\x75\x03\x2d", 0x1e77
-"\x01\x68\x03\x01", 0x1e78
-"\x01\x69\x03\x01", 0x1e79
-"\x01\x6a\x03\x08", 0x1e7a
-"\x01\x6b\x03\x08", 0x1e7b
-"\x00\x56\x03\x03", 0x1e7c
-"\x00\x76\x03\x03", 0x1e7d
-"\x00\x56\x03\x23", 0x1e7e
-"\x00\x76\x03\x23", 0x1e7f
-"\x00\x57\x03\x00", 0x1e80
-"\x00\x77\x03\x00", 0x1e81
-"\x00\x57\x03\x01", 0x1e82
-"\x00\x77\x03\x01", 0x1e83
-"\x00\x57\x03\x08", 0x1e84
-"\x00\x77\x03\x08", 0x1e85
-"\x00\x57\x03\x07", 0x1e86
-"\x00\x77\x03\x07", 0x1e87
-"\x00\x57\x03\x23", 0x1e88
-"\x00\x77\x03\x23", 0x1e89
-"\x00\x58\x03\x07", 0x1e8a
-"\x00\x78\x03\x07", 0x1e8b
-"\x00\x58\x03\x08", 0x1e8c
-"\x00\x78\x03\x08", 0x1e8d
-"\x00\x59\x03\x07", 0x1e8e
-"\x00\x79\x03\x07", 0x1e8f
-"\x00\x5a\x03\x02", 0x1e90
-"\x00\x7a\x03\x02", 0x1e91
-"\x00\x5a\x03\x23", 0x1e92
-"\x00\x7a\x03\x23", 0x1e93
-"\x00\x5a\x03\x31", 0x1e94
-"\x00\x7a\x03\x31", 0x1e95
-"\x00\x68\x03\x31", 0x1e96
-"\x00\x74\x03\x08", 0x1e97
-"\x00\x77\x03\x0a", 0x1e98
-"\x00\x79\x03\x0a", 0x1e99
-"\x01\x7f\x03\x07", 0x1e9b
-"\x00\x41\x03\x23", 0x1ea0
-"\x00\x61\x03\x23", 0x1ea1
-"\x00\x41\x03\x09", 0x1ea2
-"\x00\x61\x03\x09", 0x1ea3
-"\x00\xc2\x03\x01", 0x1ea4
-"\x00\xe2\x03\x01", 0x1ea5
-"\x00\xc2\x03\x00", 0x1ea6
-"\x00\xe2\x03\x00", 0x1ea7
-"\x00\xc2\x03\x09", 0x1ea8
-"\x00\xe2\x03\x09", 0x1ea9
-"\x00\xc2\x03\x03", 0x1eaa
-"\x00\xe2\x03\x03", 0x1eab
-"\x1e\xa0\x03\x02", 0x1eac
-"\x1e\xa1\x03\x02", 0x1ead
-"\x01\x02\x03\x01", 0x1eae
-"\x01\x03\x03\x01", 0x1eaf
-"\x01\x02\x03\x00", 0x1eb0
-"\x01\x03\x03\x00", 0x1eb1
-"\x01\x02\x03\x09", 0x1eb2
-"\x01\x03\x03\x09", 0x1eb3
-"\x01\x02\x03\x03", 0x1eb4
-"\x01\x03\x03\x03", 0x1eb5
-"\x1e\xa0\x03\x06", 0x1eb6
-"\x1e\xa1\x03\x06", 0x1eb7
-"\x00\x45\x03\x23", 0x1eb8
-"\x00\x65\x03\x23", 0x1eb9
-"\x00\x45\x03\x09", 0x1eba
-"\x00\x65\x03\x09", 0x1ebb
-"\x00\x45\x03\x03", 0x1ebc
-"\x00\x65\x03\x03", 0x1ebd
-"\x00\xca\x03\x01", 0x1ebe
-"\x00\xea\x03\x01", 0x1ebf
-"\x00\xca\x03\x00", 0x1ec0
-"\x00\xea\x03\x00", 0x1ec1
-"\x00\xca\x03\x09", 0x1ec2
-"\x00\xea\x03\x09", 0x1ec3
-"\x00\xca\x03\x03", 0x1ec4
-"\x00\xea\x03\x03", 0x1ec5
-"\x1e\xb8\x03\x02", 0x1ec6
-"\x1e\xb9\x03\x02", 0x1ec7
-"\x00\x49\x03\x09", 0x1ec8
-"\x00\x69\x03\x09", 0x1ec9
-"\x00\x49\x03\x23", 0x1eca
-"\x00\x69\x03\x23", 0x1ecb
-"\x00\x4f\x03\x23", 0x1ecc
-"\x00\x6f\x03\x23", 0x1ecd
-"\x00\x4f\x03\x09", 0x1ece
-"\x00\x6f\x03\x09", 0x1ecf
-"\x00\xd4\x03\x01", 0x1ed0
-"\x00\xf4\x03\x01", 0x1ed1
-"\x00\xd4\x03\x00", 0x1ed2
-"\x00\xf4\x03\x00", 0x1ed3
-"\x00\xd4\x03\x09", 0x1ed4
-"\x00\xf4\x03\x09", 0x1ed5
-"\x00\xd4\x03\x03", 0x1ed6
-"\x00\xf4\x03\x03", 0x1ed7
-"\x1e\xcc\x03\x02", 0x1ed8
-"\x1e\xcd\x03\x02", 0x1ed9
-"\x01\xa0\x03\x01", 0x1eda
-"\x01\xa1\x03\x01", 0x1edb
-"\x01\xa0\x03\x00", 0x1edc
-"\x01\xa1\x03\x00", 0x1edd
-"\x01\xa0\x03\x09", 0x1ede
-"\x01\xa1\x03\x09", 0x1edf
-"\x01\xa0\x03\x03", 0x1ee0
-"\x01\xa1\x03\x03", 0x1ee1
-"\x01\xa0\x03\x23", 0x1ee2
-"\x01\xa1\x03\x23", 0x1ee3
-"\x00\x55\x03\x23", 0x1ee4
-"\x00\x75\x03\x23", 0x1ee5
-"\x00\x55\x03\x09", 0x1ee6
-"\x00\x75\x03\x09", 0x1ee7
-"\x01\xaf\x03\x01", 0x1ee8
-"\x01\xb0\x03\x01", 0x1ee9
-"\x01\xaf\x03\x00", 0x1eea
-"\x01\xb0\x03\x00", 0x1eeb
-"\x01\xaf\x03\x09", 0x1eec
-"\x01\xb0\x03\x09", 0x1eed
-"\x01\xaf\x03\x03", 0x1eee
-"\x01\xb0\x03\x03", 0x1eef
-"\x01\xaf\x03\x23", 0x1ef0
-"\x01\xb0\x03\x23", 0x1ef1
-"\x00\x59\x03\x00", 0x1ef2
-"\x00\x79\x03\x00", 0x1ef3
-"\x00\x59\x03\x23", 0x1ef4
-"\x00\x79\x03\x23", 0x1ef5
-"\x00\x59\x03\x09", 0x1ef6
-"\x00\x79\x03\x09", 0x1ef7
-"\x00\x59\x03\x03", 0x1ef8
-"\x00\x79\x03\x03", 0x1ef9
-"\x03\xb1\x03\x13", 0x1f00
-"\x03\xb1\x03\x14", 0x1f01
-"\x1f\x00\x03\x00", 0x1f02
-"\x1f\x01\x03\x00", 0x1f03
-"\x1f\x00\x03\x01", 0x1f04
-"\x1f\x01\x03\x01", 0x1f05
-"\x1f\x00\x03\x42", 0x1f06
-"\x1f\x01\x03\x42", 0x1f07
-"\x03\x91\x03\x13", 0x1f08
-"\x03\x91\x03\x14", 0x1f09
-"\x1f\x08\x03\x00", 0x1f0a
-"\x1f\x09\x03\x00", 0x1f0b
-"\x1f\x08\x03\x01", 0x1f0c
-"\x1f\x09\x03\x01", 0x1f0d
-"\x1f\x08\x03\x42", 0x1f0e
-"\x1f\x09\x03\x42", 0x1f0f
-"\x03\xb5\x03\x13", 0x1f10
-"\x03\xb5\x03\x14", 0x1f11
-"\x1f\x10\x03\x00", 0x1f12
-"\x1f\x11\x03\x00", 0x1f13
-"\x1f\x10\x03\x01", 0x1f14
-"\x1f\x11\x03\x01", 0x1f15
-"\x03\x95\x03\x13", 0x1f18
-"\x03\x95\x03\x14", 0x1f19
-"\x1f\x18\x03\x00", 0x1f1a
-"\x1f\x19\x03\x00", 0x1f1b
-"\x1f\x18\x03\x01", 0x1f1c
-"\x1f\x19\x03\x01", 0x1f1d
-"\x03\xb7\x03\x13", 0x1f20
-"\x03\xb7\x03\x14", 0x1f21
-"\x1f\x20\x03\x00", 0x1f22
-"\x1f\x21\x03\x00", 0x1f23
-"\x1f\x20\x03\x01", 0x1f24
-"\x1f\x21\x03\x01", 0x1f25
-"\x1f\x20\x03\x42", 0x1f26
-"\x1f\x21\x03\x42", 0x1f27
-"\x03\x97\x03\x13", 0x1f28
-"\x03\x97\x03\x14", 0x1f29
-"\x1f\x28\x03\x00", 0x1f2a
-"\x1f\x29\x03\x00", 0x1f2b
-"\x1f\x28\x03\x01", 0x1f2c
-"\x1f\x29\x03\x01", 0x1f2d
-"\x1f\x28\x03\x42", 0x1f2e
-"\x1f\x29\x03\x42", 0x1f2f
-"\x03\xb9\x03\x13", 0x1f30
-"\x03\xb9\x03\x14", 0x1f31
-"\x1f\x30\x03\x00", 0x1f32
-"\x1f\x31\x03\x00", 0x1f33
-"\x1f\x30\x03\x01", 0x1f34
-"\x1f\x31\x03\x01", 0x1f35
-"\x1f\x30\x03\x42", 0x1f36
-"\x1f\x31\x03\x42", 0x1f37
-"\x03\x99\x03\x13", 0x1f38
-"\x03\x99\x03\x14", 0x1f39
-"\x1f\x38\x03\x00", 0x1f3a
-"\x1f\x39\x03\x00", 0x1f3b
-"\x1f\x38\x03\x01", 0x1f3c
-"\x1f\x39\x03\x01", 0x1f3d
-"\x1f\x38\x03\x42", 0x1f3e
-"\x1f\x39\x03\x42", 0x1f3f
-"\x03\xbf\x03\x13", 0x1f40
-"\x03\xbf\x03\x14", 0x1f41
-"\x1f\x40\x03\x00", 0x1f42
-"\x1f\x41\x03\x00", 0x1f43
-"\x1f\x40\x03\x01", 0x1f44
-"\x1f\x41\x03\x01", 0x1f45
-"\x03\x9f\x03\x13", 0x1f48
-"\x03\x9f\x03\x14", 0x1f49
-"\x1f\x48\x03\x00", 0x1f4a
-"\x1f\x49\x03\x00", 0x1f4b
-"\x1f\x48\x03\x01", 0x1f4c
-"\x1f\x49\x03\x01", 0x1f4d
-"\x03\xc5\x03\x13", 0x1f50
-"\x03\xc5\x03\x14", 0x1f51
-"\x1f\x50\x03\x00", 0x1f52
-"\x1f\x51\x03\x00", 0x1f53
-"\x1f\x50\x03\x01", 0x1f54
-"\x1f\x51\x03\x01", 0x1f55
-"\x1f\x50\x03\x42", 0x1f56
-"\x1f\x51\x03\x42", 0x1f57
-"\x03\xa5\x03\x14", 0x1f59
-"\x1f\x59\x03\x00", 0x1f5b
-"\x1f\x59\x03\x01", 0x1f5d
-"\x1f\x59\x03\x42", 0x1f5f
-"\x03\xc9\x03\x13", 0x1f60
-"\x03\xc9\x03\x14", 0x1f61
-"\x1f\x60\x03\x00", 0x1f62
-"\x1f\x61\x03\x00", 0x1f63
-"\x1f\x60\x03\x01", 0x1f64
-"\x1f\x61\x03\x01", 0x1f65
-"\x1f\x60\x03\x42", 0x1f66
-"\x1f\x61\x03\x42", 0x1f67
-"\x03\xa9\x03\x13", 0x1f68
-"\x03\xa9\x03\x14", 0x1f69
-"\x1f\x68\x03\x00", 0x1f6a
-"\x1f\x69\x03\x00", 0x1f6b
-"\x1f\x68\x03\x01", 0x1f6c
-"\x1f\x69\x03\x01", 0x1f6d
-"\x1f\x68\x03\x42", 0x1f6e
-"\x1f\x69\x03\x42", 0x1f6f
-"\x03\xb1\x03\x00", 0x1f70
-"\x03\xb5\x03\x00", 0x1f72
-"\x03\xb7\x03\x00", 0x1f74
-"\x03\xb9\x03\x00", 0x1f76
-"\x03\xbf\x03\x00", 0x1f78
-"\x03\xc5\x03\x00", 0x1f7a
-"\x03\xc9\x03\x00", 0x1f7c
-"\x1f\x00\x03\x45", 0x1f80
-"\x1f\x01\x03\x45", 0x1f81
-"\x1f\x02\x03\x45", 0x1f82
-"\x1f\x03\x03\x45", 0x1f83
-"\x1f\x04\x03\x45", 0x1f84
-"\x1f\x05\x03\x45", 0x1f85
-"\x1f\x06\x03\x45", 0x1f86
-"\x1f\x07\x03\x45", 0x1f87
-"\x1f\x08\x03\x45", 0x1f88
-"\x1f\x09\x03\x45", 0x1f89
-"\x1f\x0a\x03\x45", 0x1f8a
-"\x1f\x0b\x03\x45", 0x1f8b
-"\x1f\x0c\x03\x45", 0x1f8c
-"\x1f\x0d\x03\x45", 0x1f8d
-"\x1f\x0e\x03\x45", 0x1f8e
-"\x1f\x0f\x03\x45", 0x1f8f
-"\x1f\x20\x03\x45", 0x1f90
-"\x1f\x21\x03\x45", 0x1f91
-"\x1f\x22\x03\x45", 0x1f92
-"\x1f\x23\x03\x45", 0x1f93
-"\x1f\x24\x03\x45", 0x1f94
-"\x1f\x25\x03\x45", 0x1f95
-"\x1f\x26\x03\x45", 0x1f96
-"\x1f\x27\x03\x45", 0x1f97
-"\x1f\x28\x03\x45", 0x1f98
-"\x1f\x29\x03\x45", 0x1f99
-"\x1f\x2a\x03\x45", 0x1f9a
-"\x1f\x2b\x03\x45", 0x1f9b
-"\x1f\x2c\x03\x45", 0x1f9c
-"\x1f\x2d\x03\x45", 0x1f9d
-"\x1f\x2e\x03\x45", 0x1f9e
-"\x1f\x2f\x03\x45", 0x1f9f
-"\x1f\x60\x03\x45", 0x1fa0
-"\x1f\x61\x03\x45", 0x1fa1
-"\x1f\x62\x03\x45", 0x1fa2
-"\x1f\x63\x03\x45", 0x1fa3
-"\x1f\x64\x03\x45", 0x1fa4
-"\x1f\x65\x03\x45", 0x1fa5
-"\x1f\x66\x03\x45", 0x1fa6
-"\x1f\x67\x03\x45", 0x1fa7
-"\x1f\x68\x03\x45", 0x1fa8
-"\x1f\x69\x03\x45", 0x1fa9
-"\x1f\x6a\x03\x45", 0x1faa
-"\x1f\x6b\x03\x45", 0x1fab
-"\x1f\x6c\x03\x45", 0x1fac
-"\x1f\x6d\x03\x45", 0x1fad
-"\x1f\x6e\x03\x45", 0x1fae
-"\x1f\x6f\x03\x45", 0x1faf
-"\x03\xb1\x03\x06", 0x1fb0
-"\x03\xb1\x03\x04", 0x1fb1
-"\x1f\x70\x03\x45", 0x1fb2
-"\x03\xb1\x03\x45", 0x1fb3
-"\x03\xac\x03\x45", 0x1fb4
-"\x03\xb1\x03\x42", 0x1fb6
-"\x1f\xb6\x03\x45", 0x1fb7
-"\x03\x91\x03\x06", 0x1fb8
-"\x03\x91\x03\x04", 0x1fb9
-"\x03\x91\x03\x00", 0x1fba
-"\x03\x91\x03\x45", 0x1fbc
-"\x00\xa8\x03\x42", 0x1fc1
-"\x1f\x74\x03\x45", 0x1fc2
-"\x03\xb7\x03\x45", 0x1fc3
-"\x03\xae\x03\x45", 0x1fc4
-"\x03\xb7\x03\x42", 0x1fc6
-"\x1f\xc6\x03\x45", 0x1fc7
-"\x03\x95\x03\x00", 0x1fc8
-"\x03\x97\x03\x00", 0x1fca
-"\x03\x97\x03\x45", 0x1fcc
-"\x1f\xbf\x03\x00", 0x1fcd
-"\x1f\xbf\x03\x01", 0x1fce
-"\x1f\xbf\x03\x42", 0x1fcf
-"\x03\xb9\x03\x06", 0x1fd0
-"\x03\xb9\x03\x04", 0x1fd1
-"\x03\xca\x03\x00", 0x1fd2
-"\x03\xb9\x03\x42", 0x1fd6
-"\x03\xca\x03\x42", 0x1fd7
-"\x03\x99\x03\x06", 0x1fd8
-"\x03\x99\x03\x04", 0x1fd9
-"\x03\x99\x03\x00", 0x1fda
-"\x1f\xfe\x03\x00", 0x1fdd
-"\x1f\xfe\x03\x01", 0x1fde
-"\x1f\xfe\x03\x42", 0x1fdf
-"\x03\xc5\x03\x06", 0x1fe0
-"\x03\xc5\x03\x04", 0x1fe1
-"\x03\xcb\x03\x00", 0x1fe2
-"\x03\xc1\x03\x13", 0x1fe4
-"\x03\xc1\x03\x14", 0x1fe5
-"\x03\xc5\x03\x42", 0x1fe6
-"\x03\xcb\x03\x42", 0x1fe7
-"\x03\xa5\x03\x06", 0x1fe8
-"\x03\xa5\x03\x04", 0x1fe9
-"\x03\xa5\x03\x00", 0x1fea
-"\x03\xa1\x03\x14", 0x1fec
-"\x00\xa8\x03\x00", 0x1fed
-"\x1f\x7c\x03\x45", 0x1ff2
-"\x03\xc9\x03\x45", 0x1ff3
-"\x03\xce\x03\x45", 0x1ff4
-"\x03\xc9\x03\x42", 0x1ff6
-"\x1f\xf6\x03\x45", 0x1ff7
-"\x03\x9f\x03\x00", 0x1ff8
-"\x03\xa9\x03\x00", 0x1ffa
-"\x03\xa9\x03\x45", 0x1ffc
-"\x21\x90\x03\x38", 0x219a
-"\x21\x92\x03\x38", 0x219b
-"\x21\x94\x03\x38", 0x21ae
-"\x21\xd0\x03\x38", 0x21cd
-"\x21\xd4\x03\x38", 0x21ce
-"\x21\xd2\x03\x38", 0x21cf
-"\x22\x03\x03\x38", 0x2204
-"\x22\x08\x03\x38", 0x2209
-"\x22\x0b\x03\x38", 0x220c
-"\x22\x23\x03\x38", 0x2224
-"\x22\x25\x03\x38", 0x2226
-"\x22\x3c\x03\x38", 0x2241
-"\x22\x43\x03\x38", 0x2244
-"\x22\x45\x03\x38", 0x2247
-"\x22\x48\x03\x38", 0x2249
-"\x00\x3d\x03\x38", 0x2260
-"\x22\x61\x03\x38", 0x2262
-"\x22\x4d\x03\x38", 0x226d
-"\x00\x3c\x03\x38", 0x226e
-"\x00\x3e\x03\x38", 0x226f
-"\x22\x64\x03\x38", 0x2270
-"\x22\x65\x03\x38", 0x2271
-"\x22\x72\x03\x38", 0x2274
-"\x22\x73\x03\x38", 0x2275
-"\x22\x76\x03\x38", 0x2278
-"\x22\x77\x03\x38", 0x2279
-"\x22\x7a\x03\x38", 0x2280
-"\x22\x7b\x03\x38", 0x2281
-"\x22\x82\x03\x38", 0x2284
-"\x22\x83\x03\x38", 0x2285
-"\x22\x86\x03\x38", 0x2288
-"\x22\x87\x03\x38", 0x2289
-"\x22\xa2\x03\x38", 0x22ac
-"\x22\xa8\x03\x38", 0x22ad
-"\x22\xa9\x03\x38", 0x22ae
-"\x22\xab\x03\x38", 0x22af
-"\x22\x7c\x03\x38", 0x22e0
-"\x22\x7d\x03\x38", 0x22e1
-"\x22\x91\x03\x38", 0x22e2
-"\x22\x92\x03\x38", 0x22e3
-"\x22\xb2\x03\x38", 0x22ea
-"\x22\xb3\x03\x38", 0x22eb
-"\x22\xb4\x03\x38", 0x22ec
-"\x22\xb5\x03\x38", 0x22ed
-"\x30\x4b\x30\x99", 0x304c
-"\x30\x4d\x30\x99", 0x304e
-"\x30\x4f\x30\x99", 0x3050
-"\x30\x51\x30\x99", 0x3052
-"\x30\x53\x30\x99", 0x3054
-"\x30\x55\x30\x99", 0x3056
-"\x30\x57\x30\x99", 0x3058
-"\x30\x59\x30\x99", 0x305a
-"\x30\x5b\x30\x99", 0x305c
-"\x30\x5d\x30\x99", 0x305e
-"\x30\x5f\x30\x99", 0x3060
-"\x30\x61\x30\x99", 0x3062
-"\x30\x64\x30\x99", 0x3065
-"\x30\x66\x30\x99", 0x3067
-"\x30\x68\x30\x99", 0x3069
-"\x30\x6f\x30\x99", 0x3070
-"\x30\x6f\x30\x9a", 0x3071
-"\x30\x72\x30\x99", 0x3073
-"\x30\x72\x30\x9a", 0x3074
-"\x30\x75\x30\x99", 0x3076
-"\x30\x75\x30\x9a", 0x3077
-"\x30\x78\x30\x99", 0x3079
-"\x30\x78\x30\x9a", 0x307a
-"\x30\x7b\x30\x99", 0x307c
-"\x30\x7b\x30\x9a", 0x307d
-"\x30\x46\x30\x99", 0x3094
-"\x30\x9d\x30\x99", 0x309e
-"\x30\xab\x30\x99", 0x30ac
-"\x30\xad\x30\x99", 0x30ae
-"\x30\xaf\x30\x99", 0x30b0
-"\x30\xb1\x30\x99", 0x30b2
-"\x30\xb3\x30\x99", 0x30b4
-"\x30\xb5\x30\x99", 0x30b6
-"\x30\xb7\x30\x99", 0x30b8
-"\x30\xb9\x30\x99", 0x30ba
-"\x30\xbb\x30\x99", 0x30bc
-"\x30\xbd\x30\x99", 0x30be
-"\x30\xbf\x30\x99", 0x30c0
-"\x30\xc1\x30\x99", 0x30c2
-"\x30\xc4\x30\x99", 0x30c5
-"\x30\xc6\x30\x99", 0x30c7
-"\x30\xc8\x30\x99", 0x30c9
-"\x30\xcf\x30\x99", 0x30d0
-"\x30\xcf\x30\x9a", 0x30d1
-"\x30\xd2\x30\x99", 0x30d3
-"\x30\xd2\x30\x9a", 0x30d4
-"\x30\xd5\x30\x99", 0x30d6
-"\x30\xd5\x30\x9a", 0x30d7
-"\x30\xd8\x30\x99", 0x30d9
-"\x30\xd8\x30\x9a", 0x30da
-"\x30\xdb\x30\x99", 0x30dc
-"\x30\xdb\x30\x9a", 0x30dd
-"\x30\xa6\x30\x99", 0x30f4
-"\x30\xef\x30\x99", 0x30f7
-"\x30\xf0\x30\x99", 0x30f8
-"\x30\xf1\x30\x99", 0x30f9
-"\x30\xf2\x30\x99", 0x30fa
-"\x30\xfd\x30\x99", 0x30fe
+"\x00\x00\x41\x00\x03\x00", 0x00c0
+"\x00\x00\x41\x00\x03\x01", 0x00c1
+"\x00\x00\x41\x00\x03\x02", 0x00c2
+"\x00\x00\x41\x00\x03\x03", 0x00c3
+"\x00\x00\x41\x00\x03\x08", 0x00c4
+"\x00\x00\x41\x00\x03\x0a", 0x00c5
+"\x00\x00\x43\x00\x03\x27", 0x00c7
+"\x00\x00\x45\x00\x03\x00", 0x00c8
+"\x00\x00\x45\x00\x03\x01", 0x00c9
+"\x00\x00\x45\x00\x03\x02", 0x00ca
+"\x00\x00\x45\x00\x03\x08", 0x00cb
+"\x00\x00\x49\x00\x03\x00", 0x00cc
+"\x00\x00\x49\x00\x03\x01", 0x00cd
+"\x00\x00\x49\x00\x03\x02", 0x00ce
+"\x00\x00\x49\x00\x03\x08", 0x00cf
+"\x00\x00\x4e\x00\x03\x03", 0x00d1
+"\x00\x00\x4f\x00\x03\x00", 0x00d2
+"\x00\x00\x4f\x00\x03\x01", 0x00d3
+"\x00\x00\x4f\x00\x03\x02", 0x00d4
+"\x00\x00\x4f\x00\x03\x03", 0x00d5
+"\x00\x00\x4f\x00\x03\x08", 0x00d6
+"\x00\x00\x55\x00\x03\x00", 0x00d9
+"\x00\x00\x55\x00\x03\x01", 0x00da
+"\x00\x00\x55\x00\x03\x02", 0x00db
+"\x00\x00\x55\x00\x03\x08", 0x00dc
+"\x00\x00\x59\x00\x03\x01", 0x00dd
+"\x00\x00\x61\x00\x03\x00", 0x00e0
+"\x00\x00\x61\x00\x03\x01", 0x00e1
+"\x00\x00\x61\x00\x03\x02", 0x00e2
+"\x00\x00\x61\x00\x03\x03", 0x00e3
+"\x00\x00\x61\x00\x03\x08", 0x00e4
+"\x00\x00\x61\x00\x03\x0a", 0x00e5
+"\x00\x00\x63\x00\x03\x27", 0x00e7
+"\x00\x00\x65\x00\x03\x00", 0x00e8
+"\x00\x00\x65\x00\x03\x01", 0x00e9
+"\x00\x00\x65\x00\x03\x02", 0x00ea
+"\x00\x00\x65\x00\x03\x08", 0x00eb
+"\x00\x00\x69\x00\x03\x00", 0x00ec
+"\x00\x00\x69\x00\x03\x01", 0x00ed
+"\x00\x00\x69\x00\x03\x02", 0x00ee
+"\x00\x00\x69\x00\x03\x08", 0x00ef
+"\x00\x00\x6e\x00\x03\x03", 0x00f1
+"\x00\x00\x6f\x00\x03\x00", 0x00f2
+"\x00\x00\x6f\x00\x03\x01", 0x00f3
+"\x00\x00\x6f\x00\x03\x02", 0x00f4
+"\x00\x00\x6f\x00\x03\x03", 0x00f5
+"\x00\x00\x6f\x00\x03\x08", 0x00f6
+"\x00\x00\x75\x00\x03\x00", 0x00f9
+"\x00\x00\x75\x00\x03\x01", 0x00fa
+"\x00\x00\x75\x00\x03\x02", 0x00fb
+"\x00\x00\x75\x00\x03\x08", 0x00fc
+"\x00\x00\x79\x00\x03\x01", 0x00fd
+"\x00\x00\x79\x00\x03\x08", 0x00ff
+"\x00\x00\x41\x00\x03\x04", 0x0100
+"\x00\x00\x61\x00\x03\x04", 0x0101
+"\x00\x00\x41\x00\x03\x06", 0x0102
+"\x00\x00\x61\x00\x03\x06", 0x0103
+"\x00\x00\x41\x00\x03\x28", 0x0104
+"\x00\x00\x61\x00\x03\x28", 0x0105
+"\x00\x00\x43\x00\x03\x01", 0x0106
+"\x00\x00\x63\x00\x03\x01", 0x0107
+"\x00\x00\x43\x00\x03\x02", 0x0108
+"\x00\x00\x63\x00\x03\x02", 0x0109
+"\x00\x00\x43\x00\x03\x07", 0x010a
+"\x00\x00\x63\x00\x03\x07", 0x010b
+"\x00\x00\x43\x00\x03\x0c", 0x010c
+"\x00\x00\x63\x00\x03\x0c", 0x010d
+"\x00\x00\x44\x00\x03\x0c", 0x010e
+"\x00\x00\x64\x00\x03\x0c", 0x010f
+"\x00\x00\x45\x00\x03\x04", 0x0112
+"\x00\x00\x65\x00\x03\x04", 0x0113
+"\x00\x00\x45\x00\x03\x06", 0x0114
+"\x00\x00\x65\x00\x03\x06", 0x0115
+"\x00\x00\x45\x00\x03\x07", 0x0116
+"\x00\x00\x65\x00\x03\x07", 0x0117
+"\x00\x00\x45\x00\x03\x28", 0x0118
+"\x00\x00\x65\x00\x03\x28", 0x0119
+"\x00\x00\x45\x00\x03\x0c", 0x011a
+"\x00\x00\x65\x00\x03\x0c", 0x011b
+"\x00\x00\x47\x00\x03\x02", 0x011c
+"\x00\x00\x67\x00\x03\x02", 0x011d
+"\x00\x00\x47\x00\x03\x06", 0x011e
+"\x00\x00\x67\x00\x03\x06", 0x011f
+"\x00\x00\x47\x00\x03\x07", 0x0120
+"\x00\x00\x67\x00\x03\x07", 0x0121
+"\x00\x00\x47\x00\x03\x27", 0x0122
+"\x00\x00\x67\x00\x03\x27", 0x0123
+"\x00\x00\x48\x00\x03\x02", 0x0124
+"\x00\x00\x68\x00\x03\x02", 0x0125
+"\x00\x00\x49\x00\x03\x03", 0x0128
+"\x00\x00\x69\x00\x03\x03", 0x0129
+"\x00\x00\x49\x00\x03\x04", 0x012a
+"\x00\x00\x69\x00\x03\x04", 0x012b
+"\x00\x00\x49\x00\x03\x06", 0x012c
+"\x00\x00\x69\x00\x03\x06", 0x012d
+"\x00\x00\x49\x00\x03\x28", 0x012e
+"\x00\x00\x69\x00\x03\x28", 0x012f
+"\x00\x00\x49\x00\x03\x07", 0x0130
+"\x00\x00\x4a\x00\x03\x02", 0x0134
+"\x00\x00\x6a\x00\x03\x02", 0x0135
+"\x00\x00\x4b\x00\x03\x27", 0x0136
+"\x00\x00\x6b\x00\x03\x27", 0x0137
+"\x00\x00\x4c\x00\x03\x01", 0x0139
+"\x00\x00\x6c\x00\x03\x01", 0x013a
+"\x00\x00\x4c\x00\x03\x27", 0x013b
+"\x00\x00\x6c\x00\x03\x27", 0x013c
+"\x00\x00\x4c\x00\x03\x0c", 0x013d
+"\x00\x00\x6c\x00\x03\x0c", 0x013e
+"\x00\x00\x4e\x00\x03\x01", 0x0143
+"\x00\x00\x6e\x00\x03\x01", 0x0144
+"\x00\x00\x4e\x00\x03\x27", 0x0145
+"\x00\x00\x6e\x00\x03\x27", 0x0146
+"\x00\x00\x4e\x00\x03\x0c", 0x0147
+"\x00\x00\x6e\x00\x03\x0c", 0x0148
+"\x00\x00\x4f\x00\x03\x04", 0x014c
+"\x00\x00\x6f\x00\x03\x04", 0x014d
+"\x00\x00\x4f\x00\x03\x06", 0x014e
+"\x00\x00\x6f\x00\x03\x06", 0x014f
+"\x00\x00\x4f\x00\x03\x0b", 0x0150
+"\x00\x00\x6f\x00\x03\x0b", 0x0151
+"\x00\x00\x52\x00\x03\x01", 0x0154
+"\x00\x00\x72\x00\x03\x01", 0x0155
+"\x00\x00\x52\x00\x03\x27", 0x0156
+"\x00\x00\x72\x00\x03\x27", 0x0157
+"\x00\x00\x52\x00\x03\x0c", 0x0158
+"\x00\x00\x72\x00\x03\x0c", 0x0159
+"\x00\x00\x53\x00\x03\x01", 0x015a
+"\x00\x00\x73\x00\x03\x01", 0x015b
+"\x00\x00\x53\x00\x03\x02", 0x015c
+"\x00\x00\x73\x00\x03\x02", 0x015d
+"\x00\x00\x53\x00\x03\x27", 0x015e
+"\x00\x00\x73\x00\x03\x27", 0x015f
+"\x00\x00\x53\x00\x03\x0c", 0x0160
+"\x00\x00\x73\x00\x03\x0c", 0x0161
+"\x00\x00\x54\x00\x03\x27", 0x0162
+"\x00\x00\x74\x00\x03\x27", 0x0163
+"\x00\x00\x54\x00\x03\x0c", 0x0164
+"\x00\x00\x74\x00\x03\x0c", 0x0165
+"\x00\x00\x55\x00\x03\x03", 0x0168
+"\x00\x00\x75\x00\x03\x03", 0x0169
+"\x00\x00\x55\x00\x03\x04", 0x016a
+"\x00\x00\x75\x00\x03\x04", 0x016b
+"\x00\x00\x55\x00\x03\x06", 0x016c
+"\x00\x00\x75\x00\x03\x06", 0x016d
+"\x00\x00\x55\x00\x03\x0a", 0x016e
+"\x00\x00\x75\x00\x03\x0a", 0x016f
+"\x00\x00\x55\x00\x03\x0b", 0x0170
+"\x00\x00\x75\x00\x03\x0b", 0x0171
+"\x00\x00\x55\x00\x03\x28", 0x0172
+"\x00\x00\x75\x00\x03\x28", 0x0173
+"\x00\x00\x57\x00\x03\x02", 0x0174
+"\x00\x00\x77\x00\x03\x02", 0x0175
+"\x00\x00\x59\x00\x03\x02", 0x0176
+"\x00\x00\x79\x00\x03\x02", 0x0177
+"\x00\x00\x59\x00\x03\x08", 0x0178
+"\x00\x00\x5a\x00\x03\x01", 0x0179
+"\x00\x00\x7a\x00\x03\x01", 0x017a
+"\x00\x00\x5a\x00\x03\x07", 0x017b
+"\x00\x00\x7a\x00\x03\x07", 0x017c
+"\x00\x00\x5a\x00\x03\x0c", 0x017d
+"\x00\x00\x7a\x00\x03\x0c", 0x017e
+"\x00\x00\x4f\x00\x03\x1b", 0x01a0
+"\x00\x00\x6f\x00\x03\x1b", 0x01a1
+"\x00\x00\x55\x00\x03\x1b", 0x01af
+"\x00\x00\x75\x00\x03\x1b", 0x01b0
+"\x00\x00\x41\x00\x03\x0c", 0x01cd
+"\x00\x00\x61\x00\x03\x0c", 0x01ce
+"\x00\x00\x49\x00\x03\x0c", 0x01cf
+"\x00\x00\x69\x00\x03\x0c", 0x01d0
+"\x00\x00\x4f\x00\x03\x0c", 0x01d1
+"\x00\x00\x6f\x00\x03\x0c", 0x01d2
+"\x00\x00\x55\x00\x03\x0c", 0x01d3
+"\x00\x00\x75\x00\x03\x0c", 0x01d4
+"\x00\x00\xdc\x00\x03\x04", 0x01d5
+"\x00\x00\xfc\x00\x03\x04", 0x01d6
+"\x00\x00\xdc\x00\x03\x01", 0x01d7
+"\x00\x00\xfc\x00\x03\x01", 0x01d8
+"\x00\x00\xdc\x00\x03\x0c", 0x01d9
+"\x00\x00\xfc\x00\x03\x0c", 0x01da
+"\x00\x00\xdc\x00\x03\x00", 0x01db
+"\x00\x00\xfc\x00\x03\x00", 0x01dc
+"\x00\x00\xc4\x00\x03\x04", 0x01de
+"\x00\x00\xe4\x00\x03\x04", 0x01df
+"\x00\x02\x26\x00\x03\x04", 0x01e0
+"\x00\x02\x27\x00\x03\x04", 0x01e1
+"\x00\x00\xc6\x00\x03\x04", 0x01e2
+"\x00\x00\xe6\x00\x03\x04", 0x01e3
+"\x00\x00\x47\x00\x03\x0c", 0x01e6
+"\x00\x00\x67\x00\x03\x0c", 0x01e7
+"\x00\x00\x4b\x00\x03\x0c", 0x01e8
+"\x00\x00\x6b\x00\x03\x0c", 0x01e9
+"\x00\x00\x4f\x00\x03\x28", 0x01ea
+"\x00\x00\x6f\x00\x03\x28", 0x01eb
+"\x00\x01\xea\x00\x03\x04", 0x01ec
+"\x00\x01\xeb\x00\x03\x04", 0x01ed
+"\x00\x01\xb7\x00\x03\x0c", 0x01ee
+"\x00\x02\x92\x00\x03\x0c", 0x01ef
+"\x00\x00\x6a\x00\x03\x0c", 0x01f0
+"\x00\x00\x47\x00\x03\x01", 0x01f4
+"\x00\x00\x67\x00\x03\x01", 0x01f5
+"\x00\x00\x4e\x00\x03\x00", 0x01f8
+"\x00\x00\x6e\x00\x03\x00", 0x01f9
+"\x00\x00\xc5\x00\x03\x01", 0x01fa
+"\x00\x00\xe5\x00\x03\x01", 0x01fb
+"\x00\x00\xc6\x00\x03\x01", 0x01fc
+"\x00\x00\xe6\x00\x03\x01", 0x01fd
+"\x00\x00\xd8\x00\x03\x01", 0x01fe
+"\x00\x00\xf8\x00\x03\x01", 0x01ff
+"\x00\x00\x41\x00\x03\x0f", 0x0200
+"\x00\x00\x61\x00\x03\x0f", 0x0201
+"\x00\x00\x41\x00\x03\x11", 0x0202
+"\x00\x00\x61\x00\x03\x11", 0x0203
+"\x00\x00\x45\x00\x03\x0f", 0x0204
+"\x00\x00\x65\x00\x03\x0f", 0x0205
+"\x00\x00\x45\x00\x03\x11", 0x0206
+"\x00\x00\x65\x00\x03\x11", 0x0207
+"\x00\x00\x49\x00\x03\x0f", 0x0208
+"\x00\x00\x69\x00\x03\x0f", 0x0209
+"\x00\x00\x49\x00\x03\x11", 0x020a
+"\x00\x00\x69\x00\x03\x11", 0x020b
+"\x00\x00\x4f\x00\x03\x0f", 0x020c
+"\x00\x00\x6f\x00\x03\x0f", 0x020d
+"\x00\x00\x4f\x00\x03\x11", 0x020e
+"\x00\x00\x6f\x00\x03\x11", 0x020f
+"\x00\x00\x52\x00\x03\x0f", 0x0210
+"\x00\x00\x72\x00\x03\x0f", 0x0211
+"\x00\x00\x52\x00\x03\x11", 0x0212
+"\x00\x00\x72\x00\x03\x11", 0x0213
+"\x00\x00\x55\x00\x03\x0f", 0x0214
+"\x00\x00\x75\x00\x03\x0f", 0x0215
+"\x00\x00\x55\x00\x03\x11", 0x0216
+"\x00\x00\x75\x00\x03\x11", 0x0217
+"\x00\x00\x53\x00\x03\x26", 0x0218
+"\x00\x00\x73\x00\x03\x26", 0x0219
+"\x00\x00\x54\x00\x03\x26", 0x021a
+"\x00\x00\x74\x00\x03\x26", 0x021b
+"\x00\x00\x48\x00\x03\x0c", 0x021e
+"\x00\x00\x68\x00\x03\x0c", 0x021f
+"\x00\x00\x41\x00\x03\x07", 0x0226
+"\x00\x00\x61\x00\x03\x07", 0x0227
+"\x00\x00\x45\x00\x03\x27", 0x0228
+"\x00\x00\x65\x00\x03\x27", 0x0229
+"\x00\x00\xd6\x00\x03\x04", 0x022a
+"\x00\x00\xf6\x00\x03\x04", 0x022b
+"\x00\x00\xd5\x00\x03\x04", 0x022c
+"\x00\x00\xf5\x00\x03\x04", 0x022d
+"\x00\x00\x4f\x00\x03\x07", 0x022e
+"\x00\x00\x6f\x00\x03\x07", 0x022f
+"\x00\x02\x2e\x00\x03\x04", 0x0230
+"\x00\x02\x2f\x00\x03\x04", 0x0231
+"\x00\x00\x59\x00\x03\x04", 0x0232
+"\x00\x00\x79\x00\x03\x04", 0x0233
+"\x00\x00\xa8\x00\x03\x01", 0x0385
+"\x00\x03\x91\x00\x03\x01", 0x0386
+"\x00\x03\x95\x00\x03\x01", 0x0388
+"\x00\x03\x97\x00\x03\x01", 0x0389
+"\x00\x03\x99\x00\x03\x01", 0x038a
+"\x00\x03\x9f\x00\x03\x01", 0x038c
+"\x00\x03\xa5\x00\x03\x01", 0x038e
+"\x00\x03\xa9\x00\x03\x01", 0x038f
+"\x00\x03\xca\x00\x03\x01", 0x0390
+"\x00\x03\x99\x00\x03\x08", 0x03aa
+"\x00\x03\xa5\x00\x03\x08", 0x03ab
+"\x00\x03\xb1\x00\x03\x01", 0x03ac
+"\x00\x03\xb5\x00\x03\x01", 0x03ad
+"\x00\x03\xb7\x00\x03\x01", 0x03ae
+"\x00\x03\xb9\x00\x03\x01", 0x03af
+"\x00\x03\xcb\x00\x03\x01", 0x03b0
+"\x00\x03\xb9\x00\x03\x08", 0x03ca
+"\x00\x03\xc5\x00\x03\x08", 0x03cb
+"\x00\x03\xbf\x00\x03\x01", 0x03cc
+"\x00\x03\xc5\x00\x03\x01", 0x03cd
+"\x00\x03\xc9\x00\x03\x01", 0x03ce
+"\x00\x03\xd2\x00\x03\x01", 0x03d3
+"\x00\x03\xd2\x00\x03\x08", 0x03d4
+"\x00\x04\x15\x00\x03\x00", 0x0400
+"\x00\x04\x15\x00\x03\x08", 0x0401
+"\x00\x04\x13\x00\x03\x01", 0x0403
+"\x00\x04\x06\x00\x03\x08", 0x0407
+"\x00\x04\x1a\x00\x03\x01", 0x040c
+"\x00\x04\x18\x00\x03\x00", 0x040d
+"\x00\x04\x23\x00\x03\x06", 0x040e
+"\x00\x04\x18\x00\x03\x06", 0x0419
+"\x00\x04\x38\x00\x03\x06", 0x0439
+"\x00\x04\x35\x00\x03\x00", 0x0450
+"\x00\x04\x35\x00\x03\x08", 0x0451
+"\x00\x04\x33\x00\x03\x01", 0x0453
+"\x00\x04\x56\x00\x03\x08", 0x0457
+"\x00\x04\x3a\x00\x03\x01", 0x045c
+"\x00\x04\x38\x00\x03\x00", 0x045d
+"\x00\x04\x43\x00\x03\x06", 0x045e
+"\x00\x04\x74\x00\x03\x0f", 0x0476
+"\x00\x04\x75\x00\x03\x0f", 0x0477
+"\x00\x04\x16\x00\x03\x06", 0x04c1
+"\x00\x04\x36\x00\x03\x06", 0x04c2
+"\x00\x04\x10\x00\x03\x06", 0x04d0
+"\x00\x04\x30\x00\x03\x06", 0x04d1
+"\x00\x04\x10\x00\x03\x08", 0x04d2
+"\x00\x04\x30\x00\x03\x08", 0x04d3
+"\x00\x04\x15\x00\x03\x06", 0x04d6
+"\x00\x04\x35\x00\x03\x06", 0x04d7
+"\x00\x04\xd8\x00\x03\x08", 0x04da
+"\x00\x04\xd9\x00\x03\x08", 0x04db
+"\x00\x04\x16\x00\x03\x08", 0x04dc
+"\x00\x04\x36\x00\x03\x08", 0x04dd
+"\x00\x04\x17\x00\x03\x08", 0x04de
+"\x00\x04\x37\x00\x03\x08", 0x04df
+"\x00\x04\x18\x00\x03\x04", 0x04e2
+"\x00\x04\x38\x00\x03\x04", 0x04e3
+"\x00\x04\x18\x00\x03\x08", 0x04e4
+"\x00\x04\x38\x00\x03\x08", 0x04e5
+"\x00\x04\x1e\x00\x03\x08", 0x04e6
+"\x00\x04\x3e\x00\x03\x08", 0x04e7
+"\x00\x04\xe8\x00\x03\x08", 0x04ea
+"\x00\x04\xe9\x00\x03\x08", 0x04eb
+"\x00\x04\x2d\x00\x03\x08", 0x04ec
+"\x00\x04\x4d\x00\x03\x08", 0x04ed
+"\x00\x04\x23\x00\x03\x04", 0x04ee
+"\x00\x04\x43\x00\x03\x04", 0x04ef
+"\x00\x04\x23\x00\x03\x08", 0x04f0
+"\x00\x04\x43\x00\x03\x08", 0x04f1
+"\x00\x04\x23\x00\x03\x0b", 0x04f2
+"\x00\x04\x43\x00\x03\x0b", 0x04f3
+"\x00\x04\x27\x00\x03\x08", 0x04f4
+"\x00\x04\x47\x00\x03\x08", 0x04f5
+"\x00\x04\x2b\x00\x03\x08", 0x04f8
+"\x00\x04\x4b\x00\x03\x08", 0x04f9
+"\x00\x06\x27\x00\x06\x53", 0x0622
+"\x00\x06\x27\x00\x06\x54", 0x0623
+"\x00\x06\x48\x00\x06\x54", 0x0624
+"\x00\x06\x27\x00\x06\x55", 0x0625
+"\x00\x06\x4a\x00\x06\x54", 0x0626
+"\x00\x06\xd5\x00\x06\x54", 0x06c0
+"\x00\x06\xc1\x00\x06\x54", 0x06c2
+"\x00\x06\xd2\x00\x06\x54", 0x06d3
+"\x00\x09\x28\x00\x09\x3c", 0x0929
+"\x00\x09\x30\x00\x09\x3c", 0x0931
+"\x00\x09\x33\x00\x09\x3c", 0x0934
+"\x00\x09\xc7\x00\x09\xbe", 0x09cb
+"\x00\x09\xc7\x00\x09\xd7", 0x09cc
+"\x00\x0b\x47\x00\x0b\x56", 0x0b48
+"\x00\x0b\x47\x00\x0b\x3e", 0x0b4b
+"\x00\x0b\x47\x00\x0b\x57", 0x0b4c
+"\x00\x0b\x92\x00\x0b\xd7", 0x0b94
+"\x00\x0b\xc6\x00\x0b\xbe", 0x0bca
+"\x00\x0b\xc7\x00\x0b\xbe", 0x0bcb
+"\x00\x0b\xc6\x00\x0b\xd7", 0x0bcc
+"\x00\x0c\x46\x00\x0c\x56", 0x0c48
+"\x00\x0c\xbf\x00\x0c\xd5", 0x0cc0
+"\x00\x0c\xc6\x00\x0c\xd5", 0x0cc7
+"\x00\x0c\xc6\x00\x0c\xd6", 0x0cc8
+"\x00\x0c\xc6\x00\x0c\xc2", 0x0cca
+"\x00\x0c\xca\x00\x0c\xd5", 0x0ccb
+"\x00\x0d\x46\x00\x0d\x3e", 0x0d4a
+"\x00\x0d\x47\x00\x0d\x3e", 0x0d4b
+"\x00\x0d\x46\x00\x0d\x57", 0x0d4c
+"\x00\x0d\xd9\x00\x0d\xca", 0x0dda
+"\x00\x0d\xd9\x00\x0d\xcf", 0x0ddc
+"\x00\x0d\xdc\x00\x0d\xca", 0x0ddd
+"\x00\x0d\xd9\x00\x0d\xdf", 0x0dde
+"\x00\x10\x25\x00\x10\x2e", 0x1026
+"\x00\x1b\x05\x00\x1b\x35", 0x1b06
+"\x00\x1b\x07\x00\x1b\x35", 0x1b08
+"\x00\x1b\x09\x00\x1b\x35", 0x1b0a
+"\x00\x1b\x0b\x00\x1b\x35", 0x1b0c
+"\x00\x1b\x0d\x00\x1b\x35", 0x1b0e
+"\x00\x1b\x11\x00\x1b\x35", 0x1b12
+"\x00\x1b\x3a\x00\x1b\x35", 0x1b3b
+"\x00\x1b\x3c\x00\x1b\x35", 0x1b3d
+"\x00\x1b\x3e\x00\x1b\x35", 0x1b40
+"\x00\x1b\x3f\x00\x1b\x35", 0x1b41
+"\x00\x1b\x42\x00\x1b\x35", 0x1b43
+"\x00\x00\x41\x00\x03\x25", 0x1e00
+"\x00\x00\x61\x00\x03\x25", 0x1e01
+"\x00\x00\x42\x00\x03\x07", 0x1e02
+"\x00\x00\x62\x00\x03\x07", 0x1e03
+"\x00\x00\x42\x00\x03\x23", 0x1e04
+"\x00\x00\x62\x00\x03\x23", 0x1e05
+"\x00\x00\x42\x00\x03\x31", 0x1e06
+"\x00\x00\x62\x00\x03\x31", 0x1e07
+"\x00\x00\xc7\x00\x03\x01", 0x1e08
+"\x00\x00\xe7\x00\x03\x01", 0x1e09
+"\x00\x00\x44\x00\x03\x07", 0x1e0a
+"\x00\x00\x64\x00\x03\x07", 0x1e0b
+"\x00\x00\x44\x00\x03\x23", 0x1e0c
+"\x00\x00\x64\x00\x03\x23", 0x1e0d
+"\x00\x00\x44\x00\x03\x31", 0x1e0e
+"\x00\x00\x64\x00\x03\x31", 0x1e0f
+"\x00\x00\x44\x00\x03\x27", 0x1e10
+"\x00\x00\x64\x00\x03\x27", 0x1e11
+"\x00\x00\x44\x00\x03\x2d", 0x1e12
+"\x00\x00\x64\x00\x03\x2d", 0x1e13
+"\x00\x01\x12\x00\x03\x00", 0x1e14
+"\x00\x01\x13\x00\x03\x00", 0x1e15
+"\x00\x01\x12\x00\x03\x01", 0x1e16
+"\x00\x01\x13\x00\x03\x01", 0x1e17
+"\x00\x00\x45\x00\x03\x2d", 0x1e18
+"\x00\x00\x65\x00\x03\x2d", 0x1e19
+"\x00\x00\x45\x00\x03\x30", 0x1e1a
+"\x00\x00\x65\x00\x03\x30", 0x1e1b
+"\x00\x02\x28\x00\x03\x06", 0x1e1c
+"\x00\x02\x29\x00\x03\x06", 0x1e1d
+"\x00\x00\x46\x00\x03\x07", 0x1e1e
+"\x00\x00\x66\x00\x03\x07", 0x1e1f
+"\x00\x00\x47\x00\x03\x04", 0x1e20
+"\x00\x00\x67\x00\x03\x04", 0x1e21
+"\x00\x00\x48\x00\x03\x07", 0x1e22
+"\x00\x00\x68\x00\x03\x07", 0x1e23
+"\x00\x00\x48\x00\x03\x23", 0x1e24
+"\x00\x00\x68\x00\x03\x23", 0x1e25
+"\x00\x00\x48\x00\x03\x08", 0x1e26
+"\x00\x00\x68\x00\x03\x08", 0x1e27
+"\x00\x00\x48\x00\x03\x27", 0x1e28
+"\x00\x00\x68\x00\x03\x27", 0x1e29
+"\x00\x00\x48\x00\x03\x2e", 0x1e2a
+"\x00\x00\x68\x00\x03\x2e", 0x1e2b
+"\x00\x00\x49\x00\x03\x30", 0x1e2c
+"\x00\x00\x69\x00\x03\x30", 0x1e2d
+"\x00\x00\xcf\x00\x03\x01", 0x1e2e
+"\x00\x00\xef\x00\x03\x01", 0x1e2f
+"\x00\x00\x4b\x00\x03\x01", 0x1e30
+"\x00\x00\x6b\x00\x03\x01", 0x1e31
+"\x00\x00\x4b\x00\x03\x23", 0x1e32
+"\x00\x00\x6b\x00\x03\x23", 0x1e33
+"\x00\x00\x4b\x00\x03\x31", 0x1e34
+"\x00\x00\x6b\x00\x03\x31", 0x1e35
+"\x00\x00\x4c\x00\x03\x23", 0x1e36
+"\x00\x00\x6c\x00\x03\x23", 0x1e37
+"\x00\x1e\x36\x00\x03\x04", 0x1e38
+"\x00\x1e\x37\x00\x03\x04", 0x1e39
+"\x00\x00\x4c\x00\x03\x31", 0x1e3a
+"\x00\x00\x6c\x00\x03\x31", 0x1e3b
+"\x00\x00\x4c\x00\x03\x2d", 0x1e3c
+"\x00\x00\x6c\x00\x03\x2d", 0x1e3d
+"\x00\x00\x4d\x00\x03\x01", 0x1e3e
+"\x00\x00\x6d\x00\x03\x01", 0x1e3f
+"\x00\x00\x4d\x00\x03\x07", 0x1e40
+"\x00\x00\x6d\x00\x03\x07", 0x1e41
+"\x00\x00\x4d\x00\x03\x23", 0x1e42
+"\x00\x00\x6d\x00\x03\x23", 0x1e43
+"\x00\x00\x4e\x00\x03\x07", 0x1e44
+"\x00\x00\x6e\x00\x03\x07", 0x1e45
+"\x00\x00\x4e\x00\x03\x23", 0x1e46
+"\x00\x00\x6e\x00\x03\x23", 0x1e47
+"\x00\x00\x4e\x00\x03\x31", 0x1e48
+"\x00\x00\x6e\x00\x03\x31", 0x1e49
+"\x00\x00\x4e\x00\x03\x2d", 0x1e4a
+"\x00\x00\x6e\x00\x03\x2d", 0x1e4b
+"\x00\x00\xd5\x00\x03\x01", 0x1e4c
+"\x00\x00\xf5\x00\x03\x01", 0x1e4d
+"\x00\x00\xd5\x00\x03\x08", 0x1e4e
+"\x00\x00\xf5\x00\x03\x08", 0x1e4f
+"\x00\x01\x4c\x00\x03\x00", 0x1e50
+"\x00\x01\x4d\x00\x03\x00", 0x1e51
+"\x00\x01\x4c\x00\x03\x01", 0x1e52
+"\x00\x01\x4d\x00\x03\x01", 0x1e53
+"\x00\x00\x50\x00\x03\x01", 0x1e54
+"\x00\x00\x70\x00\x03\x01", 0x1e55
+"\x00\x00\x50\x00\x03\x07", 0x1e56
+"\x00\x00\x70\x00\x03\x07", 0x1e57
+"\x00\x00\x52\x00\x03\x07", 0x1e58
+"\x00\x00\x72\x00\x03\x07", 0x1e59
+"\x00\x00\x52\x00\x03\x23", 0x1e5a
+"\x00\x00\x72\x00\x03\x23", 0x1e5b
+"\x00\x1e\x5a\x00\x03\x04", 0x1e5c
+"\x00\x1e\x5b\x00\x03\x04", 0x1e5d
+"\x00\x00\x52\x00\x03\x31", 0x1e5e
+"\x00\x00\x72\x00\x03\x31", 0x1e5f
+"\x00\x00\x53\x00\x03\x07", 0x1e60
+"\x00\x00\x73\x00\x03\x07", 0x1e61
+"\x00\x00\x53\x00\x03\x23", 0x1e62
+"\x00\x00\x73\x00\x03\x23", 0x1e63
+"\x00\x01\x5a\x00\x03\x07", 0x1e64
+"\x00\x01\x5b\x00\x03\x07", 0x1e65
+"\x00\x01\x60\x00\x03\x07", 0x1e66
+"\x00\x01\x61\x00\x03\x07", 0x1e67
+"\x00\x1e\x62\x00\x03\x07", 0x1e68
+"\x00\x1e\x63\x00\x03\x07", 0x1e69
+"\x00\x00\x54\x00\x03\x07", 0x1e6a
+"\x00\x00\x74\x00\x03\x07", 0x1e6b
+"\x00\x00\x54\x00\x03\x23", 0x1e6c
+"\x00\x00\x74\x00\x03\x23", 0x1e6d
+"\x00\x00\x54\x00\x03\x31", 0x1e6e
+"\x00\x00\x74\x00\x03\x31", 0x1e6f
+"\x00\x00\x54\x00\x03\x2d", 0x1e70
+"\x00\x00\x74\x00\x03\x2d", 0x1e71
+"\x00\x00\x55\x00\x03\x24", 0x1e72
+"\x00\x00\x75\x00\x03\x24", 0x1e73
+"\x00\x00\x55\x00\x03\x30", 0x1e74
+"\x00\x00\x75\x00\x03\x30", 0x1e75
+"\x00\x00\x55\x00\x03\x2d", 0x1e76
+"\x00\x00\x75\x00\x03\x2d", 0x1e77
+"\x00\x01\x68\x00\x03\x01", 0x1e78
+"\x00\x01\x69\x00\x03\x01", 0x1e79
+"\x00\x01\x6a\x00\x03\x08", 0x1e7a
+"\x00\x01\x6b\x00\x03\x08", 0x1e7b
+"\x00\x00\x56\x00\x03\x03", 0x1e7c
+"\x00\x00\x76\x00\x03\x03", 0x1e7d
+"\x00\x00\x56\x00\x03\x23", 0x1e7e
+"\x00\x00\x76\x00\x03\x23", 0x1e7f
+"\x00\x00\x57\x00\x03\x00", 0x1e80
+"\x00\x00\x77\x00\x03\x00", 0x1e81
+"\x00\x00\x57\x00\x03\x01", 0x1e82
+"\x00\x00\x77\x00\x03\x01", 0x1e83
+"\x00\x00\x57\x00\x03\x08", 0x1e84
+"\x00\x00\x77\x00\x03\x08", 0x1e85
+"\x00\x00\x57\x00\x03\x07", 0x1e86
+"\x00\x00\x77\x00\x03\x07", 0x1e87
+"\x00\x00\x57\x00\x03\x23", 0x1e88
+"\x00\x00\x77\x00\x03\x23", 0x1e89
+"\x00\x00\x58\x00\x03\x07", 0x1e8a
+"\x00\x00\x78\x00\x03\x07", 0x1e8b
+"\x00\x00\x58\x00\x03\x08", 0x1e8c
+"\x00\x00\x78\x00\x03\x08", 0x1e8d
+"\x00\x00\x59\x00\x03\x07", 0x1e8e
+"\x00\x00\x79\x00\x03\x07", 0x1e8f
+"\x00\x00\x5a\x00\x03\x02", 0x1e90
+"\x00\x00\x7a\x00\x03\x02", 0x1e91
+"\x00\x00\x5a\x00\x03\x23", 0x1e92
+"\x00\x00\x7a\x00\x03\x23", 0x1e93
+"\x00\x00\x5a\x00\x03\x31", 0x1e94
+"\x00\x00\x7a\x00\x03\x31", 0x1e95
+"\x00\x00\x68\x00\x03\x31", 0x1e96
+"\x00\x00\x74\x00\x03\x08", 0x1e97
+"\x00\x00\x77\x00\x03\x0a", 0x1e98
+"\x00\x00\x79\x00\x03\x0a", 0x1e99
+"\x00\x01\x7f\x00\x03\x07", 0x1e9b
+"\x00\x00\x41\x00\x03\x23", 0x1ea0
+"\x00\x00\x61\x00\x03\x23", 0x1ea1
+"\x00\x00\x41\x00\x03\x09", 0x1ea2
+"\x00\x00\x61\x00\x03\x09", 0x1ea3
+"\x00\x00\xc2\x00\x03\x01", 0x1ea4
+"\x00\x00\xe2\x00\x03\x01", 0x1ea5
+"\x00\x00\xc2\x00\x03\x00", 0x1ea6
+"\x00\x00\xe2\x00\x03\x00", 0x1ea7
+"\x00\x00\xc2\x00\x03\x09", 0x1ea8
+"\x00\x00\xe2\x00\x03\x09", 0x1ea9
+"\x00\x00\xc2\x00\x03\x03", 0x1eaa
+"\x00\x00\xe2\x00\x03\x03", 0x1eab
+"\x00\x1e\xa0\x00\x03\x02", 0x1eac
+"\x00\x1e\xa1\x00\x03\x02", 0x1ead
+"\x00\x01\x02\x00\x03\x01", 0x1eae
+"\x00\x01\x03\x00\x03\x01", 0x1eaf
+"\x00\x01\x02\x00\x03\x00", 0x1eb0
+"\x00\x01\x03\x00\x03\x00", 0x1eb1
+"\x00\x01\x02\x00\x03\x09", 0x1eb2
+"\x00\x01\x03\x00\x03\x09", 0x1eb3
+"\x00\x01\x02\x00\x03\x03", 0x1eb4
+"\x00\x01\x03\x00\x03\x03", 0x1eb5
+"\x00\x1e\xa0\x00\x03\x06", 0x1eb6
+"\x00\x1e\xa1\x00\x03\x06", 0x1eb7
+"\x00\x00\x45\x00\x03\x23", 0x1eb8
+"\x00\x00\x65\x00\x03\x23", 0x1eb9
+"\x00\x00\x45\x00\x03\x09", 0x1eba
+"\x00\x00\x65\x00\x03\x09", 0x1ebb
+"\x00\x00\x45\x00\x03\x03", 0x1ebc
+"\x00\x00\x65\x00\x03\x03", 0x1ebd
+"\x00\x00\xca\x00\x03\x01", 0x1ebe
+"\x00\x00\xea\x00\x03\x01", 0x1ebf
+"\x00\x00\xca\x00\x03\x00", 0x1ec0
+"\x00\x00\xea\x00\x03\x00", 0x1ec1
+"\x00\x00\xca\x00\x03\x09", 0x1ec2
+"\x00\x00\xea\x00\x03\x09", 0x1ec3
+"\x00\x00\xca\x00\x03\x03", 0x1ec4
+"\x00\x00\xea\x00\x03\x03", 0x1ec5
+"\x00\x1e\xb8\x00\x03\x02", 0x1ec6
+"\x00\x1e\xb9\x00\x03\x02", 0x1ec7
+"\x00\x00\x49\x00\x03\x09", 0x1ec8
+"\x00\x00\x69\x00\x03\x09", 0x1ec9
+"\x00\x00\x49\x00\x03\x23", 0x1eca
+"\x00\x00\x69\x00\x03\x23", 0x1ecb
+"\x00\x00\x4f\x00\x03\x23", 0x1ecc
+"\x00\x00\x6f\x00\x03\x23", 0x1ecd
+"\x00\x00\x4f\x00\x03\x09", 0x1ece
+"\x00\x00\x6f\x00\x03\x09", 0x1ecf
+"\x00\x00\xd4\x00\x03\x01", 0x1ed0
+"\x00\x00\xf4\x00\x03\x01", 0x1ed1
+"\x00\x00\xd4\x00\x03\x00", 0x1ed2
+"\x00\x00\xf4\x00\x03\x00", 0x1ed3
+"\x00\x00\xd4\x00\x03\x09", 0x1ed4
+"\x00\x00\xf4\x00\x03\x09", 0x1ed5
+"\x00\x00\xd4\x00\x03\x03", 0x1ed6
+"\x00\x00\xf4\x00\x03\x03", 0x1ed7
+"\x00\x1e\xcc\x00\x03\x02", 0x1ed8
+"\x00\x1e\xcd\x00\x03\x02", 0x1ed9
+"\x00\x01\xa0\x00\x03\x01", 0x1eda
+"\x00\x01\xa1\x00\x03\x01", 0x1edb
+"\x00\x01\xa0\x00\x03\x00", 0x1edc
+"\x00\x01\xa1\x00\x03\x00", 0x1edd
+"\x00\x01\xa0\x00\x03\x09", 0x1ede
+"\x00\x01\xa1\x00\x03\x09", 0x1edf
+"\x00\x01\xa0\x00\x03\x03", 0x1ee0
+"\x00\x01\xa1\x00\x03\x03", 0x1ee1
+"\x00\x01\xa0\x00\x03\x23", 0x1ee2
+"\x00\x01\xa1\x00\x03\x23", 0x1ee3
+"\x00\x00\x55\x00\x03\x23", 0x1ee4
+"\x00\x00\x75\x00\x03\x23", 0x1ee5
+"\x00\x00\x55\x00\x03\x09", 0x1ee6
+"\x00\x00\x75\x00\x03\x09", 0x1ee7
+"\x00\x01\xaf\x00\x03\x01", 0x1ee8
+"\x00\x01\xb0\x00\x03\x01", 0x1ee9
+"\x00\x01\xaf\x00\x03\x00", 0x1eea
+"\x00\x01\xb0\x00\x03\x00", 0x1eeb
+"\x00\x01\xaf\x00\x03\x09", 0x1eec
+"\x00\x01\xb0\x00\x03\x09", 0x1eed
+"\x00\x01\xaf\x00\x03\x03", 0x1eee
+"\x00\x01\xb0\x00\x03\x03", 0x1eef
+"\x00\x01\xaf\x00\x03\x23", 0x1ef0
+"\x00\x01\xb0\x00\x03\x23", 0x1ef1
+"\x00\x00\x59\x00\x03\x00", 0x1ef2
+"\x00\x00\x79\x00\x03\x00", 0x1ef3
+"\x00\x00\x59\x00\x03\x23", 0x1ef4
+"\x00\x00\x79\x00\x03\x23", 0x1ef5
+"\x00\x00\x59\x00\x03\x09", 0x1ef6
+"\x00\x00\x79\x00\x03\x09", 0x1ef7
+"\x00\x00\x59\x00\x03\x03", 0x1ef8
+"\x00\x00\x79\x00\x03\x03", 0x1ef9
+"\x00\x03\xb1\x00\x03\x13", 0x1f00
+"\x00\x03\xb1\x00\x03\x14", 0x1f01
+"\x00\x1f\x00\x00\x03\x00", 0x1f02
+"\x00\x1f\x01\x00\x03\x00", 0x1f03
+"\x00\x1f\x00\x00\x03\x01", 0x1f04
+"\x00\x1f\x01\x00\x03\x01", 0x1f05
+"\x00\x1f\x00\x00\x03\x42", 0x1f06
+"\x00\x1f\x01\x00\x03\x42", 0x1f07
+"\x00\x03\x91\x00\x03\x13", 0x1f08
+"\x00\x03\x91\x00\x03\x14", 0x1f09
+"\x00\x1f\x08\x00\x03\x00", 0x1f0a
+"\x00\x1f\x09\x00\x03\x00", 0x1f0b
+"\x00\x1f\x08\x00\x03\x01", 0x1f0c
+"\x00\x1f\x09\x00\x03\x01", 0x1f0d
+"\x00\x1f\x08\x00\x03\x42", 0x1f0e
+"\x00\x1f\x09\x00\x03\x42", 0x1f0f
+"\x00\x03\xb5\x00\x03\x13", 0x1f10
+"\x00\x03\xb5\x00\x03\x14", 0x1f11
+"\x00\x1f\x10\x00\x03\x00", 0x1f12
+"\x00\x1f\x11\x00\x03\x00", 0x1f13
+"\x00\x1f\x10\x00\x03\x01", 0x1f14
+"\x00\x1f\x11\x00\x03\x01", 0x1f15
+"\x00\x03\x95\x00\x03\x13", 0x1f18
+"\x00\x03\x95\x00\x03\x14", 0x1f19
+"\x00\x1f\x18\x00\x03\x00", 0x1f1a
+"\x00\x1f\x19\x00\x03\x00", 0x1f1b
+"\x00\x1f\x18\x00\x03\x01", 0x1f1c
+"\x00\x1f\x19\x00\x03\x01", 0x1f1d
+"\x00\x03\xb7\x00\x03\x13", 0x1f20
+"\x00\x03\xb7\x00\x03\x14", 0x1f21
+"\x00\x1f\x20\x00\x03\x00", 0x1f22
+"\x00\x1f\x21\x00\x03\x00", 0x1f23
+"\x00\x1f\x20\x00\x03\x01", 0x1f24
+"\x00\x1f\x21\x00\x03\x01", 0x1f25
+"\x00\x1f\x20\x00\x03\x42", 0x1f26
+"\x00\x1f\x21\x00\x03\x42", 0x1f27
+"\x00\x03\x97\x00\x03\x13", 0x1f28
+"\x00\x03\x97\x00\x03\x14", 0x1f29
+"\x00\x1f\x28\x00\x03\x00", 0x1f2a
+"\x00\x1f\x29\x00\x03\x00", 0x1f2b
+"\x00\x1f\x28\x00\x03\x01", 0x1f2c
+"\x00\x1f\x29\x00\x03\x01", 0x1f2d
+"\x00\x1f\x28\x00\x03\x42", 0x1f2e
+"\x00\x1f\x29\x00\x03\x42", 0x1f2f
+"\x00\x03\xb9\x00\x03\x13", 0x1f30
+"\x00\x03\xb9\x00\x03\x14", 0x1f31
+"\x00\x1f\x30\x00\x03\x00", 0x1f32
+"\x00\x1f\x31\x00\x03\x00", 0x1f33
+"\x00\x1f\x30\x00\x03\x01", 0x1f34
+"\x00\x1f\x31\x00\x03\x01", 0x1f35
+"\x00\x1f\x30\x00\x03\x42", 0x1f36
+"\x00\x1f\x31\x00\x03\x42", 0x1f37
+"\x00\x03\x99\x00\x03\x13", 0x1f38
+"\x00\x03\x99\x00\x03\x14", 0x1f39
+"\x00\x1f\x38\x00\x03\x00", 0x1f3a
+"\x00\x1f\x39\x00\x03\x00", 0x1f3b
+"\x00\x1f\x38\x00\x03\x01", 0x1f3c
+"\x00\x1f\x39\x00\x03\x01", 0x1f3d
+"\x00\x1f\x38\x00\x03\x42", 0x1f3e
+"\x00\x1f\x39\x00\x03\x42", 0x1f3f
+"\x00\x03\xbf\x00\x03\x13", 0x1f40
+"\x00\x03\xbf\x00\x03\x14", 0x1f41
+"\x00\x1f\x40\x00\x03\x00", 0x1f42
+"\x00\x1f\x41\x00\x03\x00", 0x1f43
+"\x00\x1f\x40\x00\x03\x01", 0x1f44
+"\x00\x1f\x41\x00\x03\x01", 0x1f45
+"\x00\x03\x9f\x00\x03\x13", 0x1f48
+"\x00\x03\x9f\x00\x03\x14", 0x1f49
+"\x00\x1f\x48\x00\x03\x00", 0x1f4a
+"\x00\x1f\x49\x00\x03\x00", 0x1f4b
+"\x00\x1f\x48\x00\x03\x01", 0x1f4c
+"\x00\x1f\x49\x00\x03\x01", 0x1f4d
+"\x00\x03\xc5\x00\x03\x13", 0x1f50
+"\x00\x03\xc5\x00\x03\x14", 0x1f51
+"\x00\x1f\x50\x00\x03\x00", 0x1f52
+"\x00\x1f\x51\x00\x03\x00", 0x1f53
+"\x00\x1f\x50\x00\x03\x01", 0x1f54
+"\x00\x1f\x51\x00\x03\x01", 0x1f55
+"\x00\x1f\x50\x00\x03\x42", 0x1f56
+"\x00\x1f\x51\x00\x03\x42", 0x1f57
+"\x00\x03\xa5\x00\x03\x14", 0x1f59
+"\x00\x1f\x59\x00\x03\x00", 0x1f5b
+"\x00\x1f\x59\x00\x03\x01", 0x1f5d
+"\x00\x1f\x59\x00\x03\x42", 0x1f5f
+"\x00\x03\xc9\x00\x03\x13", 0x1f60
+"\x00\x03\xc9\x00\x03\x14", 0x1f61
+"\x00\x1f\x60\x00\x03\x00", 0x1f62
+"\x00\x1f\x61\x00\x03\x00", 0x1f63
+"\x00\x1f\x60\x00\x03\x01", 0x1f64
+"\x00\x1f\x61\x00\x03\x01", 0x1f65
+"\x00\x1f\x60\x00\x03\x42", 0x1f66
+"\x00\x1f\x61\x00\x03\x42", 0x1f67
+"\x00\x03\xa9\x00\x03\x13", 0x1f68
+"\x00\x03\xa9\x00\x03\x14", 0x1f69
+"\x00\x1f\x68\x00\x03\x00", 0x1f6a
+"\x00\x1f\x69\x00\x03\x00", 0x1f6b
+"\x00\x1f\x68\x00\x03\x01", 0x1f6c
+"\x00\x1f\x69\x00\x03\x01", 0x1f6d
+"\x00\x1f\x68\x00\x03\x42", 0x1f6e
+"\x00\x1f\x69\x00\x03\x42", 0x1f6f
+"\x00\x03\xb1\x00\x03\x00", 0x1f70
+"\x00\x03\xb5\x00\x03\x00", 0x1f72
+"\x00\x03\xb7\x00\x03\x00", 0x1f74
+"\x00\x03\xb9\x00\x03\x00", 0x1f76
+"\x00\x03\xbf\x00\x03\x00", 0x1f78
+"\x00\x03\xc5\x00\x03\x00", 0x1f7a
+"\x00\x03\xc9\x00\x03\x00", 0x1f7c
+"\x00\x1f\x00\x00\x03\x45", 0x1f80
+"\x00\x1f\x01\x00\x03\x45", 0x1f81
+"\x00\x1f\x02\x00\x03\x45", 0x1f82
+"\x00\x1f\x03\x00\x03\x45", 0x1f83
+"\x00\x1f\x04\x00\x03\x45", 0x1f84
+"\x00\x1f\x05\x00\x03\x45", 0x1f85
+"\x00\x1f\x06\x00\x03\x45", 0x1f86
+"\x00\x1f\x07\x00\x03\x45", 0x1f87
+"\x00\x1f\x08\x00\x03\x45", 0x1f88
+"\x00\x1f\x09\x00\x03\x45", 0x1f89
+"\x00\x1f\x0a\x00\x03\x45", 0x1f8a
+"\x00\x1f\x0b\x00\x03\x45", 0x1f8b
+"\x00\x1f\x0c\x00\x03\x45", 0x1f8c
+"\x00\x1f\x0d\x00\x03\x45", 0x1f8d
+"\x00\x1f\x0e\x00\x03\x45", 0x1f8e
+"\x00\x1f\x0f\x00\x03\x45", 0x1f8f
+"\x00\x1f\x20\x00\x03\x45", 0x1f90
+"\x00\x1f\x21\x00\x03\x45", 0x1f91
+"\x00\x1f\x22\x00\x03\x45", 0x1f92
+"\x00\x1f\x23\x00\x03\x45", 0x1f93
+"\x00\x1f\x24\x00\x03\x45", 0x1f94
+"\x00\x1f\x25\x00\x03\x45", 0x1f95
+"\x00\x1f\x26\x00\x03\x45", 0x1f96
+"\x00\x1f\x27\x00\x03\x45", 0x1f97
+"\x00\x1f\x28\x00\x03\x45", 0x1f98
+"\x00\x1f\x29\x00\x03\x45", 0x1f99
+"\x00\x1f\x2a\x00\x03\x45", 0x1f9a
+"\x00\x1f\x2b\x00\x03\x45", 0x1f9b
+"\x00\x1f\x2c\x00\x03\x45", 0x1f9c
+"\x00\x1f\x2d\x00\x03\x45", 0x1f9d
+"\x00\x1f\x2e\x00\x03\x45", 0x1f9e
+"\x00\x1f\x2f\x00\x03\x45", 0x1f9f
+"\x00\x1f\x60\x00\x03\x45", 0x1fa0
+"\x00\x1f\x61\x00\x03\x45", 0x1fa1
+"\x00\x1f\x62\x00\x03\x45", 0x1fa2
+"\x00\x1f\x63\x00\x03\x45", 0x1fa3
+"\x00\x1f\x64\x00\x03\x45", 0x1fa4
+"\x00\x1f\x65\x00\x03\x45", 0x1fa5
+"\x00\x1f\x66\x00\x03\x45", 0x1fa6
+"\x00\x1f\x67\x00\x03\x45", 0x1fa7
+"\x00\x1f\x68\x00\x03\x45", 0x1fa8
+"\x00\x1f\x69\x00\x03\x45", 0x1fa9
+"\x00\x1f\x6a\x00\x03\x45", 0x1faa
+"\x00\x1f\x6b\x00\x03\x45", 0x1fab
+"\x00\x1f\x6c\x00\x03\x45", 0x1fac
+"\x00\x1f\x6d\x00\x03\x45", 0x1fad
+"\x00\x1f\x6e\x00\x03\x45", 0x1fae
+"\x00\x1f\x6f\x00\x03\x45", 0x1faf
+"\x00\x03\xb1\x00\x03\x06", 0x1fb0
+"\x00\x03\xb1\x00\x03\x04", 0x1fb1
+"\x00\x1f\x70\x00\x03\x45", 0x1fb2
+"\x00\x03\xb1\x00\x03\x45", 0x1fb3
+"\x00\x03\xac\x00\x03\x45", 0x1fb4
+"\x00\x03\xb1\x00\x03\x42", 0x1fb6
+"\x00\x1f\xb6\x00\x03\x45", 0x1fb7
+"\x00\x03\x91\x00\x03\x06", 0x1fb8
+"\x00\x03\x91\x00\x03\x04", 0x1fb9
+"\x00\x03\x91\x00\x03\x00", 0x1fba
+"\x00\x03\x91\x00\x03\x45", 0x1fbc
+"\x00\x00\xa8\x00\x03\x42", 0x1fc1
+"\x00\x1f\x74\x00\x03\x45", 0x1fc2
+"\x00\x03\xb7\x00\x03\x45", 0x1fc3
+"\x00\x03\xae\x00\x03\x45", 0x1fc4
+"\x00\x03\xb7\x00\x03\x42", 0x1fc6
+"\x00\x1f\xc6\x00\x03\x45", 0x1fc7
+"\x00\x03\x95\x00\x03\x00", 0x1fc8
+"\x00\x03\x97\x00\x03\x00", 0x1fca
+"\x00\x03\x97\x00\x03\x45", 0x1fcc
+"\x00\x1f\xbf\x00\x03\x00", 0x1fcd
+"\x00\x1f\xbf\x00\x03\x01", 0x1fce
+"\x00\x1f\xbf\x00\x03\x42", 0x1fcf
+"\x00\x03\xb9\x00\x03\x06", 0x1fd0
+"\x00\x03\xb9\x00\x03\x04", 0x1fd1
+"\x00\x03\xca\x00\x03\x00", 0x1fd2
+"\x00\x03\xb9\x00\x03\x42", 0x1fd6
+"\x00\x03\xca\x00\x03\x42", 0x1fd7
+"\x00\x03\x99\x00\x03\x06", 0x1fd8
+"\x00\x03\x99\x00\x03\x04", 0x1fd9
+"\x00\x03\x99\x00\x03\x00", 0x1fda
+"\x00\x1f\xfe\x00\x03\x00", 0x1fdd
+"\x00\x1f\xfe\x00\x03\x01", 0x1fde
+"\x00\x1f\xfe\x00\x03\x42", 0x1fdf
+"\x00\x03\xc5\x00\x03\x06", 0x1fe0
+"\x00\x03\xc5\x00\x03\x04", 0x1fe1
+"\x00\x03\xcb\x00\x03\x00", 0x1fe2
+"\x00\x03\xc1\x00\x03\x13", 0x1fe4
+"\x00\x03\xc1\x00\x03\x14", 0x1fe5
+"\x00\x03\xc5\x00\x03\x42", 0x1fe6
+"\x00\x03\xcb\x00\x03\x42", 0x1fe7
+"\x00\x03\xa5\x00\x03\x06", 0x1fe8
+"\x00\x03\xa5\x00\x03\x04", 0x1fe9
+"\x00\x03\xa5\x00\x03\x00", 0x1fea
+"\x00\x03\xa1\x00\x03\x14", 0x1fec
+"\x00\x00\xa8\x00\x03\x00", 0x1fed
+"\x00\x1f\x7c\x00\x03\x45", 0x1ff2
+"\x00\x03\xc9\x00\x03\x45", 0x1ff3
+"\x00\x03\xce\x00\x03\x45", 0x1ff4
+"\x00\x03\xc9\x00\x03\x42", 0x1ff6
+"\x00\x1f\xf6\x00\x03\x45", 0x1ff7
+"\x00\x03\x9f\x00\x03\x00", 0x1ff8
+"\x00\x03\xa9\x00\x03\x00", 0x1ffa
+"\x00\x03\xa9\x00\x03\x45", 0x1ffc
+"\x00\x21\x90\x00\x03\x38", 0x219a
+"\x00\x21\x92\x00\x03\x38", 0x219b
+"\x00\x21\x94\x00\x03\x38", 0x21ae
+"\x00\x21\xd0\x00\x03\x38", 0x21cd
+"\x00\x21\xd4\x00\x03\x38", 0x21ce
+"\x00\x21\xd2\x00\x03\x38", 0x21cf
+"\x00\x22\x03\x00\x03\x38", 0x2204
+"\x00\x22\x08\x00\x03\x38", 0x2209
+"\x00\x22\x0b\x00\x03\x38", 0x220c
+"\x00\x22\x23\x00\x03\x38", 0x2224
+"\x00\x22\x25\x00\x03\x38", 0x2226
+"\x00\x22\x3c\x00\x03\x38", 0x2241
+"\x00\x22\x43\x00\x03\x38", 0x2244
+"\x00\x22\x45\x00\x03\x38", 0x2247
+"\x00\x22\x48\x00\x03\x38", 0x2249
+"\x00\x00\x3d\x00\x03\x38", 0x2260
+"\x00\x22\x61\x00\x03\x38", 0x2262
+"\x00\x22\x4d\x00\x03\x38", 0x226d
+"\x00\x00\x3c\x00\x03\x38", 0x226e
+"\x00\x00\x3e\x00\x03\x38", 0x226f
+"\x00\x22\x64\x00\x03\x38", 0x2270
+"\x00\x22\x65\x00\x03\x38", 0x2271
+"\x00\x22\x72\x00\x03\x38", 0x2274
+"\x00\x22\x73\x00\x03\x38", 0x2275
+"\x00\x22\x76\x00\x03\x38", 0x2278
+"\x00\x22\x77\x00\x03\x38", 0x2279
+"\x00\x22\x7a\x00\x03\x38", 0x2280
+"\x00\x22\x7b\x00\x03\x38", 0x2281
+"\x00\x22\x82\x00\x03\x38", 0x2284
+"\x00\x22\x83\x00\x03\x38", 0x2285
+"\x00\x22\x86\x00\x03\x38", 0x2288
+"\x00\x22\x87\x00\x03\x38", 0x2289
+"\x00\x22\xa2\x00\x03\x38", 0x22ac
+"\x00\x22\xa8\x00\x03\x38", 0x22ad
+"\x00\x22\xa9\x00\x03\x38", 0x22ae
+"\x00\x22\xab\x00\x03\x38", 0x22af
+"\x00\x22\x7c\x00\x03\x38", 0x22e0
+"\x00\x22\x7d\x00\x03\x38", 0x22e1
+"\x00\x22\x91\x00\x03\x38", 0x22e2
+"\x00\x22\x92\x00\x03\x38", 0x22e3
+"\x00\x22\xb2\x00\x03\x38", 0x22ea
+"\x00\x22\xb3\x00\x03\x38", 0x22eb
+"\x00\x22\xb4\x00\x03\x38", 0x22ec
+"\x00\x22\xb5\x00\x03\x38", 0x22ed
+"\x00\x30\x4b\x00\x30\x99", 0x304c
+"\x00\x30\x4d\x00\x30\x99", 0x304e
+"\x00\x30\x4f\x00\x30\x99", 0x3050
+"\x00\x30\x51\x00\x30\x99", 0x3052
+"\x00\x30\x53\x00\x30\x99", 0x3054
+"\x00\x30\x55\x00\x30\x99", 0x3056
+"\x00\x30\x57\x00\x30\x99", 0x3058
+"\x00\x30\x59\x00\x30\x99", 0x305a
+"\x00\x30\x5b\x00\x30\x99", 0x305c
+"\x00\x30\x5d\x00\x30\x99", 0x305e
+"\x00\x30\x5f\x00\x30\x99", 0x3060
+"\x00\x30\x61\x00\x30\x99", 0x3062
+"\x00\x30\x64\x00\x30\x99", 0x3065
+"\x00\x30\x66\x00\x30\x99", 0x3067
+"\x00\x30\x68\x00\x30\x99", 0x3069
+"\x00\x30\x6f\x00\x30\x99", 0x3070
+"\x00\x30\x6f\x00\x30\x9a", 0x3071
+"\x00\x30\x72\x00\x30\x99", 0x3073
+"\x00\x30\x72\x00\x30\x9a", 0x3074
+"\x00\x30\x75\x00\x30\x99", 0x3076
+"\x00\x30\x75\x00\x30\x9a", 0x3077
+"\x00\x30\x78\x00\x30\x99", 0x3079
+"\x00\x30\x78\x00\x30\x9a", 0x307a
+"\x00\x30\x7b\x00\x30\x99", 0x307c
+"\x00\x30\x7b\x00\x30\x9a", 0x307d
+"\x00\x30\x46\x00\x30\x99", 0x3094
+"\x00\x30\x9d\x00\x30\x99", 0x309e
+"\x00\x30\xab\x00\x30\x99", 0x30ac
+"\x00\x30\xad\x00\x30\x99", 0x30ae
+"\x00\x30\xaf\x00\x30\x99", 0x30b0
+"\x00\x30\xb1\x00\x30\x99", 0x30b2
+"\x00\x30\xb3\x00\x30\x99", 0x30b4
+"\x00\x30\xb5\x00\x30\x99", 0x30b6
+"\x00\x30\xb7\x00\x30\x99", 0x30b8
+"\x00\x30\xb9\x00\x30\x99", 0x30ba
+"\x00\x30\xbb\x00\x30\x99", 0x30bc
+"\x00\x30\xbd\x00\x30\x99", 0x30be
+"\x00\x30\xbf\x00\x30\x99", 0x30c0
+"\x00\x30\xc1\x00\x30\x99", 0x30c2
+"\x00\x30\xc4\x00\x30\x99", 0x30c5
+"\x00\x30\xc6\x00\x30\x99", 0x30c7
+"\x00\x30\xc8\x00\x30\x99", 0x30c9
+"\x00\x30\xcf\x00\x30\x99", 0x30d0
+"\x00\x30\xcf\x00\x30\x9a", 0x30d1
+"\x00\x30\xd2\x00\x30\x99", 0x30d3
+"\x00\x30\xd2\x00\x30\x9a", 0x30d4
+"\x00\x30\xd5\x00\x30\x99", 0x30d6
+"\x00\x30\xd5\x00\x30\x9a", 0x30d7
+"\x00\x30\xd8\x00\x30\x99", 0x30d9
+"\x00\x30\xd8\x00\x30\x9a", 0x30da
+"\x00\x30\xdb\x00\x30\x99", 0x30dc
+"\x00\x30\xdb\x00\x30\x9a", 0x30dd
+"\x00\x30\xa6\x00\x30\x99", 0x30f4
+"\x00\x30\xef\x00\x30\x99", 0x30f7
+"\x00\x30\xf0\x00\x30\x99", 0x30f8
+"\x00\x30\xf1\x00\x30\x99", 0x30f9
+"\x00\x30\xf2\x00\x30\x99", 0x30fa
+"\x00\x30\xfd\x00\x30\x99", 0x30fe
+"\x01\x10\x99\x01\x10\xba", 0x1109a
+"\x01\x10\x9b\x01\x10\xba", 0x1109c
+"\x01\x10\xa5\x01\x10\xba", 0x110ab
--- a/lib/uninorm/composition.c
+++ b/lib/uninorm/composition.c
@@ -1,5 +1,5 @@
 /* Canonical composition of Unicode characters.
-   Copyright (C) 2002, 2006, 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 2002, 2006, 2009, 2011 Free Software Foundation, Inc.
    Written by Bruno Haible <bruno@clisp.org>, 2009.
 
    This program is free software: you can redistribute it and/or modify it
@@ -22,14 +22,14 @@
 
 #include <string.h>
 
-struct composition_rule { char codes[4]; unsigned short combined; };
+struct composition_rule { char codes[6]; unsigned int combined; };
 
 #include "composition-table.h"
 
 ucs4_t
 uc_composition (ucs4_t uc1, ucs4_t uc2)
 {
-  if (uc1 < 0x10000 && uc2 < 0x10000)
+  if (uc1 < 0x12000 && uc2 < 0x12000)
     {
       if (uc2 >= 0x1161 && uc2 < 0x1161 + 21
           && uc1 >= 0x1100 && uc1 < 0x1100 + 19)
@@ -67,15 +67,17 @@
                 }
             }
 #else
-          char codes[4];
+          char codes[6];
           const struct composition_rule *rule;
 
-          codes[0] = (uc1 >> 8) & 0xff;
-          codes[1] = uc1 & 0xff;
-          codes[2] = (uc2 >> 8) & 0xff;
-          codes[3] = uc2 & 0xff;
+          codes[0] = (uc1 >> 16) & 0xff;
+          codes[1] = (uc1 >> 8) & 0xff;
+          codes[2] = uc1 & 0xff;
+          codes[3] = (uc2 >> 16) & 0xff;
+          codes[4] = (uc2 >> 8) & 0xff;
+          codes[5] = uc2 & 0xff;
 
-          rule = gl_uninorm_compose_lookup (codes, 4);
+          rule = gl_uninorm_compose_lookup (codes, 6);
           if (rule != NULL)
             return rule->combined;
 #endif
--- a/lib/uninorm/decomposition-table1.h
+++ b/lib/uninorm/decomposition-table1.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Decomposition of Unicode characters.  */
-/* Generated automatically by gen-uni-tables.c for Unicode 5.1.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 5.2.0.  */
 
 extern const unsigned char gl_uninorm_decomp_chars_table[];
 
@@ -13,8 +13,8 @@
 typedef struct
   {
     int level1[191];
-    int level2[18 << 5];
-    unsigned short level3[254 << 5];
+    int level2[20 << 5];
+    unsigned short level3[263 << 5];
   }
 decomp_index_table_t;
 extern const decomp_index_table_t gl_uninorm_decomp_index_table;
--- a/lib/uninorm/decomposition-table2.h
+++ b/lib/uninorm/decomposition-table2.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Decomposition of Unicode characters.  */
-/* Generated automatically by gen-uni-tables.c for Unicode 5.1.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 5.2.0.  */
 
 const unsigned char gl_uninorm_decomp_chars_table[] =
 {
@@ -539,630 +539,635 @@
   0x00, 0x00, 0x58, 0x04, 0x03, 0xC0, 0x04, 0x03, 0xB3, 0x04, 0x03, 0x93,
   0x04, 0x03, 0xA0, 0x04, 0x22, 0x11, 0x04, 0x00, 0x44, 0x04, 0x00, 0x64,
   0x04, 0x00, 0x65, 0x04, 0x00, 0x69, 0x04, 0x00, 0x6A, 0xBC, 0x00, 0x31,
-  0x80, 0x20, 0x44, 0x00, 0x00, 0x33, 0xBC, 0x00, 0x32, 0x80, 0x20, 0x44,
-  0x00, 0x00, 0x33, 0xBC, 0x00, 0x31, 0x80, 0x20, 0x44, 0x00, 0x00, 0x35,
-  0xBC, 0x00, 0x32, 0x80, 0x20, 0x44, 0x00, 0x00, 0x35, 0xBC, 0x00, 0x33,
-  0x80, 0x20, 0x44, 0x00, 0x00, 0x35, 0xBC, 0x00, 0x34, 0x80, 0x20, 0x44,
-  0x00, 0x00, 0x35, 0xBC, 0x00, 0x31, 0x80, 0x20, 0x44, 0x00, 0x00, 0x36,
-  0xBC, 0x00, 0x35, 0x80, 0x20, 0x44, 0x00, 0x00, 0x36, 0xBC, 0x00, 0x31,
-  0x80, 0x20, 0x44, 0x00, 0x00, 0x38, 0xBC, 0x00, 0x33, 0x80, 0x20, 0x44,
-  0x00, 0x00, 0x38, 0xBC, 0x00, 0x35, 0x80, 0x20, 0x44, 0x00, 0x00, 0x38,
-  0xBC, 0x00, 0x37, 0x80, 0x20, 0x44, 0x00, 0x00, 0x38, 0xBC, 0x00, 0x31,
-  0x00, 0x20, 0x44, 0x40, 0x00, 0x49, 0xC0, 0x00, 0x49, 0x00, 0x00, 0x49,
-  0xC0, 0x00, 0x49, 0x80, 0x00, 0x49, 0x00, 0x00, 0x49, 0xC0, 0x00, 0x49,
-  0x00, 0x00, 0x56, 0x40, 0x00, 0x56, 0xC0, 0x00, 0x56, 0x00, 0x00, 0x49,
-  0xC0, 0x00, 0x56, 0x80, 0x00, 0x49, 0x00, 0x00, 0x49, 0xC0, 0x00, 0x56,
-  0x80, 0x00, 0x49, 0x80, 0x00, 0x49, 0x00, 0x00, 0x49, 0xC0, 0x00, 0x49,
-  0x00, 0x00, 0x58, 0x40, 0x00, 0x58, 0xC0, 0x00, 0x58, 0x00, 0x00, 0x49,
-  0xC0, 0x00, 0x58, 0x80, 0x00, 0x49, 0x00, 0x00, 0x49, 0x40, 0x00, 0x4C,
-  0x40, 0x00, 0x43, 0x40, 0x00, 0x44, 0x40, 0x00, 0x4D, 0x40, 0x00, 0x69,
-  0xC0, 0x00, 0x69, 0x00, 0x00, 0x69, 0xC0, 0x00, 0x69, 0x80, 0x00, 0x69,
-  0x00, 0x00, 0x69, 0xC0, 0x00, 0x69, 0x00, 0x00, 0x76, 0x40, 0x00, 0x76,
-  0xC0, 0x00, 0x76, 0x00, 0x00, 0x69, 0xC0, 0x00, 0x76, 0x80, 0x00, 0x69,
-  0x00, 0x00, 0x69, 0xC0, 0x00, 0x76, 0x80, 0x00, 0x69, 0x80, 0x00, 0x69,
-  0x00, 0x00, 0x69, 0xC0, 0x00, 0x69, 0x00, 0x00, 0x78, 0x40, 0x00, 0x78,
-  0xC0, 0x00, 0x78, 0x00, 0x00, 0x69, 0xC0, 0x00, 0x78, 0x80, 0x00, 0x69,
-  0x00, 0x00, 0x69, 0x40, 0x00, 0x6C, 0x40, 0x00, 0x63, 0x40, 0x00, 0x64,
-  0x40, 0x00, 0x6D, 0x80, 0x21, 0x90, 0x00, 0x03, 0x38, 0x80, 0x21, 0x92,
-  0x00, 0x03, 0x38, 0x80, 0x21, 0x94, 0x00, 0x03, 0x38, 0x80, 0x21, 0xD0,
-  0x00, 0x03, 0x38, 0x80, 0x21, 0xD4, 0x00, 0x03, 0x38, 0x80, 0x21, 0xD2,
-  0x00, 0x03, 0x38, 0x80, 0x22, 0x03, 0x00, 0x03, 0x38, 0x80, 0x22, 0x08,
-  0x00, 0x03, 0x38, 0x80, 0x22, 0x0B, 0x00, 0x03, 0x38, 0x80, 0x22, 0x23,
-  0x00, 0x03, 0x38, 0x80, 0x22, 0x25, 0x00, 0x03, 0x38, 0xC0, 0x22, 0x2B,
-  0x00, 0x22, 0x2B, 0xC0, 0x22, 0x2B, 0x80, 0x22, 0x2B, 0x00, 0x22, 0x2B,
-  0xC0, 0x22, 0x2E, 0x00, 0x22, 0x2E, 0xC0, 0x22, 0x2E, 0x80, 0x22, 0x2E,
-  0x00, 0x22, 0x2E, 0x80, 0x22, 0x3C, 0x00, 0x03, 0x38, 0x80, 0x22, 0x43,
-  0x00, 0x03, 0x38, 0x80, 0x22, 0x45, 0x00, 0x03, 0x38, 0x80, 0x22, 0x48,
-  0x00, 0x03, 0x38, 0x80, 0x00, 0x3D, 0x00, 0x03, 0x38, 0x80, 0x22, 0x61,
-  0x00, 0x03, 0x38, 0x80, 0x22, 0x4D, 0x00, 0x03, 0x38, 0x80, 0x00, 0x3C,
-  0x00, 0x03, 0x38, 0x80, 0x00, 0x3E, 0x00, 0x03, 0x38, 0x80, 0x22, 0x64,
-  0x00, 0x03, 0x38, 0x80, 0x22, 0x65, 0x00, 0x03, 0x38, 0x80, 0x22, 0x72,
-  0x00, 0x03, 0x38, 0x80, 0x22, 0x73, 0x00, 0x03, 0x38, 0x80, 0x22, 0x76,
-  0x00, 0x03, 0x38, 0x80, 0x22, 0x77, 0x00, 0x03, 0x38, 0x80, 0x22, 0x7A,
-  0x00, 0x03, 0x38, 0x80, 0x22, 0x7B, 0x00, 0x03, 0x38, 0x80, 0x22, 0x82,
-  0x00, 0x03, 0x38, 0x80, 0x22, 0x83, 0x00, 0x03, 0x38, 0x80, 0x22, 0x86,
-  0x00, 0x03, 0x38, 0x80, 0x22, 0x87, 0x00, 0x03, 0x38, 0x80, 0x22, 0xA2,
-  0x00, 0x03, 0x38, 0x80, 0x22, 0xA8, 0x00, 0x03, 0x38, 0x80, 0x22, 0xA9,
-  0x00, 0x03, 0x38, 0x80, 0x22, 0xAB, 0x00, 0x03, 0x38, 0x80, 0x22, 0x7C,
-  0x00, 0x03, 0x38, 0x80, 0x22, 0x7D, 0x00, 0x03, 0x38, 0x80, 0x22, 0x91,
-  0x00, 0x03, 0x38, 0x80, 0x22, 0x92, 0x00, 0x03, 0x38, 0x80, 0x22, 0xB2,
-  0x00, 0x03, 0x38, 0x80, 0x22, 0xB3, 0x00, 0x03, 0x38, 0x80, 0x22, 0xB4,
-  0x00, 0x03, 0x38, 0x80, 0x22, 0xB5, 0x00, 0x03, 0x38, 0x00, 0x30, 0x08,
-  0x00, 0x30, 0x09, 0x1C, 0x00, 0x31, 0x1C, 0x00, 0x32, 0x1C, 0x00, 0x33,
-  0x1C, 0x00, 0x34, 0x1C, 0x00, 0x35, 0x1C, 0x00, 0x36, 0x1C, 0x00, 0x37,
-  0x1C, 0x00, 0x38, 0x1C, 0x00, 0x39, 0x9C, 0x00, 0x31, 0x00, 0x00, 0x30,
-  0x9C, 0x00, 0x31, 0x00, 0x00, 0x31, 0x9C, 0x00, 0x31, 0x00, 0x00, 0x32,
-  0x9C, 0x00, 0x31, 0x00, 0x00, 0x33, 0x9C, 0x00, 0x31, 0x00, 0x00, 0x34,
-  0x9C, 0x00, 0x31, 0x00, 0x00, 0x35, 0x9C, 0x00, 0x31, 0x00, 0x00, 0x36,
-  0x9C, 0x00, 0x31, 0x00, 0x00, 0x37, 0x9C, 0x00, 0x31, 0x00, 0x00, 0x38,
-  0x9C, 0x00, 0x31, 0x00, 0x00, 0x39, 0x9C, 0x00, 0x32, 0x00, 0x00, 0x30,
-  0xC0, 0x00, 0x28, 0x80, 0x00, 0x31, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28,
-  0x80, 0x00, 0x32, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x00, 0x33,
-  0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x00, 0x34, 0x00, 0x00, 0x29,
-  0xC0, 0x00, 0x28, 0x80, 0x00, 0x35, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28,
-  0x80, 0x00, 0x36, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x00, 0x37,
-  0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x00, 0x38, 0x00, 0x00, 0x29,
-  0xC0, 0x00, 0x28, 0x80, 0x00, 0x39, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28,
-  0x80, 0x00, 0x31, 0x80, 0x00, 0x30, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28,
-  0x80, 0x00, 0x31, 0x80, 0x00, 0x31, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28,
-  0x80, 0x00, 0x31, 0x80, 0x00, 0x32, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28,
-  0x80, 0x00, 0x31, 0x80, 0x00, 0x33, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28,
-  0x80, 0x00, 0x31, 0x80, 0x00, 0x34, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28,
-  0x80, 0x00, 0x31, 0x80, 0x00, 0x35, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28,
-  0x80, 0x00, 0x31, 0x80, 0x00, 0x36, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28,
-  0x80, 0x00, 0x31, 0x80, 0x00, 0x37, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28,
-  0x80, 0x00, 0x31, 0x80, 0x00, 0x38, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28,
-  0x80, 0x00, 0x31, 0x80, 0x00, 0x39, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28,
-  0x80, 0x00, 0x32, 0x80, 0x00, 0x30, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x31,
-  0x00, 0x00, 0x2E, 0xC0, 0x00, 0x32, 0x00, 0x00, 0x2E, 0xC0, 0x00, 0x33,
-  0x00, 0x00, 0x2E, 0xC0, 0x00, 0x34, 0x00, 0x00, 0x2E, 0xC0, 0x00, 0x35,
-  0x00, 0x00, 0x2E, 0xC0, 0x00, 0x36, 0x00, 0x00, 0x2E, 0xC0, 0x00, 0x37,
-  0x00, 0x00, 0x2E, 0xC0, 0x00, 0x38, 0x00, 0x00, 0x2E, 0xC0, 0x00, 0x39,
-  0x00, 0x00, 0x2E, 0xC0, 0x00, 0x31, 0x80, 0x00, 0x30, 0x00, 0x00, 0x2E,
-  0xC0, 0x00, 0x31, 0x80, 0x00, 0x31, 0x00, 0x00, 0x2E, 0xC0, 0x00, 0x31,
-  0x80, 0x00, 0x32, 0x00, 0x00, 0x2E, 0xC0, 0x00, 0x31, 0x80, 0x00, 0x33,
-  0x00, 0x00, 0x2E, 0xC0, 0x00, 0x31, 0x80, 0x00, 0x34, 0x00, 0x00, 0x2E,
-  0xC0, 0x00, 0x31, 0x80, 0x00, 0x35, 0x00, 0x00, 0x2E, 0xC0, 0x00, 0x31,
-  0x80, 0x00, 0x36, 0x00, 0x00, 0x2E, 0xC0, 0x00, 0x31, 0x80, 0x00, 0x37,
-  0x00, 0x00, 0x2E, 0xC0, 0x00, 0x31, 0x80, 0x00, 0x38, 0x00, 0x00, 0x2E,
-  0xC0, 0x00, 0x31, 0x80, 0x00, 0x39, 0x00, 0x00, 0x2E, 0xC0, 0x00, 0x32,
-  0x80, 0x00, 0x30, 0x00, 0x00, 0x2E, 0xC0, 0x00, 0x28, 0x80, 0x00, 0x61,
-  0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x00, 0x62, 0x00, 0x00, 0x29,
-  0xC0, 0x00, 0x28, 0x80, 0x00, 0x63, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28,
-  0x80, 0x00, 0x64, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x00, 0x65,
-  0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x00, 0x66, 0x00, 0x00, 0x29,
-  0xC0, 0x00, 0x28, 0x80, 0x00, 0x67, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28,
-  0x80, 0x00, 0x68, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x00, 0x69,
-  0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x00, 0x6A, 0x00, 0x00, 0x29,
-  0xC0, 0x00, 0x28, 0x80, 0x00, 0x6B, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28,
-  0x80, 0x00, 0x6C, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x00, 0x6D,
-  0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x00, 0x6E, 0x00, 0x00, 0x29,
-  0xC0, 0x00, 0x28, 0x80, 0x00, 0x6F, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28,
-  0x80, 0x00, 0x70, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x00, 0x71,
-  0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x00, 0x72, 0x00, 0x00, 0x29,
-  0xC0, 0x00, 0x28, 0x80, 0x00, 0x73, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28,
-  0x80, 0x00, 0x74, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x00, 0x75,
-  0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x00, 0x76, 0x00, 0x00, 0x29,
-  0xC0, 0x00, 0x28, 0x80, 0x00, 0x77, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28,
-  0x80, 0x00, 0x78, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x00, 0x79,
-  0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x00, 0x7A, 0x00, 0x00, 0x29,
-  0x1C, 0x00, 0x41, 0x1C, 0x00, 0x42, 0x1C, 0x00, 0x43, 0x1C, 0x00, 0x44,
-  0x1C, 0x00, 0x45, 0x1C, 0x00, 0x46, 0x1C, 0x00, 0x47, 0x1C, 0x00, 0x48,
-  0x1C, 0x00, 0x49, 0x1C, 0x00, 0x4A, 0x1C, 0x00, 0x4B, 0x1C, 0x00, 0x4C,
-  0x1C, 0x00, 0x4D, 0x1C, 0x00, 0x4E, 0x1C, 0x00, 0x4F, 0x1C, 0x00, 0x50,
-  0x1C, 0x00, 0x51, 0x1C, 0x00, 0x52, 0x1C, 0x00, 0x53, 0x1C, 0x00, 0x54,
-  0x1C, 0x00, 0x55, 0x1C, 0x00, 0x56, 0x1C, 0x00, 0x57, 0x1C, 0x00, 0x58,
-  0x1C, 0x00, 0x59, 0x1C, 0x00, 0x5A, 0x1C, 0x00, 0x61, 0x1C, 0x00, 0x62,
-  0x1C, 0x00, 0x63, 0x1C, 0x00, 0x64, 0x1C, 0x00, 0x65, 0x1C, 0x00, 0x66,
-  0x1C, 0x00, 0x67, 0x1C, 0x00, 0x68, 0x1C, 0x00, 0x69, 0x1C, 0x00, 0x6A,
-  0x1C, 0x00, 0x6B, 0x1C, 0x00, 0x6C, 0x1C, 0x00, 0x6D, 0x1C, 0x00, 0x6E,
-  0x1C, 0x00, 0x6F, 0x1C, 0x00, 0x70, 0x1C, 0x00, 0x71, 0x1C, 0x00, 0x72,
-  0x1C, 0x00, 0x73, 0x1C, 0x00, 0x74, 0x1C, 0x00, 0x75, 0x1C, 0x00, 0x76,
-  0x1C, 0x00, 0x77, 0x1C, 0x00, 0x78, 0x1C, 0x00, 0x79, 0x1C, 0x00, 0x7A,
-  0x1C, 0x00, 0x30, 0xC0, 0x22, 0x2B, 0x80, 0x22, 0x2B, 0x80, 0x22, 0x2B,
-  0x00, 0x22, 0x2B, 0xC0, 0x00, 0x3A, 0x80, 0x00, 0x3A, 0x00, 0x00, 0x3D,
-  0xC0, 0x00, 0x3D, 0x00, 0x00, 0x3D, 0xC0, 0x00, 0x3D, 0x80, 0x00, 0x3D,
-  0x00, 0x00, 0x3D, 0x80, 0x2A, 0xDD, 0x00, 0x03, 0x38, 0x24, 0x00, 0x6A,
-  0x20, 0x00, 0x56, 0x20, 0x2D, 0x61, 0x40, 0x6B, 0xCD, 0x40, 0x9F, 0x9F,
-  0x40, 0x4E, 0x00, 0x40, 0x4E, 0x28, 0x40, 0x4E, 0x36, 0x40, 0x4E, 0x3F,
-  0x40, 0x4E, 0x59, 0x40, 0x4E, 0x85, 0x40, 0x4E, 0x8C, 0x40, 0x4E, 0xA0,
-  0x40, 0x4E, 0xBA, 0x40, 0x51, 0x3F, 0x40, 0x51, 0x65, 0x40, 0x51, 0x6B,
-  0x40, 0x51, 0x82, 0x40, 0x51, 0x96, 0x40, 0x51, 0xAB, 0x40, 0x51, 0xE0,
-  0x40, 0x51, 0xF5, 0x40, 0x52, 0x00, 0x40, 0x52, 0x9B, 0x40, 0x52, 0xF9,
-  0x40, 0x53, 0x15, 0x40, 0x53, 0x1A, 0x40, 0x53, 0x38, 0x40, 0x53, 0x41,
-  0x40, 0x53, 0x5C, 0x40, 0x53, 0x69, 0x40, 0x53, 0x82, 0x40, 0x53, 0xB6,
-  0x40, 0x53, 0xC8, 0x40, 0x53, 0xE3, 0x40, 0x56, 0xD7, 0x40, 0x57, 0x1F,
-  0x40, 0x58, 0xEB, 0x40, 0x59, 0x02, 0x40, 0x59, 0x0A, 0x40, 0x59, 0x15,
-  0x40, 0x59, 0x27, 0x40, 0x59, 0x73, 0x40, 0x5B, 0x50, 0x40, 0x5B, 0x80,
-  0x40, 0x5B, 0xF8, 0x40, 0x5C, 0x0F, 0x40, 0x5C, 0x22, 0x40, 0x5C, 0x38,
-  0x40, 0x5C, 0x6E, 0x40, 0x5C, 0x71, 0x40, 0x5D, 0xDB, 0x40, 0x5D, 0xE5,
-  0x40, 0x5D, 0xF1, 0x40, 0x5D, 0xFE, 0x40, 0x5E, 0x72, 0x40, 0x5E, 0x7A,
-  0x40, 0x5E, 0x7F, 0x40, 0x5E, 0xF4, 0x40, 0x5E, 0xFE, 0x40, 0x5F, 0x0B,
-  0x40, 0x5F, 0x13, 0x40, 0x5F, 0x50, 0x40, 0x5F, 0x61, 0x40, 0x5F, 0x73,
-  0x40, 0x5F, 0xC3, 0x40, 0x62, 0x08, 0x40, 0x62, 0x36, 0x40, 0x62, 0x4B,
-  0x40, 0x65, 0x2F, 0x40, 0x65, 0x34, 0x40, 0x65, 0x87, 0x40, 0x65, 0x97,
-  0x40, 0x65, 0xA4, 0x40, 0x65, 0xB9, 0x40, 0x65, 0xE0, 0x40, 0x65, 0xE5,
-  0x40, 0x66, 0xF0, 0x40, 0x67, 0x08, 0x40, 0x67, 0x28, 0x40, 0x6B, 0x20,
-  0x40, 0x6B, 0x62, 0x40, 0x6B, 0x79, 0x40, 0x6B, 0xB3, 0x40, 0x6B, 0xCB,
-  0x40, 0x6B, 0xD4, 0x40, 0x6B, 0xDB, 0x40, 0x6C, 0x0F, 0x40, 0x6C, 0x14,
-  0x40, 0x6C, 0x34, 0x40, 0x70, 0x6B, 0x40, 0x72, 0x2A, 0x40, 0x72, 0x36,
-  0x40, 0x72, 0x3B, 0x40, 0x72, 0x3F, 0x40, 0x72, 0x47, 0x40, 0x72, 0x59,
-  0x40, 0x72, 0x5B, 0x40, 0x72, 0xAC, 0x40, 0x73, 0x84, 0x40, 0x73, 0x89,
-  0x40, 0x74, 0xDC, 0x40, 0x74, 0xE6, 0x40, 0x75, 0x18, 0x40, 0x75, 0x1F,
-  0x40, 0x75, 0x28, 0x40, 0x75, 0x30, 0x40, 0x75, 0x8B, 0x40, 0x75, 0x92,
-  0x40, 0x76, 0x76, 0x40, 0x76, 0x7D, 0x40, 0x76, 0xAE, 0x40, 0x76, 0xBF,
-  0x40, 0x76, 0xEE, 0x40, 0x77, 0xDB, 0x40, 0x77, 0xE2, 0x40, 0x77, 0xF3,
-  0x40, 0x79, 0x3A, 0x40, 0x79, 0xB8, 0x40, 0x79, 0xBE, 0x40, 0x7A, 0x74,
-  0x40, 0x7A, 0xCB, 0x40, 0x7A, 0xF9, 0x40, 0x7C, 0x73, 0x40, 0x7C, 0xF8,
-  0x40, 0x7F, 0x36, 0x40, 0x7F, 0x51, 0x40, 0x7F, 0x8A, 0x40, 0x7F, 0xBD,
-  0x40, 0x80, 0x01, 0x40, 0x80, 0x0C, 0x40, 0x80, 0x12, 0x40, 0x80, 0x33,
-  0x40, 0x80, 0x7F, 0x40, 0x80, 0x89, 0x40, 0x81, 0xE3, 0x40, 0x81, 0xEA,
-  0x40, 0x81, 0xF3, 0x40, 0x81, 0xFC, 0x40, 0x82, 0x0C, 0x40, 0x82, 0x1B,
-  0x40, 0x82, 0x1F, 0x40, 0x82, 0x6E, 0x40, 0x82, 0x72, 0x40, 0x82, 0x78,
-  0x40, 0x86, 0x4D, 0x40, 0x86, 0x6B, 0x40, 0x88, 0x40, 0x40, 0x88, 0x4C,
-  0x40, 0x88, 0x63, 0x40, 0x89, 0x7E, 0x40, 0x89, 0x8B, 0x40, 0x89, 0xD2,
-  0x40, 0x8A, 0x00, 0x40, 0x8C, 0x37, 0x40, 0x8C, 0x46, 0x40, 0x8C, 0x55,
-  0x40, 0x8C, 0x78, 0x40, 0x8C, 0x9D, 0x40, 0x8D, 0x64, 0x40, 0x8D, 0x70,
-  0x40, 0x8D, 0xB3, 0x40, 0x8E, 0xAB, 0x40, 0x8E, 0xCA, 0x40, 0x8F, 0x9B,
-  0x40, 0x8F, 0xB0, 0x40, 0x8F, 0xB5, 0x40, 0x90, 0x91, 0x40, 0x91, 0x49,
-  0x40, 0x91, 0xC6, 0x40, 0x91, 0xCC, 0x40, 0x91, 0xD1, 0x40, 0x95, 0x77,
-  0x40, 0x95, 0x80, 0x40, 0x96, 0x1C, 0x40, 0x96, 0xB6, 0x40, 0x96, 0xB9,
-  0x40, 0x96, 0xE8, 0x40, 0x97, 0x51, 0x40, 0x97, 0x5E, 0x40, 0x97, 0x62,
-  0x40, 0x97, 0x69, 0x40, 0x97, 0xCB, 0x40, 0x97, 0xED, 0x40, 0x97, 0xF3,
-  0x40, 0x98, 0x01, 0x40, 0x98, 0xA8, 0x40, 0x98, 0xDB, 0x40, 0x98, 0xDF,
-  0x40, 0x99, 0x96, 0x40, 0x99, 0x99, 0x40, 0x99, 0xAC, 0x40, 0x9A, 0xA8,
-  0x40, 0x9A, 0xD8, 0x40, 0x9A, 0xDF, 0x40, 0x9B, 0x25, 0x40, 0x9B, 0x2F,
-  0x40, 0x9B, 0x32, 0x40, 0x9B, 0x3C, 0x40, 0x9B, 0x5A, 0x40, 0x9C, 0xE5,
-  0x40, 0x9E, 0x75, 0x40, 0x9E, 0x7F, 0x40, 0x9E, 0xA5, 0x40, 0x9E, 0xBB,
-  0x40, 0x9E, 0xC3, 0x40, 0x9E, 0xCD, 0x40, 0x9E, 0xD1, 0x40, 0x9E, 0xF9,
-  0x40, 0x9E, 0xFD, 0x40, 0x9F, 0x0E, 0x40, 0x9F, 0x13, 0x40, 0x9F, 0x20,
-  0x40, 0x9F, 0x3B, 0x40, 0x9F, 0x4A, 0x40, 0x9F, 0x52, 0x40, 0x9F, 0x8D,
-  0x40, 0x9F, 0x9C, 0x40, 0x9F, 0xA0, 0x2C, 0x00, 0x20, 0x40, 0x30, 0x12,
-  0x40, 0x53, 0x41, 0x40, 0x53, 0x44, 0x40, 0x53, 0x45, 0x80, 0x30, 0x4B,
-  0x00, 0x30, 0x99, 0x80, 0x30, 0x4D, 0x00, 0x30, 0x99, 0x80, 0x30, 0x4F,
-  0x00, 0x30, 0x99, 0x80, 0x30, 0x51, 0x00, 0x30, 0x99, 0x80, 0x30, 0x53,
-  0x00, 0x30, 0x99, 0x80, 0x30, 0x55, 0x00, 0x30, 0x99, 0x80, 0x30, 0x57,
-  0x00, 0x30, 0x99, 0x80, 0x30, 0x59, 0x00, 0x30, 0x99, 0x80, 0x30, 0x5B,
-  0x00, 0x30, 0x99, 0x80, 0x30, 0x5D, 0x00, 0x30, 0x99, 0x80, 0x30, 0x5F,
-  0x00, 0x30, 0x99, 0x80, 0x30, 0x61, 0x00, 0x30, 0x99, 0x80, 0x30, 0x64,
-  0x00, 0x30, 0x99, 0x80, 0x30, 0x66, 0x00, 0x30, 0x99, 0x80, 0x30, 0x68,
-  0x00, 0x30, 0x99, 0x80, 0x30, 0x6F, 0x00, 0x30, 0x99, 0x80, 0x30, 0x6F,
-  0x00, 0x30, 0x9A, 0x80, 0x30, 0x72, 0x00, 0x30, 0x99, 0x80, 0x30, 0x72,
-  0x00, 0x30, 0x9A, 0x80, 0x30, 0x75, 0x00, 0x30, 0x99, 0x80, 0x30, 0x75,
-  0x00, 0x30, 0x9A, 0x80, 0x30, 0x78, 0x00, 0x30, 0x99, 0x80, 0x30, 0x78,
-  0x00, 0x30, 0x9A, 0x80, 0x30, 0x7B, 0x00, 0x30, 0x99, 0x80, 0x30, 0x7B,
-  0x00, 0x30, 0x9A, 0x80, 0x30, 0x46, 0x00, 0x30, 0x99, 0xC0, 0x00, 0x20,
-  0x00, 0x30, 0x99, 0xC0, 0x00, 0x20, 0x00, 0x30, 0x9A, 0x80, 0x30, 0x9D,
-  0x00, 0x30, 0x99, 0xA8, 0x30, 0x88, 0x00, 0x30, 0x8A, 0x80, 0x30, 0xAB,
-  0x00, 0x30, 0x99, 0x80, 0x30, 0xAD, 0x00, 0x30, 0x99, 0x80, 0x30, 0xAF,
-  0x00, 0x30, 0x99, 0x80, 0x30, 0xB1, 0x00, 0x30, 0x99, 0x80, 0x30, 0xB3,
-  0x00, 0x30, 0x99, 0x80, 0x30, 0xB5, 0x00, 0x30, 0x99, 0x80, 0x30, 0xB7,
-  0x00, 0x30, 0x99, 0x80, 0x30, 0xB9, 0x00, 0x30, 0x99, 0x80, 0x30, 0xBB,
-  0x00, 0x30, 0x99, 0x80, 0x30, 0xBD, 0x00, 0x30, 0x99, 0x80, 0x30, 0xBF,
-  0x00, 0x30, 0x99, 0x80, 0x30, 0xC1, 0x00, 0x30, 0x99, 0x80, 0x30, 0xC4,
-  0x00, 0x30, 0x99, 0x80, 0x30, 0xC6, 0x00, 0x30, 0x99, 0x80, 0x30, 0xC8,
-  0x00, 0x30, 0x99, 0x80, 0x30, 0xCF, 0x00, 0x30, 0x99, 0x80, 0x30, 0xCF,
-  0x00, 0x30, 0x9A, 0x80, 0x30, 0xD2, 0x00, 0x30, 0x99, 0x80, 0x30, 0xD2,
-  0x00, 0x30, 0x9A, 0x80, 0x30, 0xD5, 0x00, 0x30, 0x99, 0x80, 0x30, 0xD5,
-  0x00, 0x30, 0x9A, 0x80, 0x30, 0xD8, 0x00, 0x30, 0x99, 0x80, 0x30, 0xD8,
-  0x00, 0x30, 0x9A, 0x80, 0x30, 0xDB, 0x00, 0x30, 0x99, 0x80, 0x30, 0xDB,
-  0x00, 0x30, 0x9A, 0x80, 0x30, 0xA6, 0x00, 0x30, 0x99, 0x80, 0x30, 0xEF,
-  0x00, 0x30, 0x99, 0x80, 0x30, 0xF0, 0x00, 0x30, 0x99, 0x80, 0x30, 0xF1,
-  0x00, 0x30, 0x99, 0x80, 0x30, 0xF2, 0x00, 0x30, 0x99, 0x80, 0x30, 0xFD,
-  0x00, 0x30, 0x99, 0xA8, 0x30, 0xB3, 0x00, 0x30, 0xC8, 0x40, 0x11, 0x00,
-  0x40, 0x11, 0x01, 0x40, 0x11, 0xAA, 0x40, 0x11, 0x02, 0x40, 0x11, 0xAC,
-  0x40, 0x11, 0xAD, 0x40, 0x11, 0x03, 0x40, 0x11, 0x04, 0x40, 0x11, 0x05,
-  0x40, 0x11, 0xB0, 0x40, 0x11, 0xB1, 0x40, 0x11, 0xB2, 0x40, 0x11, 0xB3,
-  0x40, 0x11, 0xB4, 0x40, 0x11, 0xB5, 0x40, 0x11, 0x1A, 0x40, 0x11, 0x06,
-  0x40, 0x11, 0x07, 0x40, 0x11, 0x08, 0x40, 0x11, 0x21, 0x40, 0x11, 0x09,
-  0x40, 0x11, 0x0A, 0x40, 0x11, 0x0B, 0x40, 0x11, 0x0C, 0x40, 0x11, 0x0D,
-  0x40, 0x11, 0x0E, 0x40, 0x11, 0x0F, 0x40, 0x11, 0x10, 0x40, 0x11, 0x11,
-  0x40, 0x11, 0x12, 0x40, 0x11, 0x61, 0x40, 0x11, 0x62, 0x40, 0x11, 0x63,
-  0x40, 0x11, 0x64, 0x40, 0x11, 0x65, 0x40, 0x11, 0x66, 0x40, 0x11, 0x67,
-  0x40, 0x11, 0x68, 0x40, 0x11, 0x69, 0x40, 0x11, 0x6A, 0x40, 0x11, 0x6B,
-  0x40, 0x11, 0x6C, 0x40, 0x11, 0x6D, 0x40, 0x11, 0x6E, 0x40, 0x11, 0x6F,
-  0x40, 0x11, 0x70, 0x40, 0x11, 0x71, 0x40, 0x11, 0x72, 0x40, 0x11, 0x73,
-  0x40, 0x11, 0x74, 0x40, 0x11, 0x75, 0x40, 0x11, 0x60, 0x40, 0x11, 0x14,
-  0x40, 0x11, 0x15, 0x40, 0x11, 0xC7, 0x40, 0x11, 0xC8, 0x40, 0x11, 0xCC,
-  0x40, 0x11, 0xCE, 0x40, 0x11, 0xD3, 0x40, 0x11, 0xD7, 0x40, 0x11, 0xD9,
-  0x40, 0x11, 0x1C, 0x40, 0x11, 0xDD, 0x40, 0x11, 0xDF, 0x40, 0x11, 0x1D,
-  0x40, 0x11, 0x1E, 0x40, 0x11, 0x20, 0x40, 0x11, 0x22, 0x40, 0x11, 0x23,
-  0x40, 0x11, 0x27, 0x40, 0x11, 0x29, 0x40, 0x11, 0x2B, 0x40, 0x11, 0x2C,
-  0x40, 0x11, 0x2D, 0x40, 0x11, 0x2E, 0x40, 0x11, 0x2F, 0x40, 0x11, 0x32,
-  0x40, 0x11, 0x36, 0x40, 0x11, 0x40, 0x40, 0x11, 0x47, 0x40, 0x11, 0x4C,
-  0x40, 0x11, 0xF1, 0x40, 0x11, 0xF2, 0x40, 0x11, 0x57, 0x40, 0x11, 0x58,
-  0x40, 0x11, 0x59, 0x40, 0x11, 0x84, 0x40, 0x11, 0x85, 0x40, 0x11, 0x88,
-  0x40, 0x11, 0x91, 0x40, 0x11, 0x92, 0x40, 0x11, 0x94, 0x40, 0x11, 0x9E,
-  0x40, 0x11, 0xA1, 0x20, 0x4E, 0x00, 0x20, 0x4E, 0x8C, 0x20, 0x4E, 0x09,
-  0x20, 0x56, 0xDB, 0x20, 0x4E, 0x0A, 0x20, 0x4E, 0x2D, 0x20, 0x4E, 0x0B,
-  0x20, 0x75, 0x32, 0x20, 0x4E, 0x59, 0x20, 0x4E, 0x19, 0x20, 0x4E, 0x01,
-  0x20, 0x59, 0x29, 0x20, 0x57, 0x30, 0x20, 0x4E, 0xBA, 0xC0, 0x00, 0x28,
-  0x80, 0x11, 0x00, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x11, 0x02,
-  0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x11, 0x03, 0x00, 0x00, 0x29,
-  0xC0, 0x00, 0x28, 0x80, 0x11, 0x05, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28,
-  0x80, 0x11, 0x06, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x11, 0x07,
-  0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x11, 0x09, 0x00, 0x00, 0x29,
-  0xC0, 0x00, 0x28, 0x80, 0x11, 0x0B, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28,
-  0x80, 0x11, 0x0C, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x11, 0x0E,
-  0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x11, 0x0F, 0x00, 0x00, 0x29,
-  0xC0, 0x00, 0x28, 0x80, 0x11, 0x10, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28,
-  0x80, 0x11, 0x11, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x11, 0x12,
-  0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x11, 0x00, 0x80, 0x11, 0x61,
-  0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x11, 0x02, 0x80, 0x11, 0x61,
-  0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x11, 0x03, 0x80, 0x11, 0x61,
-  0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x11, 0x05, 0x80, 0x11, 0x61,
-  0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x11, 0x06, 0x80, 0x11, 0x61,
-  0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x11, 0x07, 0x80, 0x11, 0x61,
-  0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x11, 0x09, 0x80, 0x11, 0x61,
-  0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x11, 0x0B, 0x80, 0x11, 0x61,
-  0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x11, 0x0C, 0x80, 0x11, 0x61,
-  0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x11, 0x0E, 0x80, 0x11, 0x61,
-  0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x11, 0x0F, 0x80, 0x11, 0x61,
-  0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x11, 0x10, 0x80, 0x11, 0x61,
-  0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x11, 0x11, 0x80, 0x11, 0x61,
-  0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x11, 0x12, 0x80, 0x11, 0x61,
-  0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x11, 0x0C, 0x80, 0x11, 0x6E,
+  0x80, 0x20, 0x44, 0x00, 0x00, 0x37, 0xBC, 0x00, 0x31, 0x80, 0x20, 0x44,
+  0x00, 0x00, 0x39, 0xBC, 0x00, 0x31, 0x80, 0x20, 0x44, 0x80, 0x00, 0x31,
+  0x00, 0x00, 0x30, 0xBC, 0x00, 0x31, 0x80, 0x20, 0x44, 0x00, 0x00, 0x33,
+  0xBC, 0x00, 0x32, 0x80, 0x20, 0x44, 0x00, 0x00, 0x33, 0xBC, 0x00, 0x31,
+  0x80, 0x20, 0x44, 0x00, 0x00, 0x35, 0xBC, 0x00, 0x32, 0x80, 0x20, 0x44,
+  0x00, 0x00, 0x35, 0xBC, 0x00, 0x33, 0x80, 0x20, 0x44, 0x00, 0x00, 0x35,
+  0xBC, 0x00, 0x34, 0x80, 0x20, 0x44, 0x00, 0x00, 0x35, 0xBC, 0x00, 0x31,
+  0x80, 0x20, 0x44, 0x00, 0x00, 0x36, 0xBC, 0x00, 0x35, 0x80, 0x20, 0x44,
+  0x00, 0x00, 0x36, 0xBC, 0x00, 0x31, 0x80, 0x20, 0x44, 0x00, 0x00, 0x38,
+  0xBC, 0x00, 0x33, 0x80, 0x20, 0x44, 0x00, 0x00, 0x38, 0xBC, 0x00, 0x35,
+  0x80, 0x20, 0x44, 0x00, 0x00, 0x38, 0xBC, 0x00, 0x37, 0x80, 0x20, 0x44,
+  0x00, 0x00, 0x38, 0xBC, 0x00, 0x31, 0x00, 0x20, 0x44, 0x40, 0x00, 0x49,
+  0xC0, 0x00, 0x49, 0x00, 0x00, 0x49, 0xC0, 0x00, 0x49, 0x80, 0x00, 0x49,
+  0x00, 0x00, 0x49, 0xC0, 0x00, 0x49, 0x00, 0x00, 0x56, 0x40, 0x00, 0x56,
+  0xC0, 0x00, 0x56, 0x00, 0x00, 0x49, 0xC0, 0x00, 0x56, 0x80, 0x00, 0x49,
+  0x00, 0x00, 0x49, 0xC0, 0x00, 0x56, 0x80, 0x00, 0x49, 0x80, 0x00, 0x49,
+  0x00, 0x00, 0x49, 0xC0, 0x00, 0x49, 0x00, 0x00, 0x58, 0x40, 0x00, 0x58,
+  0xC0, 0x00, 0x58, 0x00, 0x00, 0x49, 0xC0, 0x00, 0x58, 0x80, 0x00, 0x49,
+  0x00, 0x00, 0x49, 0x40, 0x00, 0x4C, 0x40, 0x00, 0x43, 0x40, 0x00, 0x44,
+  0x40, 0x00, 0x4D, 0x40, 0x00, 0x69, 0xC0, 0x00, 0x69, 0x00, 0x00, 0x69,
+  0xC0, 0x00, 0x69, 0x80, 0x00, 0x69, 0x00, 0x00, 0x69, 0xC0, 0x00, 0x69,
+  0x00, 0x00, 0x76, 0x40, 0x00, 0x76, 0xC0, 0x00, 0x76, 0x00, 0x00, 0x69,
+  0xC0, 0x00, 0x76, 0x80, 0x00, 0x69, 0x00, 0x00, 0x69, 0xC0, 0x00, 0x76,
+  0x80, 0x00, 0x69, 0x80, 0x00, 0x69, 0x00, 0x00, 0x69, 0xC0, 0x00, 0x69,
+  0x00, 0x00, 0x78, 0x40, 0x00, 0x78, 0xC0, 0x00, 0x78, 0x00, 0x00, 0x69,
+  0xC0, 0x00, 0x78, 0x80, 0x00, 0x69, 0x00, 0x00, 0x69, 0x40, 0x00, 0x6C,
+  0x40, 0x00, 0x63, 0x40, 0x00, 0x64, 0x40, 0x00, 0x6D, 0xBC, 0x00, 0x30,
+  0x80, 0x20, 0x44, 0x00, 0x00, 0x33, 0x80, 0x21, 0x90, 0x00, 0x03, 0x38,
+  0x80, 0x21, 0x92, 0x00, 0x03, 0x38, 0x80, 0x21, 0x94, 0x00, 0x03, 0x38,
+  0x80, 0x21, 0xD0, 0x00, 0x03, 0x38, 0x80, 0x21, 0xD4, 0x00, 0x03, 0x38,
+  0x80, 0x21, 0xD2, 0x00, 0x03, 0x38, 0x80, 0x22, 0x03, 0x00, 0x03, 0x38,
+  0x80, 0x22, 0x08, 0x00, 0x03, 0x38, 0x80, 0x22, 0x0B, 0x00, 0x03, 0x38,
+  0x80, 0x22, 0x23, 0x00, 0x03, 0x38, 0x80, 0x22, 0x25, 0x00, 0x03, 0x38,
+  0xC0, 0x22, 0x2B, 0x00, 0x22, 0x2B, 0xC0, 0x22, 0x2B, 0x80, 0x22, 0x2B,
+  0x00, 0x22, 0x2B, 0xC0, 0x22, 0x2E, 0x00, 0x22, 0x2E, 0xC0, 0x22, 0x2E,
+  0x80, 0x22, 0x2E, 0x00, 0x22, 0x2E, 0x80, 0x22, 0x3C, 0x00, 0x03, 0x38,
+  0x80, 0x22, 0x43, 0x00, 0x03, 0x38, 0x80, 0x22, 0x45, 0x00, 0x03, 0x38,
+  0x80, 0x22, 0x48, 0x00, 0x03, 0x38, 0x80, 0x00, 0x3D, 0x00, 0x03, 0x38,
+  0x80, 0x22, 0x61, 0x00, 0x03, 0x38, 0x80, 0x22, 0x4D, 0x00, 0x03, 0x38,
+  0x80, 0x00, 0x3C, 0x00, 0x03, 0x38, 0x80, 0x00, 0x3E, 0x00, 0x03, 0x38,
+  0x80, 0x22, 0x64, 0x00, 0x03, 0x38, 0x80, 0x22, 0x65, 0x00, 0x03, 0x38,
+  0x80, 0x22, 0x72, 0x00, 0x03, 0x38, 0x80, 0x22, 0x73, 0x00, 0x03, 0x38,
+  0x80, 0x22, 0x76, 0x00, 0x03, 0x38, 0x80, 0x22, 0x77, 0x00, 0x03, 0x38,
+  0x80, 0x22, 0x7A, 0x00, 0x03, 0x38, 0x80, 0x22, 0x7B, 0x00, 0x03, 0x38,
+  0x80, 0x22, 0x82, 0x00, 0x03, 0x38, 0x80, 0x22, 0x83, 0x00, 0x03, 0x38,
+  0x80, 0x22, 0x86, 0x00, 0x03, 0x38, 0x80, 0x22, 0x87, 0x00, 0x03, 0x38,
+  0x80, 0x22, 0xA2, 0x00, 0x03, 0x38, 0x80, 0x22, 0xA8, 0x00, 0x03, 0x38,
+  0x80, 0x22, 0xA9, 0x00, 0x03, 0x38, 0x80, 0x22, 0xAB, 0x00, 0x03, 0x38,
+  0x80, 0x22, 0x7C, 0x00, 0x03, 0x38, 0x80, 0x22, 0x7D, 0x00, 0x03, 0x38,
+  0x80, 0x22, 0x91, 0x00, 0x03, 0x38, 0x80, 0x22, 0x92, 0x00, 0x03, 0x38,
+  0x80, 0x22, 0xB2, 0x00, 0x03, 0x38, 0x80, 0x22, 0xB3, 0x00, 0x03, 0x38,
+  0x80, 0x22, 0xB4, 0x00, 0x03, 0x38, 0x80, 0x22, 0xB5, 0x00, 0x03, 0x38,
+  0x00, 0x30, 0x08, 0x00, 0x30, 0x09, 0x1C, 0x00, 0x31, 0x1C, 0x00, 0x32,
+  0x1C, 0x00, 0x33, 0x1C, 0x00, 0x34, 0x1C, 0x00, 0x35, 0x1C, 0x00, 0x36,
+  0x1C, 0x00, 0x37, 0x1C, 0x00, 0x38, 0x1C, 0x00, 0x39, 0x9C, 0x00, 0x31,
+  0x00, 0x00, 0x30, 0x9C, 0x00, 0x31, 0x00, 0x00, 0x31, 0x9C, 0x00, 0x31,
+  0x00, 0x00, 0x32, 0x9C, 0x00, 0x31, 0x00, 0x00, 0x33, 0x9C, 0x00, 0x31,
+  0x00, 0x00, 0x34, 0x9C, 0x00, 0x31, 0x00, 0x00, 0x35, 0x9C, 0x00, 0x31,
+  0x00, 0x00, 0x36, 0x9C, 0x00, 0x31, 0x00, 0x00, 0x37, 0x9C, 0x00, 0x31,
+  0x00, 0x00, 0x38, 0x9C, 0x00, 0x31, 0x00, 0x00, 0x39, 0x9C, 0x00, 0x32,
+  0x00, 0x00, 0x30, 0xC0, 0x00, 0x28, 0x80, 0x00, 0x31, 0x00, 0x00, 0x29,
+  0xC0, 0x00, 0x28, 0x80, 0x00, 0x32, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28,
+  0x80, 0x00, 0x33, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x00, 0x34,
+  0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x00, 0x35, 0x00, 0x00, 0x29,
+  0xC0, 0x00, 0x28, 0x80, 0x00, 0x36, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28,
+  0x80, 0x00, 0x37, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x00, 0x38,
+  0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x00, 0x39, 0x00, 0x00, 0x29,
+  0xC0, 0x00, 0x28, 0x80, 0x00, 0x31, 0x80, 0x00, 0x30, 0x00, 0x00, 0x29,
+  0xC0, 0x00, 0x28, 0x80, 0x00, 0x31, 0x80, 0x00, 0x31, 0x00, 0x00, 0x29,
+  0xC0, 0x00, 0x28, 0x80, 0x00, 0x31, 0x80, 0x00, 0x32, 0x00, 0x00, 0x29,
+  0xC0, 0x00, 0x28, 0x80, 0x00, 0x31, 0x80, 0x00, 0x33, 0x00, 0x00, 0x29,
+  0xC0, 0x00, 0x28, 0x80, 0x00, 0x31, 0x80, 0x00, 0x34, 0x00, 0x00, 0x29,
+  0xC0, 0x00, 0x28, 0x80, 0x00, 0x31, 0x80, 0x00, 0x35, 0x00, 0x00, 0x29,
+  0xC0, 0x00, 0x28, 0x80, 0x00, 0x31, 0x80, 0x00, 0x36, 0x00, 0x00, 0x29,
+  0xC0, 0x00, 0x28, 0x80, 0x00, 0x31, 0x80, 0x00, 0x37, 0x00, 0x00, 0x29,
+  0xC0, 0x00, 0x28, 0x80, 0x00, 0x31, 0x80, 0x00, 0x38, 0x00, 0x00, 0x29,
+  0xC0, 0x00, 0x28, 0x80, 0x00, 0x31, 0x80, 0x00, 0x39, 0x00, 0x00, 0x29,
+  0xC0, 0x00, 0x28, 0x80, 0x00, 0x32, 0x80, 0x00, 0x30, 0x00, 0x00, 0x29,
+  0xC0, 0x00, 0x31, 0x00, 0x00, 0x2E, 0xC0, 0x00, 0x32, 0x00, 0x00, 0x2E,
+  0xC0, 0x00, 0x33, 0x00, 0x00, 0x2E, 0xC0, 0x00, 0x34, 0x00, 0x00, 0x2E,
+  0xC0, 0x00, 0x35, 0x00, 0x00, 0x2E, 0xC0, 0x00, 0x36, 0x00, 0x00, 0x2E,
+  0xC0, 0x00, 0x37, 0x00, 0x00, 0x2E, 0xC0, 0x00, 0x38, 0x00, 0x00, 0x2E,
+  0xC0, 0x00, 0x39, 0x00, 0x00, 0x2E, 0xC0, 0x00, 0x31, 0x80, 0x00, 0x30,
+  0x00, 0x00, 0x2E, 0xC0, 0x00, 0x31, 0x80, 0x00, 0x31, 0x00, 0x00, 0x2E,
+  0xC0, 0x00, 0x31, 0x80, 0x00, 0x32, 0x00, 0x00, 0x2E, 0xC0, 0x00, 0x31,
+  0x80, 0x00, 0x33, 0x00, 0x00, 0x2E, 0xC0, 0x00, 0x31, 0x80, 0x00, 0x34,
+  0x00, 0x00, 0x2E, 0xC0, 0x00, 0x31, 0x80, 0x00, 0x35, 0x00, 0x00, 0x2E,
+  0xC0, 0x00, 0x31, 0x80, 0x00, 0x36, 0x00, 0x00, 0x2E, 0xC0, 0x00, 0x31,
+  0x80, 0x00, 0x37, 0x00, 0x00, 0x2E, 0xC0, 0x00, 0x31, 0x80, 0x00, 0x38,
+  0x00, 0x00, 0x2E, 0xC0, 0x00, 0x31, 0x80, 0x00, 0x39, 0x00, 0x00, 0x2E,
+  0xC0, 0x00, 0x32, 0x80, 0x00, 0x30, 0x00, 0x00, 0x2E, 0xC0, 0x00, 0x28,
+  0x80, 0x00, 0x61, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x00, 0x62,
+  0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x00, 0x63, 0x00, 0x00, 0x29,
+  0xC0, 0x00, 0x28, 0x80, 0x00, 0x64, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28,
+  0x80, 0x00, 0x65, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x00, 0x66,
+  0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x00, 0x67, 0x00, 0x00, 0x29,
+  0xC0, 0x00, 0x28, 0x80, 0x00, 0x68, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28,
+  0x80, 0x00, 0x69, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x00, 0x6A,
+  0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x00, 0x6B, 0x00, 0x00, 0x29,
+  0xC0, 0x00, 0x28, 0x80, 0x00, 0x6C, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28,
+  0x80, 0x00, 0x6D, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x00, 0x6E,
+  0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x00, 0x6F, 0x00, 0x00, 0x29,
+  0xC0, 0x00, 0x28, 0x80, 0x00, 0x70, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28,
+  0x80, 0x00, 0x71, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x00, 0x72,
+  0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x00, 0x73, 0x00, 0x00, 0x29,
+  0xC0, 0x00, 0x28, 0x80, 0x00, 0x74, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28,
+  0x80, 0x00, 0x75, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x00, 0x76,
+  0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x00, 0x77, 0x00, 0x00, 0x29,
+  0xC0, 0x00, 0x28, 0x80, 0x00, 0x78, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28,
+  0x80, 0x00, 0x79, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x00, 0x7A,
+  0x00, 0x00, 0x29, 0x1C, 0x00, 0x41, 0x1C, 0x00, 0x42, 0x1C, 0x00, 0x43,
+  0x1C, 0x00, 0x44, 0x1C, 0x00, 0x45, 0x1C, 0x00, 0x46, 0x1C, 0x00, 0x47,
+  0x1C, 0x00, 0x48, 0x1C, 0x00, 0x49, 0x1C, 0x00, 0x4A, 0x1C, 0x00, 0x4B,
+  0x1C, 0x00, 0x4C, 0x1C, 0x00, 0x4D, 0x1C, 0x00, 0x4E, 0x1C, 0x00, 0x4F,
+  0x1C, 0x00, 0x50, 0x1C, 0x00, 0x51, 0x1C, 0x00, 0x52, 0x1C, 0x00, 0x53,
+  0x1C, 0x00, 0x54, 0x1C, 0x00, 0x55, 0x1C, 0x00, 0x56, 0x1C, 0x00, 0x57,
+  0x1C, 0x00, 0x58, 0x1C, 0x00, 0x59, 0x1C, 0x00, 0x5A, 0x1C, 0x00, 0x61,
+  0x1C, 0x00, 0x62, 0x1C, 0x00, 0x63, 0x1C, 0x00, 0x64, 0x1C, 0x00, 0x65,
+  0x1C, 0x00, 0x66, 0x1C, 0x00, 0x67, 0x1C, 0x00, 0x68, 0x1C, 0x00, 0x69,
+  0x1C, 0x00, 0x6A, 0x1C, 0x00, 0x6B, 0x1C, 0x00, 0x6C, 0x1C, 0x00, 0x6D,
+  0x1C, 0x00, 0x6E, 0x1C, 0x00, 0x6F, 0x1C, 0x00, 0x70, 0x1C, 0x00, 0x71,
+  0x1C, 0x00, 0x72, 0x1C, 0x00, 0x73, 0x1C, 0x00, 0x74, 0x1C, 0x00, 0x75,
+  0x1C, 0x00, 0x76, 0x1C, 0x00, 0x77, 0x1C, 0x00, 0x78, 0x1C, 0x00, 0x79,
+  0x1C, 0x00, 0x7A, 0x1C, 0x00, 0x30, 0xC0, 0x22, 0x2B, 0x80, 0x22, 0x2B,
+  0x80, 0x22, 0x2B, 0x00, 0x22, 0x2B, 0xC0, 0x00, 0x3A, 0x80, 0x00, 0x3A,
+  0x00, 0x00, 0x3D, 0xC0, 0x00, 0x3D, 0x00, 0x00, 0x3D, 0xC0, 0x00, 0x3D,
+  0x80, 0x00, 0x3D, 0x00, 0x00, 0x3D, 0x80, 0x2A, 0xDD, 0x00, 0x03, 0x38,
+  0x24, 0x00, 0x6A, 0x20, 0x00, 0x56, 0x20, 0x2D, 0x61, 0x40, 0x6B, 0xCD,
+  0x40, 0x9F, 0x9F, 0x40, 0x4E, 0x00, 0x40, 0x4E, 0x28, 0x40, 0x4E, 0x36,
+  0x40, 0x4E, 0x3F, 0x40, 0x4E, 0x59, 0x40, 0x4E, 0x85, 0x40, 0x4E, 0x8C,
+  0x40, 0x4E, 0xA0, 0x40, 0x4E, 0xBA, 0x40, 0x51, 0x3F, 0x40, 0x51, 0x65,
+  0x40, 0x51, 0x6B, 0x40, 0x51, 0x82, 0x40, 0x51, 0x96, 0x40, 0x51, 0xAB,
+  0x40, 0x51, 0xE0, 0x40, 0x51, 0xF5, 0x40, 0x52, 0x00, 0x40, 0x52, 0x9B,
+  0x40, 0x52, 0xF9, 0x40, 0x53, 0x15, 0x40, 0x53, 0x1A, 0x40, 0x53, 0x38,
+  0x40, 0x53, 0x41, 0x40, 0x53, 0x5C, 0x40, 0x53, 0x69, 0x40, 0x53, 0x82,
+  0x40, 0x53, 0xB6, 0x40, 0x53, 0xC8, 0x40, 0x53, 0xE3, 0x40, 0x56, 0xD7,
+  0x40, 0x57, 0x1F, 0x40, 0x58, 0xEB, 0x40, 0x59, 0x02, 0x40, 0x59, 0x0A,
+  0x40, 0x59, 0x15, 0x40, 0x59, 0x27, 0x40, 0x59, 0x73, 0x40, 0x5B, 0x50,
+  0x40, 0x5B, 0x80, 0x40, 0x5B, 0xF8, 0x40, 0x5C, 0x0F, 0x40, 0x5C, 0x22,
+  0x40, 0x5C, 0x38, 0x40, 0x5C, 0x6E, 0x40, 0x5C, 0x71, 0x40, 0x5D, 0xDB,
+  0x40, 0x5D, 0xE5, 0x40, 0x5D, 0xF1, 0x40, 0x5D, 0xFE, 0x40, 0x5E, 0x72,
+  0x40, 0x5E, 0x7A, 0x40, 0x5E, 0x7F, 0x40, 0x5E, 0xF4, 0x40, 0x5E, 0xFE,
+  0x40, 0x5F, 0x0B, 0x40, 0x5F, 0x13, 0x40, 0x5F, 0x50, 0x40, 0x5F, 0x61,
+  0x40, 0x5F, 0x73, 0x40, 0x5F, 0xC3, 0x40, 0x62, 0x08, 0x40, 0x62, 0x36,
+  0x40, 0x62, 0x4B, 0x40, 0x65, 0x2F, 0x40, 0x65, 0x34, 0x40, 0x65, 0x87,
+  0x40, 0x65, 0x97, 0x40, 0x65, 0xA4, 0x40, 0x65, 0xB9, 0x40, 0x65, 0xE0,
+  0x40, 0x65, 0xE5, 0x40, 0x66, 0xF0, 0x40, 0x67, 0x08, 0x40, 0x67, 0x28,
+  0x40, 0x6B, 0x20, 0x40, 0x6B, 0x62, 0x40, 0x6B, 0x79, 0x40, 0x6B, 0xB3,
+  0x40, 0x6B, 0xCB, 0x40, 0x6B, 0xD4, 0x40, 0x6B, 0xDB, 0x40, 0x6C, 0x0F,
+  0x40, 0x6C, 0x14, 0x40, 0x6C, 0x34, 0x40, 0x70, 0x6B, 0x40, 0x72, 0x2A,
+  0x40, 0x72, 0x36, 0x40, 0x72, 0x3B, 0x40, 0x72, 0x3F, 0x40, 0x72, 0x47,
+  0x40, 0x72, 0x59, 0x40, 0x72, 0x5B, 0x40, 0x72, 0xAC, 0x40, 0x73, 0x84,
+  0x40, 0x73, 0x89, 0x40, 0x74, 0xDC, 0x40, 0x74, 0xE6, 0x40, 0x75, 0x18,
+  0x40, 0x75, 0x1F, 0x40, 0x75, 0x28, 0x40, 0x75, 0x30, 0x40, 0x75, 0x8B,
+  0x40, 0x75, 0x92, 0x40, 0x76, 0x76, 0x40, 0x76, 0x7D, 0x40, 0x76, 0xAE,
+  0x40, 0x76, 0xBF, 0x40, 0x76, 0xEE, 0x40, 0x77, 0xDB, 0x40, 0x77, 0xE2,
+  0x40, 0x77, 0xF3, 0x40, 0x79, 0x3A, 0x40, 0x79, 0xB8, 0x40, 0x79, 0xBE,
+  0x40, 0x7A, 0x74, 0x40, 0x7A, 0xCB, 0x40, 0x7A, 0xF9, 0x40, 0x7C, 0x73,
+  0x40, 0x7C, 0xF8, 0x40, 0x7F, 0x36, 0x40, 0x7F, 0x51, 0x40, 0x7F, 0x8A,
+  0x40, 0x7F, 0xBD, 0x40, 0x80, 0x01, 0x40, 0x80, 0x0C, 0x40, 0x80, 0x12,
+  0x40, 0x80, 0x33, 0x40, 0x80, 0x7F, 0x40, 0x80, 0x89, 0x40, 0x81, 0xE3,
+  0x40, 0x81, 0xEA, 0x40, 0x81, 0xF3, 0x40, 0x81, 0xFC, 0x40, 0x82, 0x0C,
+  0x40, 0x82, 0x1B, 0x40, 0x82, 0x1F, 0x40, 0x82, 0x6E, 0x40, 0x82, 0x72,
+  0x40, 0x82, 0x78, 0x40, 0x86, 0x4D, 0x40, 0x86, 0x6B, 0x40, 0x88, 0x40,
+  0x40, 0x88, 0x4C, 0x40, 0x88, 0x63, 0x40, 0x89, 0x7E, 0x40, 0x89, 0x8B,
+  0x40, 0x89, 0xD2, 0x40, 0x8A, 0x00, 0x40, 0x8C, 0x37, 0x40, 0x8C, 0x46,
+  0x40, 0x8C, 0x55, 0x40, 0x8C, 0x78, 0x40, 0x8C, 0x9D, 0x40, 0x8D, 0x64,
+  0x40, 0x8D, 0x70, 0x40, 0x8D, 0xB3, 0x40, 0x8E, 0xAB, 0x40, 0x8E, 0xCA,
+  0x40, 0x8F, 0x9B, 0x40, 0x8F, 0xB0, 0x40, 0x8F, 0xB5, 0x40, 0x90, 0x91,
+  0x40, 0x91, 0x49, 0x40, 0x91, 0xC6, 0x40, 0x91, 0xCC, 0x40, 0x91, 0xD1,
+  0x40, 0x95, 0x77, 0x40, 0x95, 0x80, 0x40, 0x96, 0x1C, 0x40, 0x96, 0xB6,
+  0x40, 0x96, 0xB9, 0x40, 0x96, 0xE8, 0x40, 0x97, 0x51, 0x40, 0x97, 0x5E,
+  0x40, 0x97, 0x62, 0x40, 0x97, 0x69, 0x40, 0x97, 0xCB, 0x40, 0x97, 0xED,
+  0x40, 0x97, 0xF3, 0x40, 0x98, 0x01, 0x40, 0x98, 0xA8, 0x40, 0x98, 0xDB,
+  0x40, 0x98, 0xDF, 0x40, 0x99, 0x96, 0x40, 0x99, 0x99, 0x40, 0x99, 0xAC,
+  0x40, 0x9A, 0xA8, 0x40, 0x9A, 0xD8, 0x40, 0x9A, 0xDF, 0x40, 0x9B, 0x25,
+  0x40, 0x9B, 0x2F, 0x40, 0x9B, 0x32, 0x40, 0x9B, 0x3C, 0x40, 0x9B, 0x5A,
+  0x40, 0x9C, 0xE5, 0x40, 0x9E, 0x75, 0x40, 0x9E, 0x7F, 0x40, 0x9E, 0xA5,
+  0x40, 0x9E, 0xBB, 0x40, 0x9E, 0xC3, 0x40, 0x9E, 0xCD, 0x40, 0x9E, 0xD1,
+  0x40, 0x9E, 0xF9, 0x40, 0x9E, 0xFD, 0x40, 0x9F, 0x0E, 0x40, 0x9F, 0x13,
+  0x40, 0x9F, 0x20, 0x40, 0x9F, 0x3B, 0x40, 0x9F, 0x4A, 0x40, 0x9F, 0x52,
+  0x40, 0x9F, 0x8D, 0x40, 0x9F, 0x9C, 0x40, 0x9F, 0xA0, 0x2C, 0x00, 0x20,
+  0x40, 0x30, 0x12, 0x40, 0x53, 0x41, 0x40, 0x53, 0x44, 0x40, 0x53, 0x45,
+  0x80, 0x30, 0x4B, 0x00, 0x30, 0x99, 0x80, 0x30, 0x4D, 0x00, 0x30, 0x99,
+  0x80, 0x30, 0x4F, 0x00, 0x30, 0x99, 0x80, 0x30, 0x51, 0x00, 0x30, 0x99,
+  0x80, 0x30, 0x53, 0x00, 0x30, 0x99, 0x80, 0x30, 0x55, 0x00, 0x30, 0x99,
+  0x80, 0x30, 0x57, 0x00, 0x30, 0x99, 0x80, 0x30, 0x59, 0x00, 0x30, 0x99,
+  0x80, 0x30, 0x5B, 0x00, 0x30, 0x99, 0x80, 0x30, 0x5D, 0x00, 0x30, 0x99,
+  0x80, 0x30, 0x5F, 0x00, 0x30, 0x99, 0x80, 0x30, 0x61, 0x00, 0x30, 0x99,
+  0x80, 0x30, 0x64, 0x00, 0x30, 0x99, 0x80, 0x30, 0x66, 0x00, 0x30, 0x99,
+  0x80, 0x30, 0x68, 0x00, 0x30, 0x99, 0x80, 0x30, 0x6F, 0x00, 0x30, 0x99,
+  0x80, 0x30, 0x6F, 0x00, 0x30, 0x9A, 0x80, 0x30, 0x72, 0x00, 0x30, 0x99,
+  0x80, 0x30, 0x72, 0x00, 0x30, 0x9A, 0x80, 0x30, 0x75, 0x00, 0x30, 0x99,
+  0x80, 0x30, 0x75, 0x00, 0x30, 0x9A, 0x80, 0x30, 0x78, 0x00, 0x30, 0x99,
+  0x80, 0x30, 0x78, 0x00, 0x30, 0x9A, 0x80, 0x30, 0x7B, 0x00, 0x30, 0x99,
+  0x80, 0x30, 0x7B, 0x00, 0x30, 0x9A, 0x80, 0x30, 0x46, 0x00, 0x30, 0x99,
+  0xC0, 0x00, 0x20, 0x00, 0x30, 0x99, 0xC0, 0x00, 0x20, 0x00, 0x30, 0x9A,
+  0x80, 0x30, 0x9D, 0x00, 0x30, 0x99, 0xA8, 0x30, 0x88, 0x00, 0x30, 0x8A,
+  0x80, 0x30, 0xAB, 0x00, 0x30, 0x99, 0x80, 0x30, 0xAD, 0x00, 0x30, 0x99,
+  0x80, 0x30, 0xAF, 0x00, 0x30, 0x99, 0x80, 0x30, 0xB1, 0x00, 0x30, 0x99,
+  0x80, 0x30, 0xB3, 0x00, 0x30, 0x99, 0x80, 0x30, 0xB5, 0x00, 0x30, 0x99,
+  0x80, 0x30, 0xB7, 0x00, 0x30, 0x99, 0x80, 0x30, 0xB9, 0x00, 0x30, 0x99,
+  0x80, 0x30, 0xBB, 0x00, 0x30, 0x99, 0x80, 0x30, 0xBD, 0x00, 0x30, 0x99,
+  0x80, 0x30, 0xBF, 0x00, 0x30, 0x99, 0x80, 0x30, 0xC1, 0x00, 0x30, 0x99,
+  0x80, 0x30, 0xC4, 0x00, 0x30, 0x99, 0x80, 0x30, 0xC6, 0x00, 0x30, 0x99,
+  0x80, 0x30, 0xC8, 0x00, 0x30, 0x99, 0x80, 0x30, 0xCF, 0x00, 0x30, 0x99,
+  0x80, 0x30, 0xCF, 0x00, 0x30, 0x9A, 0x80, 0x30, 0xD2, 0x00, 0x30, 0x99,
+  0x80, 0x30, 0xD2, 0x00, 0x30, 0x9A, 0x80, 0x30, 0xD5, 0x00, 0x30, 0x99,
+  0x80, 0x30, 0xD5, 0x00, 0x30, 0x9A, 0x80, 0x30, 0xD8, 0x00, 0x30, 0x99,
+  0x80, 0x30, 0xD8, 0x00, 0x30, 0x9A, 0x80, 0x30, 0xDB, 0x00, 0x30, 0x99,
+  0x80, 0x30, 0xDB, 0x00, 0x30, 0x9A, 0x80, 0x30, 0xA6, 0x00, 0x30, 0x99,
+  0x80, 0x30, 0xEF, 0x00, 0x30, 0x99, 0x80, 0x30, 0xF0, 0x00, 0x30, 0x99,
+  0x80, 0x30, 0xF1, 0x00, 0x30, 0x99, 0x80, 0x30, 0xF2, 0x00, 0x30, 0x99,
+  0x80, 0x30, 0xFD, 0x00, 0x30, 0x99, 0xA8, 0x30, 0xB3, 0x00, 0x30, 0xC8,
+  0x40, 0x11, 0x00, 0x40, 0x11, 0x01, 0x40, 0x11, 0xAA, 0x40, 0x11, 0x02,
+  0x40, 0x11, 0xAC, 0x40, 0x11, 0xAD, 0x40, 0x11, 0x03, 0x40, 0x11, 0x04,
+  0x40, 0x11, 0x05, 0x40, 0x11, 0xB0, 0x40, 0x11, 0xB1, 0x40, 0x11, 0xB2,
+  0x40, 0x11, 0xB3, 0x40, 0x11, 0xB4, 0x40, 0x11, 0xB5, 0x40, 0x11, 0x1A,
+  0x40, 0x11, 0x06, 0x40, 0x11, 0x07, 0x40, 0x11, 0x08, 0x40, 0x11, 0x21,
+  0x40, 0x11, 0x09, 0x40, 0x11, 0x0A, 0x40, 0x11, 0x0B, 0x40, 0x11, 0x0C,
+  0x40, 0x11, 0x0D, 0x40, 0x11, 0x0E, 0x40, 0x11, 0x0F, 0x40, 0x11, 0x10,
+  0x40, 0x11, 0x11, 0x40, 0x11, 0x12, 0x40, 0x11, 0x61, 0x40, 0x11, 0x62,
+  0x40, 0x11, 0x63, 0x40, 0x11, 0x64, 0x40, 0x11, 0x65, 0x40, 0x11, 0x66,
+  0x40, 0x11, 0x67, 0x40, 0x11, 0x68, 0x40, 0x11, 0x69, 0x40, 0x11, 0x6A,
+  0x40, 0x11, 0x6B, 0x40, 0x11, 0x6C, 0x40, 0x11, 0x6D, 0x40, 0x11, 0x6E,
+  0x40, 0x11, 0x6F, 0x40, 0x11, 0x70, 0x40, 0x11, 0x71, 0x40, 0x11, 0x72,
+  0x40, 0x11, 0x73, 0x40, 0x11, 0x74, 0x40, 0x11, 0x75, 0x40, 0x11, 0x60,
+  0x40, 0x11, 0x14, 0x40, 0x11, 0x15, 0x40, 0x11, 0xC7, 0x40, 0x11, 0xC8,
+  0x40, 0x11, 0xCC, 0x40, 0x11, 0xCE, 0x40, 0x11, 0xD3, 0x40, 0x11, 0xD7,
+  0x40, 0x11, 0xD9, 0x40, 0x11, 0x1C, 0x40, 0x11, 0xDD, 0x40, 0x11, 0xDF,
+  0x40, 0x11, 0x1D, 0x40, 0x11, 0x1E, 0x40, 0x11, 0x20, 0x40, 0x11, 0x22,
+  0x40, 0x11, 0x23, 0x40, 0x11, 0x27, 0x40, 0x11, 0x29, 0x40, 0x11, 0x2B,
+  0x40, 0x11, 0x2C, 0x40, 0x11, 0x2D, 0x40, 0x11, 0x2E, 0x40, 0x11, 0x2F,
+  0x40, 0x11, 0x32, 0x40, 0x11, 0x36, 0x40, 0x11, 0x40, 0x40, 0x11, 0x47,
+  0x40, 0x11, 0x4C, 0x40, 0x11, 0xF1, 0x40, 0x11, 0xF2, 0x40, 0x11, 0x57,
+  0x40, 0x11, 0x58, 0x40, 0x11, 0x59, 0x40, 0x11, 0x84, 0x40, 0x11, 0x85,
+  0x40, 0x11, 0x88, 0x40, 0x11, 0x91, 0x40, 0x11, 0x92, 0x40, 0x11, 0x94,
+  0x40, 0x11, 0x9E, 0x40, 0x11, 0xA1, 0x20, 0x4E, 0x00, 0x20, 0x4E, 0x8C,
+  0x20, 0x4E, 0x09, 0x20, 0x56, 0xDB, 0x20, 0x4E, 0x0A, 0x20, 0x4E, 0x2D,
+  0x20, 0x4E, 0x0B, 0x20, 0x75, 0x32, 0x20, 0x4E, 0x59, 0x20, 0x4E, 0x19,
+  0x20, 0x4E, 0x01, 0x20, 0x59, 0x29, 0x20, 0x57, 0x30, 0x20, 0x4E, 0xBA,
+  0xC0, 0x00, 0x28, 0x80, 0x11, 0x00, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28,
+  0x80, 0x11, 0x02, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x11, 0x03,
+  0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x11, 0x05, 0x00, 0x00, 0x29,
+  0xC0, 0x00, 0x28, 0x80, 0x11, 0x06, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28,
+  0x80, 0x11, 0x07, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x11, 0x09,
+  0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x11, 0x0B, 0x00, 0x00, 0x29,
+  0xC0, 0x00, 0x28, 0x80, 0x11, 0x0C, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28,
+  0x80, 0x11, 0x0E, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x11, 0x0F,
+  0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x11, 0x10, 0x00, 0x00, 0x29,
+  0xC0, 0x00, 0x28, 0x80, 0x11, 0x11, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28,
+  0x80, 0x11, 0x12, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x11, 0x00,
+  0x80, 0x11, 0x61, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x11, 0x02,
+  0x80, 0x11, 0x61, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x11, 0x03,
+  0x80, 0x11, 0x61, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x11, 0x05,
+  0x80, 0x11, 0x61, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x11, 0x06,
+  0x80, 0x11, 0x61, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x11, 0x07,
+  0x80, 0x11, 0x61, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x11, 0x09,
+  0x80, 0x11, 0x61, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x11, 0x0B,
+  0x80, 0x11, 0x61, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x11, 0x0C,
+  0x80, 0x11, 0x61, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x11, 0x0E,
+  0x80, 0x11, 0x61, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x11, 0x0F,
+  0x80, 0x11, 0x61, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x11, 0x10,
+  0x80, 0x11, 0x61, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x11, 0x11,
+  0x80, 0x11, 0x61, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x11, 0x12,
+  0x80, 0x11, 0x61, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x11, 0x0C,
+  0x80, 0x11, 0x6E, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x11, 0x0B,
+  0x80, 0x11, 0x69, 0x80, 0x11, 0x0C, 0x80, 0x11, 0x65, 0x80, 0x11, 0xAB,
   0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x11, 0x0B, 0x80, 0x11, 0x69,
-  0x80, 0x11, 0x0C, 0x80, 0x11, 0x65, 0x80, 0x11, 0xAB, 0x00, 0x00, 0x29,
-  0xC0, 0x00, 0x28, 0x80, 0x11, 0x0B, 0x80, 0x11, 0x69, 0x80, 0x11, 0x12,
-  0x80, 0x11, 0x6E, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x4E, 0x00,
-  0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x4E, 0x8C, 0x00, 0x00, 0x29,
-  0xC0, 0x00, 0x28, 0x80, 0x4E, 0x09, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28,
-  0x80, 0x56, 0xDB, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x4E, 0x94,
-  0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x51, 0x6D, 0x00, 0x00, 0x29,
-  0xC0, 0x00, 0x28, 0x80, 0x4E, 0x03, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28,
-  0x80, 0x51, 0x6B, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x4E, 0x5D,
-  0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x53, 0x41, 0x00, 0x00, 0x29,
-  0xC0, 0x00, 0x28, 0x80, 0x67, 0x08, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28,
-  0x80, 0x70, 0x6B, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x6C, 0x34,
-  0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x67, 0x28, 0x00, 0x00, 0x29,
-  0xC0, 0x00, 0x28, 0x80, 0x91, 0xD1, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28,
-  0x80, 0x57, 0x1F, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x65, 0xE5,
-  0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x68, 0x2A, 0x00, 0x00, 0x29,
-  0xC0, 0x00, 0x28, 0x80, 0x67, 0x09, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28,
-  0x80, 0x79, 0x3E, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x54, 0x0D,
-  0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x72, 0x79, 0x00, 0x00, 0x29,
-  0xC0, 0x00, 0x28, 0x80, 0x8C, 0xA1, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28,
-  0x80, 0x79, 0x5D, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x52, 0xB4,
-  0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x4E, 0xE3, 0x00, 0x00, 0x29,
-  0xC0, 0x00, 0x28, 0x80, 0x54, 0x7C, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28,
-  0x80, 0x5B, 0x66, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x76, 0xE3,
-  0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x4F, 0x01, 0x00, 0x00, 0x29,
-  0xC0, 0x00, 0x28, 0x80, 0x8C, 0xC7, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28,
-  0x80, 0x53, 0x54, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x79, 0x6D,
-  0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x4F, 0x11, 0x00, 0x00, 0x29,
-  0xC0, 0x00, 0x28, 0x80, 0x81, 0xEA, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28,
-  0x80, 0x81, 0xF3, 0x00, 0x00, 0x29, 0xB8, 0x00, 0x50, 0x80, 0x00, 0x54,
-  0x00, 0x00, 0x45, 0x9C, 0x00, 0x32, 0x00, 0x00, 0x31, 0x9C, 0x00, 0x32,
-  0x00, 0x00, 0x32, 0x9C, 0x00, 0x32, 0x00, 0x00, 0x33, 0x9C, 0x00, 0x32,
-  0x00, 0x00, 0x34, 0x9C, 0x00, 0x32, 0x00, 0x00, 0x35, 0x9C, 0x00, 0x32,
-  0x00, 0x00, 0x36, 0x9C, 0x00, 0x32, 0x00, 0x00, 0x37, 0x9C, 0x00, 0x32,
-  0x00, 0x00, 0x38, 0x9C, 0x00, 0x32, 0x00, 0x00, 0x39, 0x9C, 0x00, 0x33,
-  0x00, 0x00, 0x30, 0x9C, 0x00, 0x33, 0x00, 0x00, 0x31, 0x9C, 0x00, 0x33,
-  0x00, 0x00, 0x32, 0x9C, 0x00, 0x33, 0x00, 0x00, 0x33, 0x9C, 0x00, 0x33,
-  0x00, 0x00, 0x34, 0x9C, 0x00, 0x33, 0x00, 0x00, 0x35, 0x1C, 0x11, 0x00,
-  0x1C, 0x11, 0x02, 0x1C, 0x11, 0x03, 0x1C, 0x11, 0x05, 0x1C, 0x11, 0x06,
-  0x1C, 0x11, 0x07, 0x1C, 0x11, 0x09, 0x1C, 0x11, 0x0B, 0x1C, 0x11, 0x0C,
-  0x1C, 0x11, 0x0E, 0x1C, 0x11, 0x0F, 0x1C, 0x11, 0x10, 0x1C, 0x11, 0x11,
-  0x1C, 0x11, 0x12, 0x9C, 0x11, 0x00, 0x00, 0x11, 0x61, 0x9C, 0x11, 0x02,
-  0x00, 0x11, 0x61, 0x9C, 0x11, 0x03, 0x00, 0x11, 0x61, 0x9C, 0x11, 0x05,
-  0x00, 0x11, 0x61, 0x9C, 0x11, 0x06, 0x00, 0x11, 0x61, 0x9C, 0x11, 0x07,
-  0x00, 0x11, 0x61, 0x9C, 0x11, 0x09, 0x00, 0x11, 0x61, 0x9C, 0x11, 0x0B,
-  0x00, 0x11, 0x61, 0x9C, 0x11, 0x0C, 0x00, 0x11, 0x61, 0x9C, 0x11, 0x0E,
-  0x00, 0x11, 0x61, 0x9C, 0x11, 0x0F, 0x00, 0x11, 0x61, 0x9C, 0x11, 0x10,
-  0x00, 0x11, 0x61, 0x9C, 0x11, 0x11, 0x00, 0x11, 0x61, 0x9C, 0x11, 0x12,
-  0x00, 0x11, 0x61, 0x9C, 0x11, 0x0E, 0x80, 0x11, 0x61, 0x80, 0x11, 0xB7,
-  0x80, 0x11, 0x00, 0x00, 0x11, 0x69, 0x9C, 0x11, 0x0C, 0x80, 0x11, 0x6E,
-  0x80, 0x11, 0x0B, 0x00, 0x11, 0x74, 0x9C, 0x11, 0x0B, 0x00, 0x11, 0x6E,
-  0x1C, 0x4E, 0x00, 0x1C, 0x4E, 0x8C, 0x1C, 0x4E, 0x09, 0x1C, 0x56, 0xDB,
-  0x1C, 0x4E, 0x94, 0x1C, 0x51, 0x6D, 0x1C, 0x4E, 0x03, 0x1C, 0x51, 0x6B,
-  0x1C, 0x4E, 0x5D, 0x1C, 0x53, 0x41, 0x1C, 0x67, 0x08, 0x1C, 0x70, 0x6B,
-  0x1C, 0x6C, 0x34, 0x1C, 0x67, 0x28, 0x1C, 0x91, 0xD1, 0x1C, 0x57, 0x1F,
-  0x1C, 0x65, 0xE5, 0x1C, 0x68, 0x2A, 0x1C, 0x67, 0x09, 0x1C, 0x79, 0x3E,
-  0x1C, 0x54, 0x0D, 0x1C, 0x72, 0x79, 0x1C, 0x8C, 0xA1, 0x1C, 0x79, 0x5D,
-  0x1C, 0x52, 0xB4, 0x1C, 0x79, 0xD8, 0x1C, 0x75, 0x37, 0x1C, 0x59, 0x73,
-  0x1C, 0x90, 0x69, 0x1C, 0x51, 0x2A, 0x1C, 0x53, 0x70, 0x1C, 0x6C, 0xE8,
-  0x1C, 0x98, 0x05, 0x1C, 0x4F, 0x11, 0x1C, 0x51, 0x99, 0x1C, 0x6B, 0x63,
-  0x1C, 0x4E, 0x0A, 0x1C, 0x4E, 0x2D, 0x1C, 0x4E, 0x0B, 0x1C, 0x5D, 0xE6,
-  0x1C, 0x53, 0xF3, 0x1C, 0x53, 0x3B, 0x1C, 0x5B, 0x97, 0x1C, 0x5B, 0x66,
-  0x1C, 0x76, 0xE3, 0x1C, 0x4F, 0x01, 0x1C, 0x8C, 0xC7, 0x1C, 0x53, 0x54,
-  0x1C, 0x59, 0x1C, 0x9C, 0x00, 0x33, 0x00, 0x00, 0x36, 0x9C, 0x00, 0x33,
-  0x00, 0x00, 0x37, 0x9C, 0x00, 0x33, 0x00, 0x00, 0x38, 0x9C, 0x00, 0x33,
-  0x00, 0x00, 0x39, 0x9C, 0x00, 0x34, 0x00, 0x00, 0x30, 0x9C, 0x00, 0x34,
-  0x00, 0x00, 0x31, 0x9C, 0x00, 0x34, 0x00, 0x00, 0x32, 0x9C, 0x00, 0x34,
-  0x00, 0x00, 0x33, 0x9C, 0x00, 0x34, 0x00, 0x00, 0x34, 0x9C, 0x00, 0x34,
-  0x00, 0x00, 0x35, 0x9C, 0x00, 0x34, 0x00, 0x00, 0x36, 0x9C, 0x00, 0x34,
-  0x00, 0x00, 0x37, 0x9C, 0x00, 0x34, 0x00, 0x00, 0x38, 0x9C, 0x00, 0x34,
-  0x00, 0x00, 0x39, 0x9C, 0x00, 0x35, 0x00, 0x00, 0x30, 0xC0, 0x00, 0x31,
-  0x00, 0x67, 0x08, 0xC0, 0x00, 0x32, 0x00, 0x67, 0x08, 0xC0, 0x00, 0x33,
-  0x00, 0x67, 0x08, 0xC0, 0x00, 0x34, 0x00, 0x67, 0x08, 0xC0, 0x00, 0x35,
-  0x00, 0x67, 0x08, 0xC0, 0x00, 0x36, 0x00, 0x67, 0x08, 0xC0, 0x00, 0x37,
-  0x00, 0x67, 0x08, 0xC0, 0x00, 0x38, 0x00, 0x67, 0x08, 0xC0, 0x00, 0x39,
-  0x00, 0x67, 0x08, 0xC0, 0x00, 0x31, 0x80, 0x00, 0x30, 0x00, 0x67, 0x08,
-  0xC0, 0x00, 0x31, 0x80, 0x00, 0x31, 0x00, 0x67, 0x08, 0xC0, 0x00, 0x31,
-  0x80, 0x00, 0x32, 0x00, 0x67, 0x08, 0xB8, 0x00, 0x48, 0x00, 0x00, 0x67,
-  0xB8, 0x00, 0x65, 0x80, 0x00, 0x72, 0x00, 0x00, 0x67, 0xB8, 0x00, 0x65,
-  0x00, 0x00, 0x56, 0xB8, 0x00, 0x4C, 0x80, 0x00, 0x54, 0x00, 0x00, 0x44,
-  0x1C, 0x30, 0xA2, 0x1C, 0x30, 0xA4, 0x1C, 0x30, 0xA6, 0x1C, 0x30, 0xA8,
-  0x1C, 0x30, 0xAA, 0x1C, 0x30, 0xAB, 0x1C, 0x30, 0xAD, 0x1C, 0x30, 0xAF,
-  0x1C, 0x30, 0xB1, 0x1C, 0x30, 0xB3, 0x1C, 0x30, 0xB5, 0x1C, 0x30, 0xB7,
-  0x1C, 0x30, 0xB9, 0x1C, 0x30, 0xBB, 0x1C, 0x30, 0xBD, 0x1C, 0x30, 0xBF,
-  0x1C, 0x30, 0xC1, 0x1C, 0x30, 0xC4, 0x1C, 0x30, 0xC6, 0x1C, 0x30, 0xC8,
-  0x1C, 0x30, 0xCA, 0x1C, 0x30, 0xCB, 0x1C, 0x30, 0xCC, 0x1C, 0x30, 0xCD,
-  0x1C, 0x30, 0xCE, 0x1C, 0x30, 0xCF, 0x1C, 0x30, 0xD2, 0x1C, 0x30, 0xD5,
-  0x1C, 0x30, 0xD8, 0x1C, 0x30, 0xDB, 0x1C, 0x30, 0xDE, 0x1C, 0x30, 0xDF,
-  0x1C, 0x30, 0xE0, 0x1C, 0x30, 0xE1, 0x1C, 0x30, 0xE2, 0x1C, 0x30, 0xE4,
-  0x1C, 0x30, 0xE6, 0x1C, 0x30, 0xE8, 0x1C, 0x30, 0xE9, 0x1C, 0x30, 0xEA,
-  0x1C, 0x30, 0xEB, 0x1C, 0x30, 0xEC, 0x1C, 0x30, 0xED, 0x1C, 0x30, 0xEF,
-  0x1C, 0x30, 0xF0, 0x1C, 0x30, 0xF1, 0x1C, 0x30, 0xF2, 0xB8, 0x30, 0xA2,
-  0x80, 0x30, 0xD1, 0x80, 0x30, 0xFC, 0x00, 0x30, 0xC8, 0xB8, 0x30, 0xA2,
-  0x80, 0x30, 0xEB, 0x80, 0x30, 0xD5, 0x00, 0x30, 0xA1, 0xB8, 0x30, 0xA2,
-  0x80, 0x30, 0xF3, 0x80, 0x30, 0xDA, 0x00, 0x30, 0xA2, 0xB8, 0x30, 0xA2,
-  0x80, 0x30, 0xFC, 0x00, 0x30, 0xEB, 0xB8, 0x30, 0xA4, 0x80, 0x30, 0xCB,
-  0x80, 0x30, 0xF3, 0x00, 0x30, 0xB0, 0xB8, 0x30, 0xA4, 0x80, 0x30, 0xF3,
-  0x00, 0x30, 0xC1, 0xB8, 0x30, 0xA6, 0x80, 0x30, 0xA9, 0x00, 0x30, 0xF3,
-  0xB8, 0x30, 0xA8, 0x80, 0x30, 0xB9, 0x80, 0x30, 0xAF, 0x80, 0x30, 0xFC,
-  0x00, 0x30, 0xC9, 0xB8, 0x30, 0xA8, 0x80, 0x30, 0xFC, 0x80, 0x30, 0xAB,
-  0x00, 0x30, 0xFC, 0xB8, 0x30, 0xAA, 0x80, 0x30, 0xF3, 0x00, 0x30, 0xB9,
-  0xB8, 0x30, 0xAA, 0x80, 0x30, 0xFC, 0x00, 0x30, 0xE0, 0xB8, 0x30, 0xAB,
-  0x80, 0x30, 0xA4, 0x00, 0x30, 0xEA, 0xB8, 0x30, 0xAB, 0x80, 0x30, 0xE9,
-  0x80, 0x30, 0xC3, 0x00, 0x30, 0xC8, 0xB8, 0x30, 0xAB, 0x80, 0x30, 0xED,
-  0x80, 0x30, 0xEA, 0x00, 0x30, 0xFC, 0xB8, 0x30, 0xAC, 0x80, 0x30, 0xED,
-  0x00, 0x30, 0xF3, 0xB8, 0x30, 0xAC, 0x80, 0x30, 0xF3, 0x00, 0x30, 0xDE,
-  0xB8, 0x30, 0xAE, 0x00, 0x30, 0xAC, 0xB8, 0x30, 0xAE, 0x80, 0x30, 0xCB,
-  0x00, 0x30, 0xFC, 0xB8, 0x30, 0xAD, 0x80, 0x30, 0xE5, 0x80, 0x30, 0xEA,
-  0x00, 0x30, 0xFC, 0xB8, 0x30, 0xAE, 0x80, 0x30, 0xEB, 0x80, 0x30, 0xC0,
-  0x00, 0x30, 0xFC, 0xB8, 0x30, 0xAD, 0x00, 0x30, 0xED, 0xB8, 0x30, 0xAD,
-  0x80, 0x30, 0xED, 0x80, 0x30, 0xB0, 0x80, 0x30, 0xE9, 0x00, 0x30, 0xE0,
-  0xB8, 0x30, 0xAD, 0x80, 0x30, 0xED, 0x80, 0x30, 0xE1, 0x80, 0x30, 0xFC,
-  0x80, 0x30, 0xC8, 0x00, 0x30, 0xEB, 0xB8, 0x30, 0xAD, 0x80, 0x30, 0xED,
-  0x80, 0x30, 0xEF, 0x80, 0x30, 0xC3, 0x00, 0x30, 0xC8, 0xB8, 0x30, 0xB0,
-  0x80, 0x30, 0xE9, 0x00, 0x30, 0xE0, 0xB8, 0x30, 0xB0, 0x80, 0x30, 0xE9,
-  0x80, 0x30, 0xE0, 0x80, 0x30, 0xC8, 0x00, 0x30, 0xF3, 0xB8, 0x30, 0xAF,
-  0x80, 0x30, 0xEB, 0x80, 0x30, 0xBC, 0x80, 0x30, 0xA4, 0x00, 0x30, 0xED,
-  0xB8, 0x30, 0xAF, 0x80, 0x30, 0xED, 0x80, 0x30, 0xFC, 0x00, 0x30, 0xCD,
-  0xB8, 0x30, 0xB1, 0x80, 0x30, 0xFC, 0x00, 0x30, 0xB9, 0xB8, 0x30, 0xB3,
-  0x80, 0x30, 0xEB, 0x00, 0x30, 0xCA, 0xB8, 0x30, 0xB3, 0x80, 0x30, 0xFC,
-  0x00, 0x30, 0xDD, 0xB8, 0x30, 0xB5, 0x80, 0x30, 0xA4, 0x80, 0x30, 0xAF,
-  0x00, 0x30, 0xEB, 0xB8, 0x30, 0xB5, 0x80, 0x30, 0xF3, 0x80, 0x30, 0xC1,
-  0x80, 0x30, 0xFC, 0x00, 0x30, 0xE0, 0xB8, 0x30, 0xB7, 0x80, 0x30, 0xEA,
-  0x80, 0x30, 0xF3, 0x00, 0x30, 0xB0, 0xB8, 0x30, 0xBB, 0x80, 0x30, 0xF3,
-  0x00, 0x30, 0xC1, 0xB8, 0x30, 0xBB, 0x80, 0x30, 0xF3, 0x00, 0x30, 0xC8,
-  0xB8, 0x30, 0xC0, 0x80, 0x30, 0xFC, 0x00, 0x30, 0xB9, 0xB8, 0x30, 0xC7,
-  0x00, 0x30, 0xB7, 0xB8, 0x30, 0xC9, 0x00, 0x30, 0xEB, 0xB8, 0x30, 0xC8,
-  0x00, 0x30, 0xF3, 0xB8, 0x30, 0xCA, 0x00, 0x30, 0xCE, 0xB8, 0x30, 0xCE,
-  0x80, 0x30, 0xC3, 0x00, 0x30, 0xC8, 0xB8, 0x30, 0xCF, 0x80, 0x30, 0xA4,
-  0x00, 0x30, 0xC4, 0xB8, 0x30, 0xD1, 0x80, 0x30, 0xFC, 0x80, 0x30, 0xBB,
-  0x80, 0x30, 0xF3, 0x00, 0x30, 0xC8, 0xB8, 0x30, 0xD1, 0x80, 0x30, 0xFC,
-  0x00, 0x30, 0xC4, 0xB8, 0x30, 0xD0, 0x80, 0x30, 0xFC, 0x80, 0x30, 0xEC,
-  0x00, 0x30, 0xEB, 0xB8, 0x30, 0xD4, 0x80, 0x30, 0xA2, 0x80, 0x30, 0xB9,
-  0x80, 0x30, 0xC8, 0x00, 0x30, 0xEB, 0xB8, 0x30, 0xD4, 0x80, 0x30, 0xAF,
-  0x00, 0x30, 0xEB, 0xB8, 0x30, 0xD4, 0x00, 0x30, 0xB3, 0xB8, 0x30, 0xD3,
-  0x00, 0x30, 0xEB, 0xB8, 0x30, 0xD5, 0x80, 0x30, 0xA1, 0x80, 0x30, 0xE9,
-  0x80, 0x30, 0xC3, 0x00, 0x30, 0xC9, 0xB8, 0x30, 0xD5, 0x80, 0x30, 0xA3,
-  0x80, 0x30, 0xFC, 0x00, 0x30, 0xC8, 0xB8, 0x30, 0xD6, 0x80, 0x30, 0xC3,
-  0x80, 0x30, 0xB7, 0x80, 0x30, 0xA7, 0x00, 0x30, 0xEB, 0xB8, 0x30, 0xD5,
-  0x80, 0x30, 0xE9, 0x00, 0x30, 0xF3, 0xB8, 0x30, 0xD8, 0x80, 0x30, 0xAF,
-  0x80, 0x30, 0xBF, 0x80, 0x30, 0xFC, 0x00, 0x30, 0xEB, 0xB8, 0x30, 0xDA,
-  0x00, 0x30, 0xBD, 0xB8, 0x30, 0xDA, 0x80, 0x30, 0xCB, 0x00, 0x30, 0xD2,
-  0xB8, 0x30, 0xD8, 0x80, 0x30, 0xEB, 0x00, 0x30, 0xC4, 0xB8, 0x30, 0xDA,
-  0x80, 0x30, 0xF3, 0x00, 0x30, 0xB9, 0xB8, 0x30, 0xDA, 0x80, 0x30, 0xFC,
-  0x00, 0x30, 0xB8, 0xB8, 0x30, 0xD9, 0x80, 0x30, 0xFC, 0x00, 0x30, 0xBF,
-  0xB8, 0x30, 0xDD, 0x80, 0x30, 0xA4, 0x80, 0x30, 0xF3, 0x00, 0x30, 0xC8,
-  0xB8, 0x30, 0xDC, 0x80, 0x30, 0xEB, 0x00, 0x30, 0xC8, 0xB8, 0x30, 0xDB,
-  0x00, 0x30, 0xF3, 0xB8, 0x30, 0xDD, 0x80, 0x30, 0xF3, 0x00, 0x30, 0xC9,
-  0xB8, 0x30, 0xDB, 0x80, 0x30, 0xFC, 0x00, 0x30, 0xEB, 0xB8, 0x30, 0xDB,
-  0x80, 0x30, 0xFC, 0x00, 0x30, 0xF3, 0xB8, 0x30, 0xDE, 0x80, 0x30, 0xA4,
-  0x80, 0x30, 0xAF, 0x00, 0x30, 0xED, 0xB8, 0x30, 0xDE, 0x80, 0x30, 0xA4,
-  0x00, 0x30, 0xEB, 0xB8, 0x30, 0xDE, 0x80, 0x30, 0xC3, 0x00, 0x30, 0xCF,
-  0xB8, 0x30, 0xDE, 0x80, 0x30, 0xEB, 0x00, 0x30, 0xAF, 0xB8, 0x30, 0xDE,
-  0x80, 0x30, 0xF3, 0x80, 0x30, 0xB7, 0x80, 0x30, 0xE7, 0x00, 0x30, 0xF3,
-  0xB8, 0x30, 0xDF, 0x80, 0x30, 0xAF, 0x80, 0x30, 0xED, 0x00, 0x30, 0xF3,
-  0xB8, 0x30, 0xDF, 0x00, 0x30, 0xEA, 0xB8, 0x30, 0xDF, 0x80, 0x30, 0xEA,
-  0x80, 0x30, 0xD0, 0x80, 0x30, 0xFC, 0x00, 0x30, 0xEB, 0xB8, 0x30, 0xE1,
-  0x00, 0x30, 0xAC, 0xB8, 0x30, 0xE1, 0x80, 0x30, 0xAC, 0x80, 0x30, 0xC8,
-  0x00, 0x30, 0xF3, 0xB8, 0x30, 0xE1, 0x80, 0x30, 0xFC, 0x80, 0x30, 0xC8,
-  0x00, 0x30, 0xEB, 0xB8, 0x30, 0xE4, 0x80, 0x30, 0xFC, 0x00, 0x30, 0xC9,
-  0xB8, 0x30, 0xE4, 0x80, 0x30, 0xFC, 0x00, 0x30, 0xEB, 0xB8, 0x30, 0xE6,
-  0x80, 0x30, 0xA2, 0x00, 0x30, 0xF3, 0xB8, 0x30, 0xEA, 0x80, 0x30, 0xC3,
-  0x80, 0x30, 0xC8, 0x00, 0x30, 0xEB, 0xB8, 0x30, 0xEA, 0x00, 0x30, 0xE9,
-  0xB8, 0x30, 0xEB, 0x80, 0x30, 0xD4, 0x00, 0x30, 0xFC, 0xB8, 0x30, 0xEB,
-  0x80, 0x30, 0xFC, 0x80, 0x30, 0xD6, 0x00, 0x30, 0xEB, 0xB8, 0x30, 0xEC,
-  0x00, 0x30, 0xE0, 0xB8, 0x30, 0xEC, 0x80, 0x30, 0xF3, 0x80, 0x30, 0xC8,
-  0x80, 0x30, 0xB2, 0x00, 0x30, 0xF3, 0xB8, 0x30, 0xEF, 0x80, 0x30, 0xC3,
-  0x00, 0x30, 0xC8, 0xC0, 0x00, 0x30, 0x00, 0x70, 0xB9, 0xC0, 0x00, 0x31,
-  0x00, 0x70, 0xB9, 0xC0, 0x00, 0x32, 0x00, 0x70, 0xB9, 0xC0, 0x00, 0x33,
-  0x00, 0x70, 0xB9, 0xC0, 0x00, 0x34, 0x00, 0x70, 0xB9, 0xC0, 0x00, 0x35,
-  0x00, 0x70, 0xB9, 0xC0, 0x00, 0x36, 0x00, 0x70, 0xB9, 0xC0, 0x00, 0x37,
-  0x00, 0x70, 0xB9, 0xC0, 0x00, 0x38, 0x00, 0x70, 0xB9, 0xC0, 0x00, 0x39,
-  0x00, 0x70, 0xB9, 0xC0, 0x00, 0x31, 0x80, 0x00, 0x30, 0x00, 0x70, 0xB9,
-  0xC0, 0x00, 0x31, 0x80, 0x00, 0x31, 0x00, 0x70, 0xB9, 0xC0, 0x00, 0x31,
-  0x80, 0x00, 0x32, 0x00, 0x70, 0xB9, 0xC0, 0x00, 0x31, 0x80, 0x00, 0x33,
-  0x00, 0x70, 0xB9, 0xC0, 0x00, 0x31, 0x80, 0x00, 0x34, 0x00, 0x70, 0xB9,
-  0xC0, 0x00, 0x31, 0x80, 0x00, 0x35, 0x00, 0x70, 0xB9, 0xC0, 0x00, 0x31,
-  0x80, 0x00, 0x36, 0x00, 0x70, 0xB9, 0xC0, 0x00, 0x31, 0x80, 0x00, 0x37,
-  0x00, 0x70, 0xB9, 0xC0, 0x00, 0x31, 0x80, 0x00, 0x38, 0x00, 0x70, 0xB9,
-  0xC0, 0x00, 0x31, 0x80, 0x00, 0x39, 0x00, 0x70, 0xB9, 0xC0, 0x00, 0x32,
-  0x80, 0x00, 0x30, 0x00, 0x70, 0xB9, 0xC0, 0x00, 0x32, 0x80, 0x00, 0x31,
-  0x00, 0x70, 0xB9, 0xC0, 0x00, 0x32, 0x80, 0x00, 0x32, 0x00, 0x70, 0xB9,
-  0xC0, 0x00, 0x32, 0x80, 0x00, 0x33, 0x00, 0x70, 0xB9, 0xC0, 0x00, 0x32,
-  0x80, 0x00, 0x34, 0x00, 0x70, 0xB9, 0xB8, 0x00, 0x68, 0x80, 0x00, 0x50,
-  0x00, 0x00, 0x61, 0xB8, 0x00, 0x64, 0x00, 0x00, 0x61, 0xB8, 0x00, 0x41,
-  0x00, 0x00, 0x55, 0xB8, 0x00, 0x62, 0x80, 0x00, 0x61, 0x00, 0x00, 0x72,
-  0xB8, 0x00, 0x6F, 0x00, 0x00, 0x56, 0xB8, 0x00, 0x70, 0x00, 0x00, 0x63,
-  0xB8, 0x00, 0x64, 0x00, 0x00, 0x6D, 0xB8, 0x00, 0x64, 0x80, 0x00, 0x6D,
-  0x00, 0x00, 0xB2, 0xB8, 0x00, 0x64, 0x80, 0x00, 0x6D, 0x00, 0x00, 0xB3,
-  0xB8, 0x00, 0x49, 0x00, 0x00, 0x55, 0xB8, 0x5E, 0x73, 0x00, 0x62, 0x10,
-  0xB8, 0x66, 0x2D, 0x00, 0x54, 0x8C, 0xB8, 0x59, 0x27, 0x00, 0x6B, 0x63,
-  0xB8, 0x66, 0x0E, 0x00, 0x6C, 0xBB, 0xB8, 0x68, 0x2A, 0x80, 0x5F, 0x0F,
-  0x80, 0x4F, 0x1A, 0x00, 0x79, 0x3E, 0xB8, 0x00, 0x70, 0x00, 0x00, 0x41,
-  0xB8, 0x00, 0x6E, 0x00, 0x00, 0x41, 0xB8, 0x03, 0xBC, 0x00, 0x00, 0x41,
-  0xB8, 0x00, 0x6D, 0x00, 0x00, 0x41, 0xB8, 0x00, 0x6B, 0x00, 0x00, 0x41,
-  0xB8, 0x00, 0x4B, 0x00, 0x00, 0x42, 0xB8, 0x00, 0x4D, 0x00, 0x00, 0x42,
-  0xB8, 0x00, 0x47, 0x00, 0x00, 0x42, 0xB8, 0x00, 0x63, 0x80, 0x00, 0x61,
-  0x00, 0x00, 0x6C, 0xB8, 0x00, 0x6B, 0x80, 0x00, 0x63, 0x80, 0x00, 0x61,
-  0x00, 0x00, 0x6C, 0xB8, 0x00, 0x70, 0x00, 0x00, 0x46, 0xB8, 0x00, 0x6E,
-  0x00, 0x00, 0x46, 0xB8, 0x03, 0xBC, 0x00, 0x00, 0x46, 0xB8, 0x03, 0xBC,
-  0x00, 0x00, 0x67, 0xB8, 0x00, 0x6D, 0x00, 0x00, 0x67, 0xB8, 0x00, 0x6B,
-  0x00, 0x00, 0x67, 0xB8, 0x00, 0x48, 0x00, 0x00, 0x7A, 0xB8, 0x00, 0x6B,
-  0x80, 0x00, 0x48, 0x00, 0x00, 0x7A, 0xB8, 0x00, 0x4D, 0x80, 0x00, 0x48,
-  0x00, 0x00, 0x7A, 0xB8, 0x00, 0x47, 0x80, 0x00, 0x48, 0x00, 0x00, 0x7A,
-  0xB8, 0x00, 0x54, 0x80, 0x00, 0x48, 0x00, 0x00, 0x7A, 0xB8, 0x03, 0xBC,
-  0x00, 0x21, 0x13, 0xB8, 0x00, 0x6D, 0x00, 0x21, 0x13, 0xB8, 0x00, 0x64,
-  0x00, 0x21, 0x13, 0xB8, 0x00, 0x6B, 0x00, 0x21, 0x13, 0xB8, 0x00, 0x66,
-  0x00, 0x00, 0x6D, 0xB8, 0x00, 0x6E, 0x00, 0x00, 0x6D, 0xB8, 0x03, 0xBC,
-  0x00, 0x00, 0x6D, 0xB8, 0x00, 0x6D, 0x00, 0x00, 0x6D, 0xB8, 0x00, 0x63,
-  0x00, 0x00, 0x6D, 0xB8, 0x00, 0x6B, 0x00, 0x00, 0x6D, 0xB8, 0x00, 0x6D,
-  0x80, 0x00, 0x6D, 0x00, 0x00, 0xB2, 0xB8, 0x00, 0x63, 0x80, 0x00, 0x6D,
-  0x00, 0x00, 0xB2, 0xB8, 0x00, 0x6D, 0x00, 0x00, 0xB2, 0xB8, 0x00, 0x6B,
-  0x80, 0x00, 0x6D, 0x00, 0x00, 0xB2, 0xB8, 0x00, 0x6D, 0x80, 0x00, 0x6D,
-  0x00, 0x00, 0xB3, 0xB8, 0x00, 0x63, 0x80, 0x00, 0x6D, 0x00, 0x00, 0xB3,
-  0xB8, 0x00, 0x6D, 0x00, 0x00, 0xB3, 0xB8, 0x00, 0x6B, 0x80, 0x00, 0x6D,
-  0x00, 0x00, 0xB3, 0xB8, 0x00, 0x6D, 0x80, 0x22, 0x15, 0x00, 0x00, 0x73,
-  0xB8, 0x00, 0x6D, 0x80, 0x22, 0x15, 0x80, 0x00, 0x73, 0x00, 0x00, 0xB2,
-  0xB8, 0x00, 0x50, 0x00, 0x00, 0x61, 0xB8, 0x00, 0x6B, 0x80, 0x00, 0x50,
-  0x00, 0x00, 0x61, 0xB8, 0x00, 0x4D, 0x80, 0x00, 0x50, 0x00, 0x00, 0x61,
-  0xB8, 0x00, 0x47, 0x80, 0x00, 0x50, 0x00, 0x00, 0x61, 0xB8, 0x00, 0x72,
-  0x80, 0x00, 0x61, 0x00, 0x00, 0x64, 0xB8, 0x00, 0x72, 0x80, 0x00, 0x61,
-  0x80, 0x00, 0x64, 0x80, 0x22, 0x15, 0x00, 0x00, 0x73, 0xB8, 0x00, 0x72,
-  0x80, 0x00, 0x61, 0x80, 0x00, 0x64, 0x80, 0x22, 0x15, 0x80, 0x00, 0x73,
-  0x00, 0x00, 0xB2, 0xB8, 0x00, 0x70, 0x00, 0x00, 0x73, 0xB8, 0x00, 0x6E,
-  0x00, 0x00, 0x73, 0xB8, 0x03, 0xBC, 0x00, 0x00, 0x73, 0xB8, 0x00, 0x6D,
-  0x00, 0x00, 0x73, 0xB8, 0x00, 0x70, 0x00, 0x00, 0x56, 0xB8, 0x00, 0x6E,
-  0x00, 0x00, 0x56, 0xB8, 0x03, 0xBC, 0x00, 0x00, 0x56, 0xB8, 0x00, 0x6D,
-  0x00, 0x00, 0x56, 0xB8, 0x00, 0x6B, 0x00, 0x00, 0x56, 0xB8, 0x00, 0x4D,
-  0x00, 0x00, 0x56, 0xB8, 0x00, 0x70, 0x00, 0x00, 0x57, 0xB8, 0x00, 0x6E,
-  0x00, 0x00, 0x57, 0xB8, 0x03, 0xBC, 0x00, 0x00, 0x57, 0xB8, 0x00, 0x6D,
-  0x00, 0x00, 0x57, 0xB8, 0x00, 0x6B, 0x00, 0x00, 0x57, 0xB8, 0x00, 0x4D,
-  0x00, 0x00, 0x57, 0xB8, 0x00, 0x6B, 0x00, 0x03, 0xA9, 0xB8, 0x00, 0x4D,
-  0x00, 0x03, 0xA9, 0xB8, 0x00, 0x61, 0x80, 0x00, 0x2E, 0x80, 0x00, 0x6D,
-  0x00, 0x00, 0x2E, 0xB8, 0x00, 0x42, 0x00, 0x00, 0x71, 0xB8, 0x00, 0x63,
-  0x00, 0x00, 0x63, 0xB8, 0x00, 0x63, 0x00, 0x00, 0x64, 0xB8, 0x00, 0x43,
-  0x80, 0x22, 0x15, 0x80, 0x00, 0x6B, 0x00, 0x00, 0x67, 0xB8, 0x00, 0x43,
-  0x80, 0x00, 0x6F, 0x00, 0x00, 0x2E, 0xB8, 0x00, 0x64, 0x00, 0x00, 0x42,
-  0xB8, 0x00, 0x47, 0x00, 0x00, 0x79, 0xB8, 0x00, 0x68, 0x00, 0x00, 0x61,
-  0xB8, 0x00, 0x48, 0x00, 0x00, 0x50, 0xB8, 0x00, 0x69, 0x00, 0x00, 0x6E,
-  0xB8, 0x00, 0x4B, 0x00, 0x00, 0x4B, 0xB8, 0x00, 0x4B, 0x00, 0x00, 0x4D,
-  0xB8, 0x00, 0x6B, 0x00, 0x00, 0x74, 0xB8, 0x00, 0x6C, 0x00, 0x00, 0x6D,
-  0xB8, 0x00, 0x6C, 0x00, 0x00, 0x6E, 0xB8, 0x00, 0x6C, 0x80, 0x00, 0x6F,
-  0x00, 0x00, 0x67, 0xB8, 0x00, 0x6C, 0x00, 0x00, 0x78, 0xB8, 0x00, 0x6D,
-  0x00, 0x00, 0x62, 0xB8, 0x00, 0x6D, 0x80, 0x00, 0x69, 0x00, 0x00, 0x6C,
-  0xB8, 0x00, 0x6D, 0x80, 0x00, 0x6F, 0x00, 0x00, 0x6C, 0xB8, 0x00, 0x50,
-  0x00, 0x00, 0x48, 0xB8, 0x00, 0x70, 0x80, 0x00, 0x2E, 0x80, 0x00, 0x6D,
-  0x00, 0x00, 0x2E, 0xB8, 0x00, 0x50, 0x80, 0x00, 0x50, 0x00, 0x00, 0x4D,
-  0xB8, 0x00, 0x50, 0x00, 0x00, 0x52, 0xB8, 0x00, 0x73, 0x00, 0x00, 0x72,
-  0xB8, 0x00, 0x53, 0x00, 0x00, 0x76, 0xB8, 0x00, 0x57, 0x00, 0x00, 0x62,
-  0xB8, 0x00, 0x56, 0x80, 0x22, 0x15, 0x00, 0x00, 0x6D, 0xB8, 0x00, 0x41,
-  0x80, 0x22, 0x15, 0x00, 0x00, 0x6D, 0xC0, 0x00, 0x31, 0x00, 0x65, 0xE5,
-  0xC0, 0x00, 0x32, 0x00, 0x65, 0xE5, 0xC0, 0x00, 0x33, 0x00, 0x65, 0xE5,
-  0xC0, 0x00, 0x34, 0x00, 0x65, 0xE5, 0xC0, 0x00, 0x35, 0x00, 0x65, 0xE5,
-  0xC0, 0x00, 0x36, 0x00, 0x65, 0xE5, 0xC0, 0x00, 0x37, 0x00, 0x65, 0xE5,
-  0xC0, 0x00, 0x38, 0x00, 0x65, 0xE5, 0xC0, 0x00, 0x39, 0x00, 0x65, 0xE5,
-  0xC0, 0x00, 0x31, 0x80, 0x00, 0x30, 0x00, 0x65, 0xE5, 0xC0, 0x00, 0x31,
-  0x80, 0x00, 0x31, 0x00, 0x65, 0xE5, 0xC0, 0x00, 0x31, 0x80, 0x00, 0x32,
-  0x00, 0x65, 0xE5, 0xC0, 0x00, 0x31, 0x80, 0x00, 0x33, 0x00, 0x65, 0xE5,
-  0xC0, 0x00, 0x31, 0x80, 0x00, 0x34, 0x00, 0x65, 0xE5, 0xC0, 0x00, 0x31,
-  0x80, 0x00, 0x35, 0x00, 0x65, 0xE5, 0xC0, 0x00, 0x31, 0x80, 0x00, 0x36,
-  0x00, 0x65, 0xE5, 0xC0, 0x00, 0x31, 0x80, 0x00, 0x37, 0x00, 0x65, 0xE5,
-  0xC0, 0x00, 0x31, 0x80, 0x00, 0x38, 0x00, 0x65, 0xE5, 0xC0, 0x00, 0x31,
-  0x80, 0x00, 0x39, 0x00, 0x65, 0xE5, 0xC0, 0x00, 0x32, 0x80, 0x00, 0x30,
-  0x00, 0x65, 0xE5, 0xC0, 0x00, 0x32, 0x80, 0x00, 0x31, 0x00, 0x65, 0xE5,
-  0xC0, 0x00, 0x32, 0x80, 0x00, 0x32, 0x00, 0x65, 0xE5, 0xC0, 0x00, 0x32,
-  0x80, 0x00, 0x33, 0x00, 0x65, 0xE5, 0xC0, 0x00, 0x32, 0x80, 0x00, 0x34,
-  0x00, 0x65, 0xE5, 0xC0, 0x00, 0x32, 0x80, 0x00, 0x35, 0x00, 0x65, 0xE5,
-  0xC0, 0x00, 0x32, 0x80, 0x00, 0x36, 0x00, 0x65, 0xE5, 0xC0, 0x00, 0x32,
-  0x80, 0x00, 0x37, 0x00, 0x65, 0xE5, 0xC0, 0x00, 0x32, 0x80, 0x00, 0x38,
-  0x00, 0x65, 0xE5, 0xC0, 0x00, 0x32, 0x80, 0x00, 0x39, 0x00, 0x65, 0xE5,
-  0xC0, 0x00, 0x33, 0x80, 0x00, 0x30, 0x00, 0x65, 0xE5, 0xC0, 0x00, 0x33,
-  0x80, 0x00, 0x31, 0x00, 0x65, 0xE5, 0xB8, 0x00, 0x67, 0x80, 0x00, 0x61,
-  0x00, 0x00, 0x6C, 0x20, 0xA7, 0x6F, 0x00, 0x8C, 0x48, 0x00, 0x66, 0xF4,
-  0x00, 0x8E, 0xCA, 0x00, 0x8C, 0xC8, 0x00, 0x6E, 0xD1, 0x00, 0x4E, 0x32,
-  0x00, 0x53, 0xE5, 0x00, 0x9F, 0x9C, 0x00, 0x9F, 0x9C, 0x00, 0x59, 0x51,
-  0x00, 0x91, 0xD1, 0x00, 0x55, 0x87, 0x00, 0x59, 0x48, 0x00, 0x61, 0xF6,
-  0x00, 0x76, 0x69, 0x00, 0x7F, 0x85, 0x00, 0x86, 0x3F, 0x00, 0x87, 0xBA,
-  0x00, 0x88, 0xF8, 0x00, 0x90, 0x8F, 0x00, 0x6A, 0x02, 0x00, 0x6D, 0x1B,
-  0x00, 0x70, 0xD9, 0x00, 0x73, 0xDE, 0x00, 0x84, 0x3D, 0x00, 0x91, 0x6A,
-  0x00, 0x99, 0xF1, 0x00, 0x4E, 0x82, 0x00, 0x53, 0x75, 0x00, 0x6B, 0x04,
-  0x00, 0x72, 0x1B, 0x00, 0x86, 0x2D, 0x00, 0x9E, 0x1E, 0x00, 0x5D, 0x50,
-  0x00, 0x6F, 0xEB, 0x00, 0x85, 0xCD, 0x00, 0x89, 0x64, 0x00, 0x62, 0xC9,
-  0x00, 0x81, 0xD8, 0x00, 0x88, 0x1F, 0x00, 0x5E, 0xCA, 0x00, 0x67, 0x17,
-  0x00, 0x6D, 0x6A, 0x00, 0x72, 0xFC, 0x00, 0x90, 0xCE, 0x00, 0x4F, 0x86,
-  0x00, 0x51, 0xB7, 0x00, 0x52, 0xDE, 0x00, 0x64, 0xC4, 0x00, 0x6A, 0xD3,
-  0x00, 0x72, 0x10, 0x00, 0x76, 0xE7, 0x00, 0x80, 0x01, 0x00, 0x86, 0x06,
-  0x00, 0x86, 0x5C, 0x00, 0x8D, 0xEF, 0x00, 0x97, 0x32, 0x00, 0x9B, 0x6F,
-  0x00, 0x9D, 0xFA, 0x00, 0x78, 0x8C, 0x00, 0x79, 0x7F, 0x00, 0x7D, 0xA0,
-  0x00, 0x83, 0xC9, 0x00, 0x93, 0x04, 0x00, 0x9E, 0x7F, 0x00, 0x8A, 0xD6,
-  0x00, 0x58, 0xDF, 0x00, 0x5F, 0x04, 0x00, 0x7C, 0x60, 0x00, 0x80, 0x7E,
-  0x00, 0x72, 0x62, 0x00, 0x78, 0xCA, 0x00, 0x8C, 0xC2, 0x00, 0x96, 0xF7,
-  0x00, 0x58, 0xD8, 0x00, 0x5C, 0x62, 0x00, 0x6A, 0x13, 0x00, 0x6D, 0xDA,
-  0x00, 0x6F, 0x0F, 0x00, 0x7D, 0x2F, 0x00, 0x7E, 0x37, 0x00, 0x96, 0x4B,
-  0x00, 0x52, 0xD2, 0x00, 0x80, 0x8B, 0x00, 0x51, 0xDC, 0x00, 0x51, 0xCC,
-  0x00, 0x7A, 0x1C, 0x00, 0x7D, 0xBE, 0x00, 0x83, 0xF1, 0x00, 0x96, 0x75,
-  0x00, 0x8B, 0x80, 0x00, 0x62, 0xCF, 0x00, 0x6A, 0x02, 0x00, 0x8A, 0xFE,
-  0x00, 0x4E, 0x39, 0x00, 0x5B, 0xE7, 0x00, 0x60, 0x12, 0x00, 0x73, 0x87,
-  0x00, 0x75, 0x70, 0x00, 0x53, 0x17, 0x00, 0x78, 0xFB, 0x00, 0x4F, 0xBF,
-  0x00, 0x5F, 0xA9, 0x00, 0x4E, 0x0D, 0x00, 0x6C, 0xCC, 0x00, 0x65, 0x78,
-  0x00, 0x7D, 0x22, 0x00, 0x53, 0xC3, 0x00, 0x58, 0x5E, 0x00, 0x77, 0x01,
-  0x00, 0x84, 0x49, 0x00, 0x8A, 0xAA, 0x00, 0x6B, 0xBA, 0x00, 0x8F, 0xB0,
-  0x00, 0x6C, 0x88, 0x00, 0x62, 0xFE, 0x00, 0x82, 0xE5, 0x00, 0x63, 0xA0,
-  0x00, 0x75, 0x65, 0x00, 0x4E, 0xAE, 0x00, 0x51, 0x69, 0x00, 0x51, 0xC9,
-  0x00, 0x68, 0x81, 0x00, 0x7C, 0xE7, 0x00, 0x82, 0x6F, 0x00, 0x8A, 0xD2,
-  0x00, 0x91, 0xCF, 0x00, 0x52, 0xF5, 0x00, 0x54, 0x42, 0x00, 0x59, 0x73,
-  0x00, 0x5E, 0xEC, 0x00, 0x65, 0xC5, 0x00, 0x6F, 0xFE, 0x00, 0x79, 0x2A,
-  0x00, 0x95, 0xAD, 0x00, 0x9A, 0x6A, 0x00, 0x9E, 0x97, 0x00, 0x9E, 0xCE,
-  0x00, 0x52, 0x9B, 0x00, 0x66, 0xC6, 0x00, 0x6B, 0x77, 0x00, 0x8F, 0x62,
-  0x00, 0x5E, 0x74, 0x00, 0x61, 0x90, 0x00, 0x62, 0x00, 0x00, 0x64, 0x9A,
-  0x00, 0x6F, 0x23, 0x00, 0x71, 0x49, 0x00, 0x74, 0x89, 0x00, 0x79, 0xCA,
-  0x00, 0x7D, 0xF4, 0x00, 0x80, 0x6F, 0x00, 0x8F, 0x26, 0x00, 0x84, 0xEE,
-  0x00, 0x90, 0x23, 0x00, 0x93, 0x4A, 0x00, 0x52, 0x17, 0x00, 0x52, 0xA3,
-  0x00, 0x54, 0xBD, 0x00, 0x70, 0xC8, 0x00, 0x88, 0xC2, 0x00, 0x8A, 0xAA,
-  0x00, 0x5E, 0xC9, 0x00, 0x5F, 0xF5, 0x00, 0x63, 0x7B, 0x00, 0x6B, 0xAE,
-  0x00, 0x7C, 0x3E, 0x00, 0x73, 0x75, 0x00, 0x4E, 0xE4, 0x00, 0x56, 0xF9,
-  0x00, 0x5B, 0xE7, 0x00, 0x5D, 0xBA, 0x00, 0x60, 0x1C, 0x00, 0x73, 0xB2,
-  0x00, 0x74, 0x69, 0x00, 0x7F, 0x9A, 0x00, 0x80, 0x46, 0x00, 0x92, 0x34,
-  0x00, 0x96, 0xF6, 0x00, 0x97, 0x48, 0x00, 0x98, 0x18, 0x00, 0x4F, 0x8B,
-  0x00, 0x79, 0xAE, 0x00, 0x91, 0xB4, 0x00, 0x96, 0xB8, 0x00, 0x60, 0xE1,
-  0x00, 0x4E, 0x86, 0x00, 0x50, 0xDA, 0x00, 0x5B, 0xEE, 0x00, 0x5C, 0x3F,
-  0x00, 0x65, 0x99, 0x00, 0x6A, 0x02, 0x00, 0x71, 0xCE, 0x00, 0x76, 0x42,
-  0x00, 0x84, 0xFC, 0x00, 0x90, 0x7C, 0x00, 0x9F, 0x8D, 0x00, 0x66, 0x88,
-  0x00, 0x96, 0x2E, 0x00, 0x52, 0x89, 0x00, 0x67, 0x7B, 0x00, 0x67, 0xF3,
-  0x00, 0x6D, 0x41, 0x00, 0x6E, 0x9C, 0x00, 0x74, 0x09, 0x00, 0x75, 0x59,
-  0x00, 0x78, 0x6B, 0x00, 0x7D, 0x10, 0x00, 0x98, 0x5E, 0x00, 0x51, 0x6D,
-  0x00, 0x62, 0x2E, 0x00, 0x96, 0x78, 0x00, 0x50, 0x2B, 0x00, 0x5D, 0x19,
-  0x00, 0x6D, 0xEA, 0x00, 0x8F, 0x2A, 0x00, 0x5F, 0x8B, 0x00, 0x61, 0x44,
-  0x00, 0x68, 0x17, 0x00, 0x73, 0x87, 0x00, 0x96, 0x86, 0x00, 0x52, 0x29,
-  0x00, 0x54, 0x0F, 0x00, 0x5C, 0x65, 0x00, 0x66, 0x13, 0x00, 0x67, 0x4E,
-  0x00, 0x68, 0xA8, 0x00, 0x6C, 0xE5, 0x00, 0x74, 0x06, 0x00, 0x75, 0xE2,
-  0x00, 0x7F, 0x79, 0x00, 0x88, 0xCF, 0x00, 0x88, 0xE1, 0x00, 0x91, 0xCC,
-  0x00, 0x96, 0xE2, 0x00, 0x53, 0x3F, 0x00, 0x6E, 0xBA, 0x00, 0x54, 0x1D,
-  0x00, 0x71, 0xD0, 0x00, 0x74, 0x98, 0x00, 0x85, 0xFA, 0x00, 0x96, 0xA3,
-  0x00, 0x9C, 0x57, 0x00, 0x9E, 0x9F, 0x00, 0x67, 0x97, 0x00, 0x6D, 0xCB,
-  0x00, 0x81, 0xE8, 0x00, 0x7A, 0xCB, 0x00, 0x7B, 0x20, 0x00, 0x7C, 0x92,
-  0x00, 0x72, 0xC0, 0x00, 0x70, 0x99, 0x00, 0x8B, 0x58, 0x00, 0x4E, 0xC0,
-  0x00, 0x83, 0x36, 0x00, 0x52, 0x3A, 0x00, 0x52, 0x07, 0x00, 0x5E, 0xA6,
-  0x00, 0x62, 0xD3, 0x00, 0x7C, 0xD6, 0x00, 0x5B, 0x85, 0x00, 0x6D, 0x1E,
-  0x00, 0x66, 0xB4, 0x00, 0x8F, 0x3B, 0x00, 0x88, 0x4C, 0x00, 0x96, 0x4D,
-  0x00, 0x89, 0x8B, 0x00, 0x5E, 0xD3, 0x00, 0x51, 0x40, 0x00, 0x55, 0xC0,
-  0x00, 0x58, 0x5A, 0x00, 0x66, 0x74, 0x00, 0x51, 0xDE, 0x00, 0x73, 0x2A,
-  0x00, 0x76, 0xCA, 0x00, 0x79, 0x3C, 0x00, 0x79, 0x5E, 0x00, 0x79, 0x65,
-  0x00, 0x79, 0x8F, 0x00, 0x97, 0x56, 0x00, 0x7C, 0xBE, 0x00, 0x7F, 0xBD,
-  0x00, 0x86, 0x12, 0x00, 0x8A, 0xF8, 0x00, 0x90, 0x38, 0x00, 0x90, 0xFD,
-  0x00, 0x98, 0xEF, 0x00, 0x98, 0xFC, 0x00, 0x99, 0x28, 0x00, 0x9D, 0xB4,
-  0x00, 0x4F, 0xAE, 0x00, 0x50, 0xE7, 0x00, 0x51, 0x4D, 0x00, 0x52, 0xC9,
-  0x00, 0x52, 0xE4, 0x00, 0x53, 0x51, 0x00, 0x55, 0x9D, 0x00, 0x56, 0x06,
-  0x00, 0x56, 0x68, 0x00, 0x58, 0x40, 0x00, 0x58, 0xA8, 0x00, 0x5C, 0x64,
-  0x00, 0x5C, 0x6E, 0x00, 0x60, 0x94, 0x00, 0x61, 0x68, 0x00, 0x61, 0x8E,
-  0x00, 0x61, 0xF2, 0x00, 0x65, 0x4F, 0x00, 0x65, 0xE2, 0x00, 0x66, 0x91,
-  0x00, 0x68, 0x85, 0x00, 0x6D, 0x77, 0x00, 0x6E, 0x1A, 0x00, 0x6F, 0x22,
-  0x00, 0x71, 0x6E, 0x00, 0x72, 0x2B, 0x00, 0x74, 0x22, 0x00, 0x78, 0x91,
-  0x00, 0x79, 0x3E, 0x00, 0x79, 0x49, 0x00, 0x79, 0x48, 0x00, 0x79, 0x50,
-  0x00, 0x79, 0x56, 0x00, 0x79, 0x5D, 0x00, 0x79, 0x8D, 0x00, 0x79, 0x8E,
-  0x00, 0x7A, 0x40, 0x00, 0x7A, 0x81, 0x00, 0x7B, 0xC0, 0x00, 0x7D, 0xF4,
-  0x00, 0x7E, 0x09, 0x00, 0x7E, 0x41, 0x00, 0x7F, 0x72, 0x00, 0x80, 0x05,
-  0x00, 0x81, 0xED, 0x00, 0x82, 0x79, 0x00, 0x82, 0x79, 0x00, 0x84, 0x57,
-  0x00, 0x89, 0x10, 0x00, 0x89, 0x96, 0x00, 0x8B, 0x01, 0x00, 0x8B, 0x39,
-  0x00, 0x8C, 0xD3, 0x00, 0x8D, 0x08, 0x00, 0x8F, 0xB6, 0x00, 0x90, 0x38,
-  0x00, 0x96, 0xE3, 0x00, 0x97, 0xFF, 0x00, 0x98, 0x3B, 0x00, 0x4E, 0x26,
+  0x80, 0x11, 0x12, 0x80, 0x11, 0x6E, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28,
+  0x80, 0x4E, 0x00, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x4E, 0x8C,
+  0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x4E, 0x09, 0x00, 0x00, 0x29,
+  0xC0, 0x00, 0x28, 0x80, 0x56, 0xDB, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28,
+  0x80, 0x4E, 0x94, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x51, 0x6D,
+  0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x4E, 0x03, 0x00, 0x00, 0x29,
+  0xC0, 0x00, 0x28, 0x80, 0x51, 0x6B, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28,
+  0x80, 0x4E, 0x5D, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x53, 0x41,
+  0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x67, 0x08, 0x00, 0x00, 0x29,
+  0xC0, 0x00, 0x28, 0x80, 0x70, 0x6B, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28,
+  0x80, 0x6C, 0x34, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x67, 0x28,
+  0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x91, 0xD1, 0x00, 0x00, 0x29,
+  0xC0, 0x00, 0x28, 0x80, 0x57, 0x1F, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28,
+  0x80, 0x65, 0xE5, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x68, 0x2A,
+  0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x67, 0x09, 0x00, 0x00, 0x29,
+  0xC0, 0x00, 0x28, 0x80, 0x79, 0x3E, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28,
+  0x80, 0x54, 0x0D, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x72, 0x79,
+  0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x8C, 0xA1, 0x00, 0x00, 0x29,
+  0xC0, 0x00, 0x28, 0x80, 0x79, 0x5D, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28,
+  0x80, 0x52, 0xB4, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x4E, 0xE3,
+  0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x54, 0x7C, 0x00, 0x00, 0x29,
+  0xC0, 0x00, 0x28, 0x80, 0x5B, 0x66, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28,
+  0x80, 0x76, 0xE3, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x4F, 0x01,
+  0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x8C, 0xC7, 0x00, 0x00, 0x29,
+  0xC0, 0x00, 0x28, 0x80, 0x53, 0x54, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28,
+  0x80, 0x79, 0x6D, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x4F, 0x11,
+  0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x81, 0xEA, 0x00, 0x00, 0x29,
+  0xC0, 0x00, 0x28, 0x80, 0x81, 0xF3, 0x00, 0x00, 0x29, 0x1C, 0x55, 0x4F,
+  0x1C, 0x5E, 0x7C, 0x1C, 0x65, 0x87, 0x1C, 0x7B, 0x8F, 0xB8, 0x00, 0x50,
+  0x80, 0x00, 0x54, 0x00, 0x00, 0x45, 0x9C, 0x00, 0x32, 0x00, 0x00, 0x31,
+  0x9C, 0x00, 0x32, 0x00, 0x00, 0x32, 0x9C, 0x00, 0x32, 0x00, 0x00, 0x33,
+  0x9C, 0x00, 0x32, 0x00, 0x00, 0x34, 0x9C, 0x00, 0x32, 0x00, 0x00, 0x35,
+  0x9C, 0x00, 0x32, 0x00, 0x00, 0x36, 0x9C, 0x00, 0x32, 0x00, 0x00, 0x37,
+  0x9C, 0x00, 0x32, 0x00, 0x00, 0x38, 0x9C, 0x00, 0x32, 0x00, 0x00, 0x39,
+  0x9C, 0x00, 0x33, 0x00, 0x00, 0x30, 0x9C, 0x00, 0x33, 0x00, 0x00, 0x31,
+  0x9C, 0x00, 0x33, 0x00, 0x00, 0x32, 0x9C, 0x00, 0x33, 0x00, 0x00, 0x33,
+  0x9C, 0x00, 0x33, 0x00, 0x00, 0x34, 0x9C, 0x00, 0x33, 0x00, 0x00, 0x35,
+  0x1C, 0x11, 0x00, 0x1C, 0x11, 0x02, 0x1C, 0x11, 0x03, 0x1C, 0x11, 0x05,
+  0x1C, 0x11, 0x06, 0x1C, 0x11, 0x07, 0x1C, 0x11, 0x09, 0x1C, 0x11, 0x0B,
+  0x1C, 0x11, 0x0C, 0x1C, 0x11, 0x0E, 0x1C, 0x11, 0x0F, 0x1C, 0x11, 0x10,
+  0x1C, 0x11, 0x11, 0x1C, 0x11, 0x12, 0x9C, 0x11, 0x00, 0x00, 0x11, 0x61,
+  0x9C, 0x11, 0x02, 0x00, 0x11, 0x61, 0x9C, 0x11, 0x03, 0x00, 0x11, 0x61,
+  0x9C, 0x11, 0x05, 0x00, 0x11, 0x61, 0x9C, 0x11, 0x06, 0x00, 0x11, 0x61,
+  0x9C, 0x11, 0x07, 0x00, 0x11, 0x61, 0x9C, 0x11, 0x09, 0x00, 0x11, 0x61,
+  0x9C, 0x11, 0x0B, 0x00, 0x11, 0x61, 0x9C, 0x11, 0x0C, 0x00, 0x11, 0x61,
+  0x9C, 0x11, 0x0E, 0x00, 0x11, 0x61, 0x9C, 0x11, 0x0F, 0x00, 0x11, 0x61,
+  0x9C, 0x11, 0x10, 0x00, 0x11, 0x61, 0x9C, 0x11, 0x11, 0x00, 0x11, 0x61,
+  0x9C, 0x11, 0x12, 0x00, 0x11, 0x61, 0x9C, 0x11, 0x0E, 0x80, 0x11, 0x61,
+  0x80, 0x11, 0xB7, 0x80, 0x11, 0x00, 0x00, 0x11, 0x69, 0x9C, 0x11, 0x0C,
+  0x80, 0x11, 0x6E, 0x80, 0x11, 0x0B, 0x00, 0x11, 0x74, 0x9C, 0x11, 0x0B,
+  0x00, 0x11, 0x6E, 0x1C, 0x4E, 0x00, 0x1C, 0x4E, 0x8C, 0x1C, 0x4E, 0x09,
+  0x1C, 0x56, 0xDB, 0x1C, 0x4E, 0x94, 0x1C, 0x51, 0x6D, 0x1C, 0x4E, 0x03,
+  0x1C, 0x51, 0x6B, 0x1C, 0x4E, 0x5D, 0x1C, 0x53, 0x41, 0x1C, 0x67, 0x08,
+  0x1C, 0x70, 0x6B, 0x1C, 0x6C, 0x34, 0x1C, 0x67, 0x28, 0x1C, 0x91, 0xD1,
+  0x1C, 0x57, 0x1F, 0x1C, 0x65, 0xE5, 0x1C, 0x68, 0x2A, 0x1C, 0x67, 0x09,
+  0x1C, 0x79, 0x3E, 0x1C, 0x54, 0x0D, 0x1C, 0x72, 0x79, 0x1C, 0x8C, 0xA1,
+  0x1C, 0x79, 0x5D, 0x1C, 0x52, 0xB4, 0x1C, 0x79, 0xD8, 0x1C, 0x75, 0x37,
+  0x1C, 0x59, 0x73, 0x1C, 0x90, 0x69, 0x1C, 0x51, 0x2A, 0x1C, 0x53, 0x70,
+  0x1C, 0x6C, 0xE8, 0x1C, 0x98, 0x05, 0x1C, 0x4F, 0x11, 0x1C, 0x51, 0x99,
+  0x1C, 0x6B, 0x63, 0x1C, 0x4E, 0x0A, 0x1C, 0x4E, 0x2D, 0x1C, 0x4E, 0x0B,
+  0x1C, 0x5D, 0xE6, 0x1C, 0x53, 0xF3, 0x1C, 0x53, 0x3B, 0x1C, 0x5B, 0x97,
+  0x1C, 0x5B, 0x66, 0x1C, 0x76, 0xE3, 0x1C, 0x4F, 0x01, 0x1C, 0x8C, 0xC7,
+  0x1C, 0x53, 0x54, 0x1C, 0x59, 0x1C, 0x9C, 0x00, 0x33, 0x00, 0x00, 0x36,
+  0x9C, 0x00, 0x33, 0x00, 0x00, 0x37, 0x9C, 0x00, 0x33, 0x00, 0x00, 0x38,
+  0x9C, 0x00, 0x33, 0x00, 0x00, 0x39, 0x9C, 0x00, 0x34, 0x00, 0x00, 0x30,
+  0x9C, 0x00, 0x34, 0x00, 0x00, 0x31, 0x9C, 0x00, 0x34, 0x00, 0x00, 0x32,
+  0x9C, 0x00, 0x34, 0x00, 0x00, 0x33, 0x9C, 0x00, 0x34, 0x00, 0x00, 0x34,
+  0x9C, 0x00, 0x34, 0x00, 0x00, 0x35, 0x9C, 0x00, 0x34, 0x00, 0x00, 0x36,
+  0x9C, 0x00, 0x34, 0x00, 0x00, 0x37, 0x9C, 0x00, 0x34, 0x00, 0x00, 0x38,
+  0x9C, 0x00, 0x34, 0x00, 0x00, 0x39, 0x9C, 0x00, 0x35, 0x00, 0x00, 0x30,
+  0xC0, 0x00, 0x31, 0x00, 0x67, 0x08, 0xC0, 0x00, 0x32, 0x00, 0x67, 0x08,
+  0xC0, 0x00, 0x33, 0x00, 0x67, 0x08, 0xC0, 0x00, 0x34, 0x00, 0x67, 0x08,
+  0xC0, 0x00, 0x35, 0x00, 0x67, 0x08, 0xC0, 0x00, 0x36, 0x00, 0x67, 0x08,
+  0xC0, 0x00, 0x37, 0x00, 0x67, 0x08, 0xC0, 0x00, 0x38, 0x00, 0x67, 0x08,
+  0xC0, 0x00, 0x39, 0x00, 0x67, 0x08, 0xC0, 0x00, 0x31, 0x80, 0x00, 0x30,
+  0x00, 0x67, 0x08, 0xC0, 0x00, 0x31, 0x80, 0x00, 0x31, 0x00, 0x67, 0x08,
+  0xC0, 0x00, 0x31, 0x80, 0x00, 0x32, 0x00, 0x67, 0x08, 0xB8, 0x00, 0x48,
+  0x00, 0x00, 0x67, 0xB8, 0x00, 0x65, 0x80, 0x00, 0x72, 0x00, 0x00, 0x67,
+  0xB8, 0x00, 0x65, 0x00, 0x00, 0x56, 0xB8, 0x00, 0x4C, 0x80, 0x00, 0x54,
+  0x00, 0x00, 0x44, 0x1C, 0x30, 0xA2, 0x1C, 0x30, 0xA4, 0x1C, 0x30, 0xA6,
+  0x1C, 0x30, 0xA8, 0x1C, 0x30, 0xAA, 0x1C, 0x30, 0xAB, 0x1C, 0x30, 0xAD,
+  0x1C, 0x30, 0xAF, 0x1C, 0x30, 0xB1, 0x1C, 0x30, 0xB3, 0x1C, 0x30, 0xB5,
+  0x1C, 0x30, 0xB7, 0x1C, 0x30, 0xB9, 0x1C, 0x30, 0xBB, 0x1C, 0x30, 0xBD,
+  0x1C, 0x30, 0xBF, 0x1C, 0x30, 0xC1, 0x1C, 0x30, 0xC4, 0x1C, 0x30, 0xC6,
+  0x1C, 0x30, 0xC8, 0x1C, 0x30, 0xCA, 0x1C, 0x30, 0xCB, 0x1C, 0x30, 0xCC,
+  0x1C, 0x30, 0xCD, 0x1C, 0x30, 0xCE, 0x1C, 0x30, 0xCF, 0x1C, 0x30, 0xD2,
+  0x1C, 0x30, 0xD5, 0x1C, 0x30, 0xD8, 0x1C, 0x30, 0xDB, 0x1C, 0x30, 0xDE,
+  0x1C, 0x30, 0xDF, 0x1C, 0x30, 0xE0, 0x1C, 0x30, 0xE1, 0x1C, 0x30, 0xE2,
+  0x1C, 0x30, 0xE4, 0x1C, 0x30, 0xE6, 0x1C, 0x30, 0xE8, 0x1C, 0x30, 0xE9,
+  0x1C, 0x30, 0xEA, 0x1C, 0x30, 0xEB, 0x1C, 0x30, 0xEC, 0x1C, 0x30, 0xED,
+  0x1C, 0x30, 0xEF, 0x1C, 0x30, 0xF0, 0x1C, 0x30, 0xF1, 0x1C, 0x30, 0xF2,
+  0xB8, 0x30, 0xA2, 0x80, 0x30, 0xD1, 0x80, 0x30, 0xFC, 0x00, 0x30, 0xC8,
+  0xB8, 0x30, 0xA2, 0x80, 0x30, 0xEB, 0x80, 0x30, 0xD5, 0x00, 0x30, 0xA1,
+  0xB8, 0x30, 0xA2, 0x80, 0x30, 0xF3, 0x80, 0x30, 0xDA, 0x00, 0x30, 0xA2,
+  0xB8, 0x30, 0xA2, 0x80, 0x30, 0xFC, 0x00, 0x30, 0xEB, 0xB8, 0x30, 0xA4,
+  0x80, 0x30, 0xCB, 0x80, 0x30, 0xF3, 0x00, 0x30, 0xB0, 0xB8, 0x30, 0xA4,
+  0x80, 0x30, 0xF3, 0x00, 0x30, 0xC1, 0xB8, 0x30, 0xA6, 0x80, 0x30, 0xA9,
+  0x00, 0x30, 0xF3, 0xB8, 0x30, 0xA8, 0x80, 0x30, 0xB9, 0x80, 0x30, 0xAF,
+  0x80, 0x30, 0xFC, 0x00, 0x30, 0xC9, 0xB8, 0x30, 0xA8, 0x80, 0x30, 0xFC,
+  0x80, 0x30, 0xAB, 0x00, 0x30, 0xFC, 0xB8, 0x30, 0xAA, 0x80, 0x30, 0xF3,
+  0x00, 0x30, 0xB9, 0xB8, 0x30, 0xAA, 0x80, 0x30, 0xFC, 0x00, 0x30, 0xE0,
+  0xB8, 0x30, 0xAB, 0x80, 0x30, 0xA4, 0x00, 0x30, 0xEA, 0xB8, 0x30, 0xAB,
+  0x80, 0x30, 0xE9, 0x80, 0x30, 0xC3, 0x00, 0x30, 0xC8, 0xB8, 0x30, 0xAB,
+  0x80, 0x30, 0xED, 0x80, 0x30, 0xEA, 0x00, 0x30, 0xFC, 0xB8, 0x30, 0xAC,
+  0x80, 0x30, 0xED, 0x00, 0x30, 0xF3, 0xB8, 0x30, 0xAC, 0x80, 0x30, 0xF3,
+  0x00, 0x30, 0xDE, 0xB8, 0x30, 0xAE, 0x00, 0x30, 0xAC, 0xB8, 0x30, 0xAE,
+  0x80, 0x30, 0xCB, 0x00, 0x30, 0xFC, 0xB8, 0x30, 0xAD, 0x80, 0x30, 0xE5,
+  0x80, 0x30, 0xEA, 0x00, 0x30, 0xFC, 0xB8, 0x30, 0xAE, 0x80, 0x30, 0xEB,
+  0x80, 0x30, 0xC0, 0x00, 0x30, 0xFC, 0xB8, 0x30, 0xAD, 0x00, 0x30, 0xED,
+  0xB8, 0x30, 0xAD, 0x80, 0x30, 0xED, 0x80, 0x30, 0xB0, 0x80, 0x30, 0xE9,
+  0x00, 0x30, 0xE0, 0xB8, 0x30, 0xAD, 0x80, 0x30, 0xED, 0x80, 0x30, 0xE1,
+  0x80, 0x30, 0xFC, 0x80, 0x30, 0xC8, 0x00, 0x30, 0xEB, 0xB8, 0x30, 0xAD,
+  0x80, 0x30, 0xED, 0x80, 0x30, 0xEF, 0x80, 0x30, 0xC3, 0x00, 0x30, 0xC8,
+  0xB8, 0x30, 0xB0, 0x80, 0x30, 0xE9, 0x00, 0x30, 0xE0, 0xB8, 0x30, 0xB0,
+  0x80, 0x30, 0xE9, 0x80, 0x30, 0xE0, 0x80, 0x30, 0xC8, 0x00, 0x30, 0xF3,
+  0xB8, 0x30, 0xAF, 0x80, 0x30, 0xEB, 0x80, 0x30, 0xBC, 0x80, 0x30, 0xA4,
+  0x00, 0x30, 0xED, 0xB8, 0x30, 0xAF, 0x80, 0x30, 0xED, 0x80, 0x30, 0xFC,
+  0x00, 0x30, 0xCD, 0xB8, 0x30, 0xB1, 0x80, 0x30, 0xFC, 0x00, 0x30, 0xB9,
+  0xB8, 0x30, 0xB3, 0x80, 0x30, 0xEB, 0x00, 0x30, 0xCA, 0xB8, 0x30, 0xB3,
+  0x80, 0x30, 0xFC, 0x00, 0x30, 0xDD, 0xB8, 0x30, 0xB5, 0x80, 0x30, 0xA4,
+  0x80, 0x30, 0xAF, 0x00, 0x30, 0xEB, 0xB8, 0x30, 0xB5, 0x80, 0x30, 0xF3,
+  0x80, 0x30, 0xC1, 0x80, 0x30, 0xFC, 0x00, 0x30, 0xE0, 0xB8, 0x30, 0xB7,
+  0x80, 0x30, 0xEA, 0x80, 0x30, 0xF3, 0x00, 0x30, 0xB0, 0xB8, 0x30, 0xBB,
+  0x80, 0x30, 0xF3, 0x00, 0x30, 0xC1, 0xB8, 0x30, 0xBB, 0x80, 0x30, 0xF3,
+  0x00, 0x30, 0xC8, 0xB8, 0x30, 0xC0, 0x80, 0x30, 0xFC, 0x00, 0x30, 0xB9,
+  0xB8, 0x30, 0xC7, 0x00, 0x30, 0xB7, 0xB8, 0x30, 0xC9, 0x00, 0x30, 0xEB,
+  0xB8, 0x30, 0xC8, 0x00, 0x30, 0xF3, 0xB8, 0x30, 0xCA, 0x00, 0x30, 0xCE,
+  0xB8, 0x30, 0xCE, 0x80, 0x30, 0xC3, 0x00, 0x30, 0xC8, 0xB8, 0x30, 0xCF,
+  0x80, 0x30, 0xA4, 0x00, 0x30, 0xC4, 0xB8, 0x30, 0xD1, 0x80, 0x30, 0xFC,
+  0x80, 0x30, 0xBB, 0x80, 0x30, 0xF3, 0x00, 0x30, 0xC8, 0xB8, 0x30, 0xD1,
+  0x80, 0x30, 0xFC, 0x00, 0x30, 0xC4, 0xB8, 0x30, 0xD0, 0x80, 0x30, 0xFC,
+  0x80, 0x30, 0xEC, 0x00, 0x30, 0xEB, 0xB8, 0x30, 0xD4, 0x80, 0x30, 0xA2,
+  0x80, 0x30, 0xB9, 0x80, 0x30, 0xC8, 0x00, 0x30, 0xEB, 0xB8, 0x30, 0xD4,
+  0x80, 0x30, 0xAF, 0x00, 0x30, 0xEB, 0xB8, 0x30, 0xD4, 0x00, 0x30, 0xB3,
+  0xB8, 0x30, 0xD3, 0x00, 0x30, 0xEB, 0xB8, 0x30, 0xD5, 0x80, 0x30, 0xA1,
+  0x80, 0x30, 0xE9, 0x80, 0x30, 0xC3, 0x00, 0x30, 0xC9, 0xB8, 0x30, 0xD5,
+  0x80, 0x30, 0xA3, 0x80, 0x30, 0xFC, 0x00, 0x30, 0xC8, 0xB8, 0x30, 0xD6,
+  0x80, 0x30, 0xC3, 0x80, 0x30, 0xB7, 0x80, 0x30, 0xA7, 0x00, 0x30, 0xEB,
+  0xB8, 0x30, 0xD5, 0x80, 0x30, 0xE9, 0x00, 0x30, 0xF3, 0xB8, 0x30, 0xD8,
+  0x80, 0x30, 0xAF, 0x80, 0x30, 0xBF, 0x80, 0x30, 0xFC, 0x00, 0x30, 0xEB,
+  0xB8, 0x30, 0xDA, 0x00, 0x30, 0xBD, 0xB8, 0x30, 0xDA, 0x80, 0x30, 0xCB,
+  0x00, 0x30, 0xD2, 0xB8, 0x30, 0xD8, 0x80, 0x30, 0xEB, 0x00, 0x30, 0xC4,
+  0xB8, 0x30, 0xDA, 0x80, 0x30, 0xF3, 0x00, 0x30, 0xB9, 0xB8, 0x30, 0xDA,
+  0x80, 0x30, 0xFC, 0x00, 0x30, 0xB8, 0xB8, 0x30, 0xD9, 0x80, 0x30, 0xFC,
+  0x00, 0x30, 0xBF, 0xB8, 0x30, 0xDD, 0x80, 0x30, 0xA4, 0x80, 0x30, 0xF3,
+  0x00, 0x30, 0xC8, 0xB8, 0x30, 0xDC, 0x80, 0x30, 0xEB, 0x00, 0x30, 0xC8,
+  0xB8, 0x30, 0xDB, 0x00, 0x30, 0xF3, 0xB8, 0x30, 0xDD, 0x80, 0x30, 0xF3,
+  0x00, 0x30, 0xC9, 0xB8, 0x30, 0xDB, 0x80, 0x30, 0xFC, 0x00, 0x30, 0xEB,
+  0xB8, 0x30, 0xDB, 0x80, 0x30, 0xFC, 0x00, 0x30, 0xF3, 0xB8, 0x30, 0xDE,
+  0x80, 0x30, 0xA4, 0x80, 0x30, 0xAF, 0x00, 0x30, 0xED, 0xB8, 0x30, 0xDE,
+  0x80, 0x30, 0xA4, 0x00, 0x30, 0xEB, 0xB8, 0x30, 0xDE, 0x80, 0x30, 0xC3,
+  0x00, 0x30, 0xCF, 0xB8, 0x30, 0xDE, 0x80, 0x30, 0xEB, 0x00, 0x30, 0xAF,
+  0xB8, 0x30, 0xDE, 0x80, 0x30, 0xF3, 0x80, 0x30, 0xB7, 0x80, 0x30, 0xE7,
+  0x00, 0x30, 0xF3, 0xB8, 0x30, 0xDF, 0x80, 0x30, 0xAF, 0x80, 0x30, 0xED,
+  0x00, 0x30, 0xF3, 0xB8, 0x30, 0xDF, 0x00, 0x30, 0xEA, 0xB8, 0x30, 0xDF,
+  0x80, 0x30, 0xEA, 0x80, 0x30, 0xD0, 0x80, 0x30, 0xFC, 0x00, 0x30, 0xEB,
+  0xB8, 0x30, 0xE1, 0x00, 0x30, 0xAC, 0xB8, 0x30, 0xE1, 0x80, 0x30, 0xAC,
+  0x80, 0x30, 0xC8, 0x00, 0x30, 0xF3, 0xB8, 0x30, 0xE1, 0x80, 0x30, 0xFC,
+  0x80, 0x30, 0xC8, 0x00, 0x30, 0xEB, 0xB8, 0x30, 0xE4, 0x80, 0x30, 0xFC,
+  0x00, 0x30, 0xC9, 0xB8, 0x30, 0xE4, 0x80, 0x30, 0xFC, 0x00, 0x30, 0xEB,
+  0xB8, 0x30, 0xE6, 0x80, 0x30, 0xA2, 0x00, 0x30, 0xF3, 0xB8, 0x30, 0xEA,
+  0x80, 0x30, 0xC3, 0x80, 0x30, 0xC8, 0x00, 0x30, 0xEB, 0xB8, 0x30, 0xEA,
+  0x00, 0x30, 0xE9, 0xB8, 0x30, 0xEB, 0x80, 0x30, 0xD4, 0x00, 0x30, 0xFC,
+  0xB8, 0x30, 0xEB, 0x80, 0x30, 0xFC, 0x80, 0x30, 0xD6, 0x00, 0x30, 0xEB,
+  0xB8, 0x30, 0xEC, 0x00, 0x30, 0xE0, 0xB8, 0x30, 0xEC, 0x80, 0x30, 0xF3,
+  0x80, 0x30, 0xC8, 0x80, 0x30, 0xB2, 0x00, 0x30, 0xF3, 0xB8, 0x30, 0xEF,
+  0x80, 0x30, 0xC3, 0x00, 0x30, 0xC8, 0xC0, 0x00, 0x30, 0x00, 0x70, 0xB9,
+  0xC0, 0x00, 0x31, 0x00, 0x70, 0xB9, 0xC0, 0x00, 0x32, 0x00, 0x70, 0xB9,
+  0xC0, 0x00, 0x33, 0x00, 0x70, 0xB9, 0xC0, 0x00, 0x34, 0x00, 0x70, 0xB9,
+  0xC0, 0x00, 0x35, 0x00, 0x70, 0xB9, 0xC0, 0x00, 0x36, 0x00, 0x70, 0xB9,
+  0xC0, 0x00, 0x37, 0x00, 0x70, 0xB9, 0xC0, 0x00, 0x38, 0x00, 0x70, 0xB9,
+  0xC0, 0x00, 0x39, 0x00, 0x70, 0xB9, 0xC0, 0x00, 0x31, 0x80, 0x00, 0x30,
+  0x00, 0x70, 0xB9, 0xC0, 0x00, 0x31, 0x80, 0x00, 0x31, 0x00, 0x70, 0xB9,
+  0xC0, 0x00, 0x31, 0x80, 0x00, 0x32, 0x00, 0x70, 0xB9, 0xC0, 0x00, 0x31,
+  0x80, 0x00, 0x33, 0x00, 0x70, 0xB9, 0xC0, 0x00, 0x31, 0x80, 0x00, 0x34,
+  0x00, 0x70, 0xB9, 0xC0, 0x00, 0x31, 0x80, 0x00, 0x35, 0x00, 0x70, 0xB9,
+  0xC0, 0x00, 0x31, 0x80, 0x00, 0x36, 0x00, 0x70, 0xB9, 0xC0, 0x00, 0x31,
+  0x80, 0x00, 0x37, 0x00, 0x70, 0xB9, 0xC0, 0x00, 0x31, 0x80, 0x00, 0x38,
+  0x00, 0x70, 0xB9, 0xC0, 0x00, 0x31, 0x80, 0x00, 0x39, 0x00, 0x70, 0xB9,
+  0xC0, 0x00, 0x32, 0x80, 0x00, 0x30, 0x00, 0x70, 0xB9, 0xC0, 0x00, 0x32,
+  0x80, 0x00, 0x31, 0x00, 0x70, 0xB9, 0xC0, 0x00, 0x32, 0x80, 0x00, 0x32,
+  0x00, 0x70, 0xB9, 0xC0, 0x00, 0x32, 0x80, 0x00, 0x33, 0x00, 0x70, 0xB9,
+  0xC0, 0x00, 0x32, 0x80, 0x00, 0x34, 0x00, 0x70, 0xB9, 0xB8, 0x00, 0x68,
+  0x80, 0x00, 0x50, 0x00, 0x00, 0x61, 0xB8, 0x00, 0x64, 0x00, 0x00, 0x61,
+  0xB8, 0x00, 0x41, 0x00, 0x00, 0x55, 0xB8, 0x00, 0x62, 0x80, 0x00, 0x61,
+  0x00, 0x00, 0x72, 0xB8, 0x00, 0x6F, 0x00, 0x00, 0x56, 0xB8, 0x00, 0x70,
+  0x00, 0x00, 0x63, 0xB8, 0x00, 0x64, 0x00, 0x00, 0x6D, 0xB8, 0x00, 0x64,
+  0x80, 0x00, 0x6D, 0x00, 0x00, 0xB2, 0xB8, 0x00, 0x64, 0x80, 0x00, 0x6D,
+  0x00, 0x00, 0xB3, 0xB8, 0x00, 0x49, 0x00, 0x00, 0x55, 0xB8, 0x5E, 0x73,
+  0x00, 0x62, 0x10, 0xB8, 0x66, 0x2D, 0x00, 0x54, 0x8C, 0xB8, 0x59, 0x27,
+  0x00, 0x6B, 0x63, 0xB8, 0x66, 0x0E, 0x00, 0x6C, 0xBB, 0xB8, 0x68, 0x2A,
+  0x80, 0x5F, 0x0F, 0x80, 0x4F, 0x1A, 0x00, 0x79, 0x3E, 0xB8, 0x00, 0x70,
+  0x00, 0x00, 0x41, 0xB8, 0x00, 0x6E, 0x00, 0x00, 0x41, 0xB8, 0x03, 0xBC,
+  0x00, 0x00, 0x41, 0xB8, 0x00, 0x6D, 0x00, 0x00, 0x41, 0xB8, 0x00, 0x6B,
+  0x00, 0x00, 0x41, 0xB8, 0x00, 0x4B, 0x00, 0x00, 0x42, 0xB8, 0x00, 0x4D,
+  0x00, 0x00, 0x42, 0xB8, 0x00, 0x47, 0x00, 0x00, 0x42, 0xB8, 0x00, 0x63,
+  0x80, 0x00, 0x61, 0x00, 0x00, 0x6C, 0xB8, 0x00, 0x6B, 0x80, 0x00, 0x63,
+  0x80, 0x00, 0x61, 0x00, 0x00, 0x6C, 0xB8, 0x00, 0x70, 0x00, 0x00, 0x46,
+  0xB8, 0x00, 0x6E, 0x00, 0x00, 0x46, 0xB8, 0x03, 0xBC, 0x00, 0x00, 0x46,
+  0xB8, 0x03, 0xBC, 0x00, 0x00, 0x67, 0xB8, 0x00, 0x6D, 0x00, 0x00, 0x67,
+  0xB8, 0x00, 0x6B, 0x00, 0x00, 0x67, 0xB8, 0x00, 0x48, 0x00, 0x00, 0x7A,
+  0xB8, 0x00, 0x6B, 0x80, 0x00, 0x48, 0x00, 0x00, 0x7A, 0xB8, 0x00, 0x4D,
+  0x80, 0x00, 0x48, 0x00, 0x00, 0x7A, 0xB8, 0x00, 0x47, 0x80, 0x00, 0x48,
+  0x00, 0x00, 0x7A, 0xB8, 0x00, 0x54, 0x80, 0x00, 0x48, 0x00, 0x00, 0x7A,
+  0xB8, 0x03, 0xBC, 0x00, 0x21, 0x13, 0xB8, 0x00, 0x6D, 0x00, 0x21, 0x13,
+  0xB8, 0x00, 0x64, 0x00, 0x21, 0x13, 0xB8, 0x00, 0x6B, 0x00, 0x21, 0x13,
+  0xB8, 0x00, 0x66, 0x00, 0x00, 0x6D, 0xB8, 0x00, 0x6E, 0x00, 0x00, 0x6D,
+  0xB8, 0x03, 0xBC, 0x00, 0x00, 0x6D, 0xB8, 0x00, 0x6D, 0x00, 0x00, 0x6D,
+  0xB8, 0x00, 0x63, 0x00, 0x00, 0x6D, 0xB8, 0x00, 0x6B, 0x00, 0x00, 0x6D,
+  0xB8, 0x00, 0x6D, 0x80, 0x00, 0x6D, 0x00, 0x00, 0xB2, 0xB8, 0x00, 0x63,
+  0x80, 0x00, 0x6D, 0x00, 0x00, 0xB2, 0xB8, 0x00, 0x6D, 0x00, 0x00, 0xB2,
+  0xB8, 0x00, 0x6B, 0x80, 0x00, 0x6D, 0x00, 0x00, 0xB2, 0xB8, 0x00, 0x6D,
+  0x80, 0x00, 0x6D, 0x00, 0x00, 0xB3, 0xB8, 0x00, 0x63, 0x80, 0x00, 0x6D,
+  0x00, 0x00, 0xB3, 0xB8, 0x00, 0x6D, 0x00, 0x00, 0xB3, 0xB8, 0x00, 0x6B,
+  0x80, 0x00, 0x6D, 0x00, 0x00, 0xB3, 0xB8, 0x00, 0x6D, 0x80, 0x22, 0x15,
+  0x00, 0x00, 0x73, 0xB8, 0x00, 0x6D, 0x80, 0x22, 0x15, 0x80, 0x00, 0x73,
+  0x00, 0x00, 0xB2, 0xB8, 0x00, 0x50, 0x00, 0x00, 0x61, 0xB8, 0x00, 0x6B,
+  0x80, 0x00, 0x50, 0x00, 0x00, 0x61, 0xB8, 0x00, 0x4D, 0x80, 0x00, 0x50,
+  0x00, 0x00, 0x61, 0xB8, 0x00, 0x47, 0x80, 0x00, 0x50, 0x00, 0x00, 0x61,
+  0xB8, 0x00, 0x72, 0x80, 0x00, 0x61, 0x00, 0x00, 0x64, 0xB8, 0x00, 0x72,
+  0x80, 0x00, 0x61, 0x80, 0x00, 0x64, 0x80, 0x22, 0x15, 0x00, 0x00, 0x73,
+  0xB8, 0x00, 0x72, 0x80, 0x00, 0x61, 0x80, 0x00, 0x64, 0x80, 0x22, 0x15,
+  0x80, 0x00, 0x73, 0x00, 0x00, 0xB2, 0xB8, 0x00, 0x70, 0x00, 0x00, 0x73,
+  0xB8, 0x00, 0x6E, 0x00, 0x00, 0x73, 0xB8, 0x03, 0xBC, 0x00, 0x00, 0x73,
+  0xB8, 0x00, 0x6D, 0x00, 0x00, 0x73, 0xB8, 0x00, 0x70, 0x00, 0x00, 0x56,
+  0xB8, 0x00, 0x6E, 0x00, 0x00, 0x56, 0xB8, 0x03, 0xBC, 0x00, 0x00, 0x56,
+  0xB8, 0x00, 0x6D, 0x00, 0x00, 0x56, 0xB8, 0x00, 0x6B, 0x00, 0x00, 0x56,
+  0xB8, 0x00, 0x4D, 0x00, 0x00, 0x56, 0xB8, 0x00, 0x70, 0x00, 0x00, 0x57,
+  0xB8, 0x00, 0x6E, 0x00, 0x00, 0x57, 0xB8, 0x03, 0xBC, 0x00, 0x00, 0x57,
+  0xB8, 0x00, 0x6D, 0x00, 0x00, 0x57, 0xB8, 0x00, 0x6B, 0x00, 0x00, 0x57,
+  0xB8, 0x00, 0x4D, 0x00, 0x00, 0x57, 0xB8, 0x00, 0x6B, 0x00, 0x03, 0xA9,
+  0xB8, 0x00, 0x4D, 0x00, 0x03, 0xA9, 0xB8, 0x00, 0x61, 0x80, 0x00, 0x2E,
+  0x80, 0x00, 0x6D, 0x00, 0x00, 0x2E, 0xB8, 0x00, 0x42, 0x00, 0x00, 0x71,
+  0xB8, 0x00, 0x63, 0x00, 0x00, 0x63, 0xB8, 0x00, 0x63, 0x00, 0x00, 0x64,
+  0xB8, 0x00, 0x43, 0x80, 0x22, 0x15, 0x80, 0x00, 0x6B, 0x00, 0x00, 0x67,
+  0xB8, 0x00, 0x43, 0x80, 0x00, 0x6F, 0x00, 0x00, 0x2E, 0xB8, 0x00, 0x64,
+  0x00, 0x00, 0x42, 0xB8, 0x00, 0x47, 0x00, 0x00, 0x79, 0xB8, 0x00, 0x68,
+  0x00, 0x00, 0x61, 0xB8, 0x00, 0x48, 0x00, 0x00, 0x50, 0xB8, 0x00, 0x69,
+  0x00, 0x00, 0x6E, 0xB8, 0x00, 0x4B, 0x00, 0x00, 0x4B, 0xB8, 0x00, 0x4B,
+  0x00, 0x00, 0x4D, 0xB8, 0x00, 0x6B, 0x00, 0x00, 0x74, 0xB8, 0x00, 0x6C,
+  0x00, 0x00, 0x6D, 0xB8, 0x00, 0x6C, 0x00, 0x00, 0x6E, 0xB8, 0x00, 0x6C,
+  0x80, 0x00, 0x6F, 0x00, 0x00, 0x67, 0xB8, 0x00, 0x6C, 0x00, 0x00, 0x78,
+  0xB8, 0x00, 0x6D, 0x00, 0x00, 0x62, 0xB8, 0x00, 0x6D, 0x80, 0x00, 0x69,
+  0x00, 0x00, 0x6C, 0xB8, 0x00, 0x6D, 0x80, 0x00, 0x6F, 0x00, 0x00, 0x6C,
+  0xB8, 0x00, 0x50, 0x00, 0x00, 0x48, 0xB8, 0x00, 0x70, 0x80, 0x00, 0x2E,
+  0x80, 0x00, 0x6D, 0x00, 0x00, 0x2E, 0xB8, 0x00, 0x50, 0x80, 0x00, 0x50,
+  0x00, 0x00, 0x4D, 0xB8, 0x00, 0x50, 0x00, 0x00, 0x52, 0xB8, 0x00, 0x73,
+  0x00, 0x00, 0x72, 0xB8, 0x00, 0x53, 0x00, 0x00, 0x76, 0xB8, 0x00, 0x57,
+  0x00, 0x00, 0x62, 0xB8, 0x00, 0x56, 0x80, 0x22, 0x15, 0x00, 0x00, 0x6D,
+  0xB8, 0x00, 0x41, 0x80, 0x22, 0x15, 0x00, 0x00, 0x6D, 0xC0, 0x00, 0x31,
+  0x00, 0x65, 0xE5, 0xC0, 0x00, 0x32, 0x00, 0x65, 0xE5, 0xC0, 0x00, 0x33,
+  0x00, 0x65, 0xE5, 0xC0, 0x00, 0x34, 0x00, 0x65, 0xE5, 0xC0, 0x00, 0x35,
+  0x00, 0x65, 0xE5, 0xC0, 0x00, 0x36, 0x00, 0x65, 0xE5, 0xC0, 0x00, 0x37,
+  0x00, 0x65, 0xE5, 0xC0, 0x00, 0x38, 0x00, 0x65, 0xE5, 0xC0, 0x00, 0x39,
+  0x00, 0x65, 0xE5, 0xC0, 0x00, 0x31, 0x80, 0x00, 0x30, 0x00, 0x65, 0xE5,
+  0xC0, 0x00, 0x31, 0x80, 0x00, 0x31, 0x00, 0x65, 0xE5, 0xC0, 0x00, 0x31,
+  0x80, 0x00, 0x32, 0x00, 0x65, 0xE5, 0xC0, 0x00, 0x31, 0x80, 0x00, 0x33,
+  0x00, 0x65, 0xE5, 0xC0, 0x00, 0x31, 0x80, 0x00, 0x34, 0x00, 0x65, 0xE5,
+  0xC0, 0x00, 0x31, 0x80, 0x00, 0x35, 0x00, 0x65, 0xE5, 0xC0, 0x00, 0x31,
+  0x80, 0x00, 0x36, 0x00, 0x65, 0xE5, 0xC0, 0x00, 0x31, 0x80, 0x00, 0x37,
+  0x00, 0x65, 0xE5, 0xC0, 0x00, 0x31, 0x80, 0x00, 0x38, 0x00, 0x65, 0xE5,
+  0xC0, 0x00, 0x31, 0x80, 0x00, 0x39, 0x00, 0x65, 0xE5, 0xC0, 0x00, 0x32,
+  0x80, 0x00, 0x30, 0x00, 0x65, 0xE5, 0xC0, 0x00, 0x32, 0x80, 0x00, 0x31,
+  0x00, 0x65, 0xE5, 0xC0, 0x00, 0x32, 0x80, 0x00, 0x32, 0x00, 0x65, 0xE5,
+  0xC0, 0x00, 0x32, 0x80, 0x00, 0x33, 0x00, 0x65, 0xE5, 0xC0, 0x00, 0x32,
+  0x80, 0x00, 0x34, 0x00, 0x65, 0xE5, 0xC0, 0x00, 0x32, 0x80, 0x00, 0x35,
+  0x00, 0x65, 0xE5, 0xC0, 0x00, 0x32, 0x80, 0x00, 0x36, 0x00, 0x65, 0xE5,
+  0xC0, 0x00, 0x32, 0x80, 0x00, 0x37, 0x00, 0x65, 0xE5, 0xC0, 0x00, 0x32,
+  0x80, 0x00, 0x38, 0x00, 0x65, 0xE5, 0xC0, 0x00, 0x32, 0x80, 0x00, 0x39,
+  0x00, 0x65, 0xE5, 0xC0, 0x00, 0x33, 0x80, 0x00, 0x30, 0x00, 0x65, 0xE5,
+  0xC0, 0x00, 0x33, 0x80, 0x00, 0x31, 0x00, 0x65, 0xE5, 0xB8, 0x00, 0x67,
+  0x80, 0x00, 0x61, 0x00, 0x00, 0x6C, 0x20, 0xA7, 0x6F, 0x00, 0x8C, 0x48,
+  0x00, 0x66, 0xF4, 0x00, 0x8E, 0xCA, 0x00, 0x8C, 0xC8, 0x00, 0x6E, 0xD1,
+  0x00, 0x4E, 0x32, 0x00, 0x53, 0xE5, 0x00, 0x9F, 0x9C, 0x00, 0x9F, 0x9C,
+  0x00, 0x59, 0x51, 0x00, 0x91, 0xD1, 0x00, 0x55, 0x87, 0x00, 0x59, 0x48,
+  0x00, 0x61, 0xF6, 0x00, 0x76, 0x69, 0x00, 0x7F, 0x85, 0x00, 0x86, 0x3F,
+  0x00, 0x87, 0xBA, 0x00, 0x88, 0xF8, 0x00, 0x90, 0x8F, 0x00, 0x6A, 0x02,
+  0x00, 0x6D, 0x1B, 0x00, 0x70, 0xD9, 0x00, 0x73, 0xDE, 0x00, 0x84, 0x3D,
+  0x00, 0x91, 0x6A, 0x00, 0x99, 0xF1, 0x00, 0x4E, 0x82, 0x00, 0x53, 0x75,
+  0x00, 0x6B, 0x04, 0x00, 0x72, 0x1B, 0x00, 0x86, 0x2D, 0x00, 0x9E, 0x1E,
+  0x00, 0x5D, 0x50, 0x00, 0x6F, 0xEB, 0x00, 0x85, 0xCD, 0x00, 0x89, 0x64,
+  0x00, 0x62, 0xC9, 0x00, 0x81, 0xD8, 0x00, 0x88, 0x1F, 0x00, 0x5E, 0xCA,
+  0x00, 0x67, 0x17, 0x00, 0x6D, 0x6A, 0x00, 0x72, 0xFC, 0x00, 0x90, 0xCE,
+  0x00, 0x4F, 0x86, 0x00, 0x51, 0xB7, 0x00, 0x52, 0xDE, 0x00, 0x64, 0xC4,
+  0x00, 0x6A, 0xD3, 0x00, 0x72, 0x10, 0x00, 0x76, 0xE7, 0x00, 0x80, 0x01,
+  0x00, 0x86, 0x06, 0x00, 0x86, 0x5C, 0x00, 0x8D, 0xEF, 0x00, 0x97, 0x32,
+  0x00, 0x9B, 0x6F, 0x00, 0x9D, 0xFA, 0x00, 0x78, 0x8C, 0x00, 0x79, 0x7F,
+  0x00, 0x7D, 0xA0, 0x00, 0x83, 0xC9, 0x00, 0x93, 0x04, 0x00, 0x9E, 0x7F,
+  0x00, 0x8A, 0xD6, 0x00, 0x58, 0xDF, 0x00, 0x5F, 0x04, 0x00, 0x7C, 0x60,
+  0x00, 0x80, 0x7E, 0x00, 0x72, 0x62, 0x00, 0x78, 0xCA, 0x00, 0x8C, 0xC2,
+  0x00, 0x96, 0xF7, 0x00, 0x58, 0xD8, 0x00, 0x5C, 0x62, 0x00, 0x6A, 0x13,
+  0x00, 0x6D, 0xDA, 0x00, 0x6F, 0x0F, 0x00, 0x7D, 0x2F, 0x00, 0x7E, 0x37,
+  0x00, 0x96, 0x4B, 0x00, 0x52, 0xD2, 0x00, 0x80, 0x8B, 0x00, 0x51, 0xDC,
+  0x00, 0x51, 0xCC, 0x00, 0x7A, 0x1C, 0x00, 0x7D, 0xBE, 0x00, 0x83, 0xF1,
+  0x00, 0x96, 0x75, 0x00, 0x8B, 0x80, 0x00, 0x62, 0xCF, 0x00, 0x6A, 0x02,
+  0x00, 0x8A, 0xFE, 0x00, 0x4E, 0x39, 0x00, 0x5B, 0xE7, 0x00, 0x60, 0x12,
+  0x00, 0x73, 0x87, 0x00, 0x75, 0x70, 0x00, 0x53, 0x17, 0x00, 0x78, 0xFB,
+  0x00, 0x4F, 0xBF, 0x00, 0x5F, 0xA9, 0x00, 0x4E, 0x0D, 0x00, 0x6C, 0xCC,
+  0x00, 0x65, 0x78, 0x00, 0x7D, 0x22, 0x00, 0x53, 0xC3, 0x00, 0x58, 0x5E,
+  0x00, 0x77, 0x01, 0x00, 0x84, 0x49, 0x00, 0x8A, 0xAA, 0x00, 0x6B, 0xBA,
+  0x00, 0x8F, 0xB0, 0x00, 0x6C, 0x88, 0x00, 0x62, 0xFE, 0x00, 0x82, 0xE5,
+  0x00, 0x63, 0xA0, 0x00, 0x75, 0x65, 0x00, 0x4E, 0xAE, 0x00, 0x51, 0x69,
+  0x00, 0x51, 0xC9, 0x00, 0x68, 0x81, 0x00, 0x7C, 0xE7, 0x00, 0x82, 0x6F,
+  0x00, 0x8A, 0xD2, 0x00, 0x91, 0xCF, 0x00, 0x52, 0xF5, 0x00, 0x54, 0x42,
+  0x00, 0x59, 0x73, 0x00, 0x5E, 0xEC, 0x00, 0x65, 0xC5, 0x00, 0x6F, 0xFE,
+  0x00, 0x79, 0x2A, 0x00, 0x95, 0xAD, 0x00, 0x9A, 0x6A, 0x00, 0x9E, 0x97,
+  0x00, 0x9E, 0xCE, 0x00, 0x52, 0x9B, 0x00, 0x66, 0xC6, 0x00, 0x6B, 0x77,
+  0x00, 0x8F, 0x62, 0x00, 0x5E, 0x74, 0x00, 0x61, 0x90, 0x00, 0x62, 0x00,
+  0x00, 0x64, 0x9A, 0x00, 0x6F, 0x23, 0x00, 0x71, 0x49, 0x00, 0x74, 0x89,
+  0x00, 0x79, 0xCA, 0x00, 0x7D, 0xF4, 0x00, 0x80, 0x6F, 0x00, 0x8F, 0x26,
+  0x00, 0x84, 0xEE, 0x00, 0x90, 0x23, 0x00, 0x93, 0x4A, 0x00, 0x52, 0x17,
+  0x00, 0x52, 0xA3, 0x00, 0x54, 0xBD, 0x00, 0x70, 0xC8, 0x00, 0x88, 0xC2,
+  0x00, 0x8A, 0xAA, 0x00, 0x5E, 0xC9, 0x00, 0x5F, 0xF5, 0x00, 0x63, 0x7B,
+  0x00, 0x6B, 0xAE, 0x00, 0x7C, 0x3E, 0x00, 0x73, 0x75, 0x00, 0x4E, 0xE4,
+  0x00, 0x56, 0xF9, 0x00, 0x5B, 0xE7, 0x00, 0x5D, 0xBA, 0x00, 0x60, 0x1C,
+  0x00, 0x73, 0xB2, 0x00, 0x74, 0x69, 0x00, 0x7F, 0x9A, 0x00, 0x80, 0x46,
+  0x00, 0x92, 0x34, 0x00, 0x96, 0xF6, 0x00, 0x97, 0x48, 0x00, 0x98, 0x18,
+  0x00, 0x4F, 0x8B, 0x00, 0x79, 0xAE, 0x00, 0x91, 0xB4, 0x00, 0x96, 0xB8,
+  0x00, 0x60, 0xE1, 0x00, 0x4E, 0x86, 0x00, 0x50, 0xDA, 0x00, 0x5B, 0xEE,
+  0x00, 0x5C, 0x3F, 0x00, 0x65, 0x99, 0x00, 0x6A, 0x02, 0x00, 0x71, 0xCE,
+  0x00, 0x76, 0x42, 0x00, 0x84, 0xFC, 0x00, 0x90, 0x7C, 0x00, 0x9F, 0x8D,
+  0x00, 0x66, 0x88, 0x00, 0x96, 0x2E, 0x00, 0x52, 0x89, 0x00, 0x67, 0x7B,
+  0x00, 0x67, 0xF3, 0x00, 0x6D, 0x41, 0x00, 0x6E, 0x9C, 0x00, 0x74, 0x09,
+  0x00, 0x75, 0x59, 0x00, 0x78, 0x6B, 0x00, 0x7D, 0x10, 0x00, 0x98, 0x5E,
+  0x00, 0x51, 0x6D, 0x00, 0x62, 0x2E, 0x00, 0x96, 0x78, 0x00, 0x50, 0x2B,
+  0x00, 0x5D, 0x19, 0x00, 0x6D, 0xEA, 0x00, 0x8F, 0x2A, 0x00, 0x5F, 0x8B,
+  0x00, 0x61, 0x44, 0x00, 0x68, 0x17, 0x00, 0x73, 0x87, 0x00, 0x96, 0x86,
+  0x00, 0x52, 0x29, 0x00, 0x54, 0x0F, 0x00, 0x5C, 0x65, 0x00, 0x66, 0x13,
+  0x00, 0x67, 0x4E, 0x00, 0x68, 0xA8, 0x00, 0x6C, 0xE5, 0x00, 0x74, 0x06,
+  0x00, 0x75, 0xE2, 0x00, 0x7F, 0x79, 0x00, 0x88, 0xCF, 0x00, 0x88, 0xE1,
+  0x00, 0x91, 0xCC, 0x00, 0x96, 0xE2, 0x00, 0x53, 0x3F, 0x00, 0x6E, 0xBA,
+  0x00, 0x54, 0x1D, 0x00, 0x71, 0xD0, 0x00, 0x74, 0x98, 0x00, 0x85, 0xFA,
+  0x00, 0x96, 0xA3, 0x00, 0x9C, 0x57, 0x00, 0x9E, 0x9F, 0x00, 0x67, 0x97,
+  0x00, 0x6D, 0xCB, 0x00, 0x81, 0xE8, 0x00, 0x7A, 0xCB, 0x00, 0x7B, 0x20,
+  0x00, 0x7C, 0x92, 0x00, 0x72, 0xC0, 0x00, 0x70, 0x99, 0x00, 0x8B, 0x58,
+  0x00, 0x4E, 0xC0, 0x00, 0x83, 0x36, 0x00, 0x52, 0x3A, 0x00, 0x52, 0x07,
+  0x00, 0x5E, 0xA6, 0x00, 0x62, 0xD3, 0x00, 0x7C, 0xD6, 0x00, 0x5B, 0x85,
+  0x00, 0x6D, 0x1E, 0x00, 0x66, 0xB4, 0x00, 0x8F, 0x3B, 0x00, 0x88, 0x4C,
+  0x00, 0x96, 0x4D, 0x00, 0x89, 0x8B, 0x00, 0x5E, 0xD3, 0x00, 0x51, 0x40,
+  0x00, 0x55, 0xC0, 0x00, 0x58, 0x5A, 0x00, 0x66, 0x74, 0x00, 0x51, 0xDE,
+  0x00, 0x73, 0x2A, 0x00, 0x76, 0xCA, 0x00, 0x79, 0x3C, 0x00, 0x79, 0x5E,
+  0x00, 0x79, 0x65, 0x00, 0x79, 0x8F, 0x00, 0x97, 0x56, 0x00, 0x7C, 0xBE,
+  0x00, 0x7F, 0xBD, 0x00, 0x86, 0x12, 0x00, 0x8A, 0xF8, 0x00, 0x90, 0x38,
+  0x00, 0x90, 0xFD, 0x00, 0x98, 0xEF, 0x00, 0x98, 0xFC, 0x00, 0x99, 0x28,
+  0x00, 0x9D, 0xB4, 0x00, 0x4F, 0xAE, 0x00, 0x50, 0xE7, 0x00, 0x51, 0x4D,
+  0x00, 0x52, 0xC9, 0x00, 0x52, 0xE4, 0x00, 0x53, 0x51, 0x00, 0x55, 0x9D,
+  0x00, 0x56, 0x06, 0x00, 0x56, 0x68, 0x00, 0x58, 0x40, 0x00, 0x58, 0xA8,
+  0x00, 0x5C, 0x64, 0x00, 0x5C, 0x6E, 0x00, 0x60, 0x94, 0x00, 0x61, 0x68,
+  0x00, 0x61, 0x8E, 0x00, 0x61, 0xF2, 0x00, 0x65, 0x4F, 0x00, 0x65, 0xE2,
+  0x00, 0x66, 0x91, 0x00, 0x68, 0x85, 0x00, 0x6D, 0x77, 0x00, 0x6E, 0x1A,
+  0x00, 0x6F, 0x22, 0x00, 0x71, 0x6E, 0x00, 0x72, 0x2B, 0x00, 0x74, 0x22,
+  0x00, 0x78, 0x91, 0x00, 0x79, 0x3E, 0x00, 0x79, 0x49, 0x00, 0x79, 0x48,
+  0x00, 0x79, 0x50, 0x00, 0x79, 0x56, 0x00, 0x79, 0x5D, 0x00, 0x79, 0x8D,
+  0x00, 0x79, 0x8E, 0x00, 0x7A, 0x40, 0x00, 0x7A, 0x81, 0x00, 0x7B, 0xC0,
+  0x00, 0x7D, 0xF4, 0x00, 0x7E, 0x09, 0x00, 0x7E, 0x41, 0x00, 0x7F, 0x72,
+  0x00, 0x80, 0x05, 0x00, 0x81, 0xED, 0x00, 0x82, 0x79, 0x00, 0x82, 0x79,
+  0x00, 0x84, 0x57, 0x00, 0x89, 0x10, 0x00, 0x89, 0x96, 0x00, 0x8B, 0x01,
+  0x00, 0x8B, 0x39, 0x00, 0x8C, 0xD3, 0x00, 0x8D, 0x08, 0x00, 0x8F, 0xB6,
+  0x00, 0x90, 0x38, 0x00, 0x96, 0xE3, 0x00, 0x97, 0xFF, 0x00, 0x98, 0x3B,
+  0x00, 0x60, 0x75, 0x02, 0x42, 0xEE, 0x00, 0x82, 0x18, 0x00, 0x4E, 0x26,
   0x00, 0x51, 0xB5, 0x00, 0x51, 0x68, 0x00, 0x4F, 0x80, 0x00, 0x51, 0x45,
   0x00, 0x51, 0x80, 0x00, 0x52, 0xC7, 0x00, 0x52, 0xFA, 0x00, 0x55, 0x9D,
   0x00, 0x55, 0x55, 0x00, 0x55, 0x99, 0x00, 0x55, 0xE2, 0x00, 0x58, 0x5A,
@@ -1635,191 +1640,178 @@
   0x2C, 0x00, 0xA2, 0x2C, 0x00, 0xA3, 0x2C, 0x00, 0xAC, 0x2C, 0x00, 0xAF,
   0x2C, 0x00, 0xA6, 0x2C, 0x00, 0xA5, 0x2C, 0x20, 0xA9, 0x30, 0x25, 0x02,
   0x30, 0x21, 0x90, 0x30, 0x21, 0x91, 0x30, 0x21, 0x92, 0x30, 0x21, 0x93,
-  0x30, 0x25, 0xA0, 0x30, 0x25, 0xCB, 0x81, 0xD1, 0x57, 0x01, 0xD1, 0x65,
-  0x81, 0xD1, 0x58, 0x01, 0xD1, 0x65, 0x81, 0xD1, 0x5F, 0x01, 0xD1, 0x6E,
-  0x81, 0xD1, 0x5F, 0x01, 0xD1, 0x6F, 0x81, 0xD1, 0x5F, 0x01, 0xD1, 0x70,
-  0x81, 0xD1, 0x5F, 0x01, 0xD1, 0x71, 0x81, 0xD1, 0x5F, 0x01, 0xD1, 0x72,
-  0x81, 0xD1, 0xB9, 0x01, 0xD1, 0x65, 0x81, 0xD1, 0xBA, 0x01, 0xD1, 0x65,
-  0x81, 0xD1, 0xBB, 0x01, 0xD1, 0x6E, 0x81, 0xD1, 0xBC, 0x01, 0xD1, 0x6E,
-  0x81, 0xD1, 0xBB, 0x01, 0xD1, 0x6F, 0x81, 0xD1, 0xBC, 0x01, 0xD1, 0x6F,
-  0x04, 0x00, 0x41, 0x04, 0x00, 0x42, 0x04, 0x00, 0x43, 0x04, 0x00, 0x44,
-  0x04, 0x00, 0x45, 0x04, 0x00, 0x46, 0x04, 0x00, 0x47, 0x04, 0x00, 0x48,
-  0x04, 0x00, 0x49, 0x04, 0x00, 0x4A, 0x04, 0x00, 0x4B, 0x04, 0x00, 0x4C,
-  0x04, 0x00, 0x4D, 0x04, 0x00, 0x4E, 0x04, 0x00, 0x4F, 0x04, 0x00, 0x50,
-  0x04, 0x00, 0x51, 0x04, 0x00, 0x52, 0x04, 0x00, 0x53, 0x04, 0x00, 0x54,
-  0x04, 0x00, 0x55, 0x04, 0x00, 0x56, 0x04, 0x00, 0x57, 0x04, 0x00, 0x58,
-  0x04, 0x00, 0x59, 0x04, 0x00, 0x5A, 0x04, 0x00, 0x61, 0x04, 0x00, 0x62,
-  0x04, 0x00, 0x63, 0x04, 0x00, 0x64, 0x04, 0x00, 0x65, 0x04, 0x00, 0x66,
-  0x04, 0x00, 0x67, 0x04, 0x00, 0x68, 0x04, 0x00, 0x69, 0x04, 0x00, 0x6A,
-  0x04, 0x00, 0x6B, 0x04, 0x00, 0x6C, 0x04, 0x00, 0x6D, 0x04, 0x00, 0x6E,
-  0x04, 0x00, 0x6F, 0x04, 0x00, 0x70, 0x04, 0x00, 0x71, 0x04, 0x00, 0x72,
-  0x04, 0x00, 0x73, 0x04, 0x00, 0x74, 0x04, 0x00, 0x75, 0x04, 0x00, 0x76,
-  0x04, 0x00, 0x77, 0x04, 0x00, 0x78, 0x04, 0x00, 0x79, 0x04, 0x00, 0x7A,
-  0x04, 0x00, 0x41, 0x04, 0x00, 0x42, 0x04, 0x00, 0x43, 0x04, 0x00, 0x44,
-  0x04, 0x00, 0x45, 0x04, 0x00, 0x46, 0x04, 0x00, 0x47, 0x04, 0x00, 0x48,
-  0x04, 0x00, 0x49, 0x04, 0x00, 0x4A, 0x04, 0x00, 0x4B, 0x04, 0x00, 0x4C,
-  0x04, 0x00, 0x4D, 0x04, 0x00, 0x4E, 0x04, 0x00, 0x4F, 0x04, 0x00, 0x50,
-  0x04, 0x00, 0x51, 0x04, 0x00, 0x52, 0x04, 0x00, 0x53, 0x04, 0x00, 0x54,
-  0x04, 0x00, 0x55, 0x04, 0x00, 0x56, 0x04, 0x00, 0x57, 0x04, 0x00, 0x58,
-  0x04, 0x00, 0x59, 0x04, 0x00, 0x5A, 0x04, 0x00, 0x61, 0x04, 0x00, 0x62,
-  0x04, 0x00, 0x63, 0x04, 0x00, 0x64, 0x04, 0x00, 0x65, 0x04, 0x00, 0x66,
-  0x04, 0x00, 0x67, 0x04, 0x00, 0x69, 0x04, 0x00, 0x6A, 0x04, 0x00, 0x6B,
-  0x04, 0x00, 0x6C, 0x04, 0x00, 0x6D, 0x04, 0x00, 0x6E, 0x04, 0x00, 0x6F,
-  0x04, 0x00, 0x70, 0x04, 0x00, 0x71, 0x04, 0x00, 0x72, 0x04, 0x00, 0x73,
-  0x04, 0x00, 0x74, 0x04, 0x00, 0x75, 0x04, 0x00, 0x76, 0x04, 0x00, 0x77,
-  0x04, 0x00, 0x78, 0x04, 0x00, 0x79, 0x04, 0x00, 0x7A, 0x04, 0x00, 0x41,
-  0x04, 0x00, 0x42, 0x04, 0x00, 0x43, 0x04, 0x00, 0x44, 0x04, 0x00, 0x45,
-  0x04, 0x00, 0x46, 0x04, 0x00, 0x47, 0x04, 0x00, 0x48, 0x04, 0x00, 0x49,
+  0x30, 0x25, 0xA0, 0x30, 0x25, 0xCB, 0x81, 0x10, 0x99, 0x01, 0x10, 0xBA,
+  0x81, 0x10, 0x9B, 0x01, 0x10, 0xBA, 0x81, 0x10, 0xA5, 0x01, 0x10, 0xBA,
+  0x81, 0xD1, 0x57, 0x01, 0xD1, 0x65, 0x81, 0xD1, 0x58, 0x01, 0xD1, 0x65,
+  0x81, 0xD1, 0x5F, 0x01, 0xD1, 0x6E, 0x81, 0xD1, 0x5F, 0x01, 0xD1, 0x6F,
+  0x81, 0xD1, 0x5F, 0x01, 0xD1, 0x70, 0x81, 0xD1, 0x5F, 0x01, 0xD1, 0x71,
+  0x81, 0xD1, 0x5F, 0x01, 0xD1, 0x72, 0x81, 0xD1, 0xB9, 0x01, 0xD1, 0x65,
+  0x81, 0xD1, 0xBA, 0x01, 0xD1, 0x65, 0x81, 0xD1, 0xBB, 0x01, 0xD1, 0x6E,
+  0x81, 0xD1, 0xBC, 0x01, 0xD1, 0x6E, 0x81, 0xD1, 0xBB, 0x01, 0xD1, 0x6F,
+  0x81, 0xD1, 0xBC, 0x01, 0xD1, 0x6F, 0x04, 0x00, 0x41, 0x04, 0x00, 0x42,
+  0x04, 0x00, 0x43, 0x04, 0x00, 0x44, 0x04, 0x00, 0x45, 0x04, 0x00, 0x46,
+  0x04, 0x00, 0x47, 0x04, 0x00, 0x48, 0x04, 0x00, 0x49, 0x04, 0x00, 0x4A,
+  0x04, 0x00, 0x4B, 0x04, 0x00, 0x4C, 0x04, 0x00, 0x4D, 0x04, 0x00, 0x4E,
+  0x04, 0x00, 0x4F, 0x04, 0x00, 0x50, 0x04, 0x00, 0x51, 0x04, 0x00, 0x52,
+  0x04, 0x00, 0x53, 0x04, 0x00, 0x54, 0x04, 0x00, 0x55, 0x04, 0x00, 0x56,
+  0x04, 0x00, 0x57, 0x04, 0x00, 0x58, 0x04, 0x00, 0x59, 0x04, 0x00, 0x5A,
+  0x04, 0x00, 0x61, 0x04, 0x00, 0x62, 0x04, 0x00, 0x63, 0x04, 0x00, 0x64,
+  0x04, 0x00, 0x65, 0x04, 0x00, 0x66, 0x04, 0x00, 0x67, 0x04, 0x00, 0x68,
+  0x04, 0x00, 0x69, 0x04, 0x00, 0x6A, 0x04, 0x00, 0x6B, 0x04, 0x00, 0x6C,
+  0x04, 0x00, 0x6D, 0x04, 0x00, 0x6E, 0x04, 0x00, 0x6F, 0x04, 0x00, 0x70,
+  0x04, 0x00, 0x71, 0x04, 0x00, 0x72, 0x04, 0x00, 0x73, 0x04, 0x00, 0x74,
+  0x04, 0x00, 0x75, 0x04, 0x00, 0x76, 0x04, 0x00, 0x77, 0x04, 0x00, 0x78,
+  0x04, 0x00, 0x79, 0x04, 0x00, 0x7A, 0x04, 0x00, 0x41, 0x04, 0x00, 0x42,
+  0x04, 0x00, 0x43, 0x04, 0x00, 0x44, 0x04, 0x00, 0x45, 0x04, 0x00, 0x46,
+  0x04, 0x00, 0x47, 0x04, 0x00, 0x48, 0x04, 0x00, 0x49, 0x04, 0x00, 0x4A,
+  0x04, 0x00, 0x4B, 0x04, 0x00, 0x4C, 0x04, 0x00, 0x4D, 0x04, 0x00, 0x4E,
+  0x04, 0x00, 0x4F, 0x04, 0x00, 0x50, 0x04, 0x00, 0x51, 0x04, 0x00, 0x52,
+  0x04, 0x00, 0x53, 0x04, 0x00, 0x54, 0x04, 0x00, 0x55, 0x04, 0x00, 0x56,
+  0x04, 0x00, 0x57, 0x04, 0x00, 0x58, 0x04, 0x00, 0x59, 0x04, 0x00, 0x5A,
+  0x04, 0x00, 0x61, 0x04, 0x00, 0x62, 0x04, 0x00, 0x63, 0x04, 0x00, 0x64,
+  0x04, 0x00, 0x65, 0x04, 0x00, 0x66, 0x04, 0x00, 0x67, 0x04, 0x00, 0x69,
+  0x04, 0x00, 0x6A, 0x04, 0x00, 0x6B, 0x04, 0x00, 0x6C, 0x04, 0x00, 0x6D,
+  0x04, 0x00, 0x6E, 0x04, 0x00, 0x6F, 0x04, 0x00, 0x70, 0x04, 0x00, 0x71,
+  0x04, 0x00, 0x72, 0x04, 0x00, 0x73, 0x04, 0x00, 0x74, 0x04, 0x00, 0x75,
+  0x04, 0x00, 0x76, 0x04, 0x00, 0x77, 0x04, 0x00, 0x78, 0x04, 0x00, 0x79,
+  0x04, 0x00, 0x7A, 0x04, 0x00, 0x41, 0x04, 0x00, 0x42, 0x04, 0x00, 0x43,
+  0x04, 0x00, 0x44, 0x04, 0x00, 0x45, 0x04, 0x00, 0x46, 0x04, 0x00, 0x47,
+  0x04, 0x00, 0x48, 0x04, 0x00, 0x49, 0x04, 0x00, 0x4A, 0x04, 0x00, 0x4B,
+  0x04, 0x00, 0x4C, 0x04, 0x00, 0x4D, 0x04, 0x00, 0x4E, 0x04, 0x00, 0x4F,
+  0x04, 0x00, 0x50, 0x04, 0x00, 0x51, 0x04, 0x00, 0x52, 0x04, 0x00, 0x53,
+  0x04, 0x00, 0x54, 0x04, 0x00, 0x55, 0x04, 0x00, 0x56, 0x04, 0x00, 0x57,
+  0x04, 0x00, 0x58, 0x04, 0x00, 0x59, 0x04, 0x00, 0x5A, 0x04, 0x00, 0x61,
+  0x04, 0x00, 0x62, 0x04, 0x00, 0x63, 0x04, 0x00, 0x64, 0x04, 0x00, 0x65,
+  0x04, 0x00, 0x66, 0x04, 0x00, 0x67, 0x04, 0x00, 0x68, 0x04, 0x00, 0x69,
+  0x04, 0x00, 0x6A, 0x04, 0x00, 0x6B, 0x04, 0x00, 0x6C, 0x04, 0x00, 0x6D,
+  0x04, 0x00, 0x6E, 0x04, 0x00, 0x6F, 0x04, 0x00, 0x70, 0x04, 0x00, 0x71,
+  0x04, 0x00, 0x72, 0x04, 0x00, 0x73, 0x04, 0x00, 0x74, 0x04, 0x00, 0x75,
+  0x04, 0x00, 0x76, 0x04, 0x00, 0x77, 0x04, 0x00, 0x78, 0x04, 0x00, 0x79,
+  0x04, 0x00, 0x7A, 0x04, 0x00, 0x41, 0x04, 0x00, 0x43, 0x04, 0x00, 0x44,
+  0x04, 0x00, 0x47, 0x04, 0x00, 0x4A, 0x04, 0x00, 0x4B, 0x04, 0x00, 0x4E,
+  0x04, 0x00, 0x4F, 0x04, 0x00, 0x50, 0x04, 0x00, 0x51, 0x04, 0x00, 0x53,
+  0x04, 0x00, 0x54, 0x04, 0x00, 0x55, 0x04, 0x00, 0x56, 0x04, 0x00, 0x57,
+  0x04, 0x00, 0x58, 0x04, 0x00, 0x59, 0x04, 0x00, 0x5A, 0x04, 0x00, 0x61,
+  0x04, 0x00, 0x62, 0x04, 0x00, 0x63, 0x04, 0x00, 0x64, 0x04, 0x00, 0x66,
+  0x04, 0x00, 0x68, 0x04, 0x00, 0x69, 0x04, 0x00, 0x6A, 0x04, 0x00, 0x6B,
+  0x04, 0x00, 0x6C, 0x04, 0x00, 0x6D, 0x04, 0x00, 0x6E, 0x04, 0x00, 0x70,
+  0x04, 0x00, 0x71, 0x04, 0x00, 0x72, 0x04, 0x00, 0x73, 0x04, 0x00, 0x74,
+  0x04, 0x00, 0x75, 0x04, 0x00, 0x76, 0x04, 0x00, 0x77, 0x04, 0x00, 0x78,
+  0x04, 0x00, 0x79, 0x04, 0x00, 0x7A, 0x04, 0x00, 0x41, 0x04, 0x00, 0x42,
+  0x04, 0x00, 0x43, 0x04, 0x00, 0x44, 0x04, 0x00, 0x45, 0x04, 0x00, 0x46,
+  0x04, 0x00, 0x47, 0x04, 0x00, 0x48, 0x04, 0x00, 0x49, 0x04, 0x00, 0x4A,
+  0x04, 0x00, 0x4B, 0x04, 0x00, 0x4C, 0x04, 0x00, 0x4D, 0x04, 0x00, 0x4E,
+  0x04, 0x00, 0x4F, 0x04, 0x00, 0x50, 0x04, 0x00, 0x51, 0x04, 0x00, 0x52,
+  0x04, 0x00, 0x53, 0x04, 0x00, 0x54, 0x04, 0x00, 0x55, 0x04, 0x00, 0x56,
+  0x04, 0x00, 0x57, 0x04, 0x00, 0x58, 0x04, 0x00, 0x59, 0x04, 0x00, 0x5A,
+  0x04, 0x00, 0x61, 0x04, 0x00, 0x62, 0x04, 0x00, 0x63, 0x04, 0x00, 0x64,
+  0x04, 0x00, 0x65, 0x04, 0x00, 0x66, 0x04, 0x00, 0x67, 0x04, 0x00, 0x68,
+  0x04, 0x00, 0x69, 0x04, 0x00, 0x6A, 0x04, 0x00, 0x6B, 0x04, 0x00, 0x6C,
+  0x04, 0x00, 0x6D, 0x04, 0x00, 0x6E, 0x04, 0x00, 0x6F, 0x04, 0x00, 0x70,
+  0x04, 0x00, 0x71, 0x04, 0x00, 0x72, 0x04, 0x00, 0x73, 0x04, 0x00, 0x74,
+  0x04, 0x00, 0x75, 0x04, 0x00, 0x76, 0x04, 0x00, 0x77, 0x04, 0x00, 0x78,
+  0x04, 0x00, 0x79, 0x04, 0x00, 0x7A, 0x04, 0x00, 0x41, 0x04, 0x00, 0x42,
+  0x04, 0x00, 0x44, 0x04, 0x00, 0x45, 0x04, 0x00, 0x46, 0x04, 0x00, 0x47,
   0x04, 0x00, 0x4A, 0x04, 0x00, 0x4B, 0x04, 0x00, 0x4C, 0x04, 0x00, 0x4D,
   0x04, 0x00, 0x4E, 0x04, 0x00, 0x4F, 0x04, 0x00, 0x50, 0x04, 0x00, 0x51,
-  0x04, 0x00, 0x52, 0x04, 0x00, 0x53, 0x04, 0x00, 0x54, 0x04, 0x00, 0x55,
-  0x04, 0x00, 0x56, 0x04, 0x00, 0x57, 0x04, 0x00, 0x58, 0x04, 0x00, 0x59,
-  0x04, 0x00, 0x5A, 0x04, 0x00, 0x61, 0x04, 0x00, 0x62, 0x04, 0x00, 0x63,
-  0x04, 0x00, 0x64, 0x04, 0x00, 0x65, 0x04, 0x00, 0x66, 0x04, 0x00, 0x67,
-  0x04, 0x00, 0x68, 0x04, 0x00, 0x69, 0x04, 0x00, 0x6A, 0x04, 0x00, 0x6B,
-  0x04, 0x00, 0x6C, 0x04, 0x00, 0x6D, 0x04, 0x00, 0x6E, 0x04, 0x00, 0x6F,
-  0x04, 0x00, 0x70, 0x04, 0x00, 0x71, 0x04, 0x00, 0x72, 0x04, 0x00, 0x73,
-  0x04, 0x00, 0x74, 0x04, 0x00, 0x75, 0x04, 0x00, 0x76, 0x04, 0x00, 0x77,
-  0x04, 0x00, 0x78, 0x04, 0x00, 0x79, 0x04, 0x00, 0x7A, 0x04, 0x00, 0x41,
-  0x04, 0x00, 0x43, 0x04, 0x00, 0x44, 0x04, 0x00, 0x47, 0x04, 0x00, 0x4A,
-  0x04, 0x00, 0x4B, 0x04, 0x00, 0x4E, 0x04, 0x00, 0x4F, 0x04, 0x00, 0x50,
-  0x04, 0x00, 0x51, 0x04, 0x00, 0x53, 0x04, 0x00, 0x54, 0x04, 0x00, 0x55,
-  0x04, 0x00, 0x56, 0x04, 0x00, 0x57, 0x04, 0x00, 0x58, 0x04, 0x00, 0x59,
-  0x04, 0x00, 0x5A, 0x04, 0x00, 0x61, 0x04, 0x00, 0x62, 0x04, 0x00, 0x63,
-  0x04, 0x00, 0x64, 0x04, 0x00, 0x66, 0x04, 0x00, 0x68, 0x04, 0x00, 0x69,
+  0x04, 0x00, 0x53, 0x04, 0x00, 0x54, 0x04, 0x00, 0x55, 0x04, 0x00, 0x56,
+  0x04, 0x00, 0x57, 0x04, 0x00, 0x58, 0x04, 0x00, 0x59, 0x04, 0x00, 0x61,
+  0x04, 0x00, 0x62, 0x04, 0x00, 0x63, 0x04, 0x00, 0x64, 0x04, 0x00, 0x65,
+  0x04, 0x00, 0x66, 0x04, 0x00, 0x67, 0x04, 0x00, 0x68, 0x04, 0x00, 0x69,
   0x04, 0x00, 0x6A, 0x04, 0x00, 0x6B, 0x04, 0x00, 0x6C, 0x04, 0x00, 0x6D,
-  0x04, 0x00, 0x6E, 0x04, 0x00, 0x70, 0x04, 0x00, 0x71, 0x04, 0x00, 0x72,
-  0x04, 0x00, 0x73, 0x04, 0x00, 0x74, 0x04, 0x00, 0x75, 0x04, 0x00, 0x76,
-  0x04, 0x00, 0x77, 0x04, 0x00, 0x78, 0x04, 0x00, 0x79, 0x04, 0x00, 0x7A,
-  0x04, 0x00, 0x41, 0x04, 0x00, 0x42, 0x04, 0x00, 0x43, 0x04, 0x00, 0x44,
-  0x04, 0x00, 0x45, 0x04, 0x00, 0x46, 0x04, 0x00, 0x47, 0x04, 0x00, 0x48,
-  0x04, 0x00, 0x49, 0x04, 0x00, 0x4A, 0x04, 0x00, 0x4B, 0x04, 0x00, 0x4C,
-  0x04, 0x00, 0x4D, 0x04, 0x00, 0x4E, 0x04, 0x00, 0x4F, 0x04, 0x00, 0x50,
-  0x04, 0x00, 0x51, 0x04, 0x00, 0x52, 0x04, 0x00, 0x53, 0x04, 0x00, 0x54,
-  0x04, 0x00, 0x55, 0x04, 0x00, 0x56, 0x04, 0x00, 0x57, 0x04, 0x00, 0x58,
-  0x04, 0x00, 0x59, 0x04, 0x00, 0x5A, 0x04, 0x00, 0x61, 0x04, 0x00, 0x62,
-  0x04, 0x00, 0x63, 0x04, 0x00, 0x64, 0x04, 0x00, 0x65, 0x04, 0x00, 0x66,
-  0x04, 0x00, 0x67, 0x04, 0x00, 0x68, 0x04, 0x00, 0x69, 0x04, 0x00, 0x6A,
-  0x04, 0x00, 0x6B, 0x04, 0x00, 0x6C, 0x04, 0x00, 0x6D, 0x04, 0x00, 0x6E,
-  0x04, 0x00, 0x6F, 0x04, 0x00, 0x70, 0x04, 0x00, 0x71, 0x04, 0x00, 0x72,
-  0x04, 0x00, 0x73, 0x04, 0x00, 0x74, 0x04, 0x00, 0x75, 0x04, 0x00, 0x76,
-  0x04, 0x00, 0x77, 0x04, 0x00, 0x78, 0x04, 0x00, 0x79, 0x04, 0x00, 0x7A,
-  0x04, 0x00, 0x41, 0x04, 0x00, 0x42, 0x04, 0x00, 0x44, 0x04, 0x00, 0x45,
-  0x04, 0x00, 0x46, 0x04, 0x00, 0x47, 0x04, 0x00, 0x4A, 0x04, 0x00, 0x4B,
-  0x04, 0x00, 0x4C, 0x04, 0x00, 0x4D, 0x04, 0x00, 0x4E, 0x04, 0x00, 0x4F,
-  0x04, 0x00, 0x50, 0x04, 0x00, 0x51, 0x04, 0x00, 0x53, 0x04, 0x00, 0x54,
-  0x04, 0x00, 0x55, 0x04, 0x00, 0x56, 0x04, 0x00, 0x57, 0x04, 0x00, 0x58,
-  0x04, 0x00, 0x59, 0x04, 0x00, 0x61, 0x04, 0x00, 0x62, 0x04, 0x00, 0x63,
-  0x04, 0x00, 0x64, 0x04, 0x00, 0x65, 0x04, 0x00, 0x66, 0x04, 0x00, 0x67,
-  0x04, 0x00, 0x68, 0x04, 0x00, 0x69, 0x04, 0x00, 0x6A, 0x04, 0x00, 0x6B,
-  0x04, 0x00, 0x6C, 0x04, 0x00, 0x6D, 0x04, 0x00, 0x6E, 0x04, 0x00, 0x6F,
-  0x04, 0x00, 0x70, 0x04, 0x00, 0x71, 0x04, 0x00, 0x72, 0x04, 0x00, 0x73,
-  0x04, 0x00, 0x74, 0x04, 0x00, 0x75, 0x04, 0x00, 0x76, 0x04, 0x00, 0x77,
-  0x04, 0x00, 0x78, 0x04, 0x00, 0x79, 0x04, 0x00, 0x7A, 0x04, 0x00, 0x41,
-  0x04, 0x00, 0x42, 0x04, 0x00, 0x44, 0x04, 0x00, 0x45, 0x04, 0x00, 0x46,
-  0x04, 0x00, 0x47, 0x04, 0x00, 0x49, 0x04, 0x00, 0x4A, 0x04, 0x00, 0x4B,
-  0x04, 0x00, 0x4C, 0x04, 0x00, 0x4D, 0x04, 0x00, 0x4F, 0x04, 0x00, 0x53,
-  0x04, 0x00, 0x54, 0x04, 0x00, 0x55, 0x04, 0x00, 0x56, 0x04, 0x00, 0x57,
-  0x04, 0x00, 0x58, 0x04, 0x00, 0x59, 0x04, 0x00, 0x61, 0x04, 0x00, 0x62,
-  0x04, 0x00, 0x63, 0x04, 0x00, 0x64, 0x04, 0x00, 0x65, 0x04, 0x00, 0x66,
-  0x04, 0x00, 0x67, 0x04, 0x00, 0x68, 0x04, 0x00, 0x69, 0x04, 0x00, 0x6A,
-  0x04, 0x00, 0x6B, 0x04, 0x00, 0x6C, 0x04, 0x00, 0x6D, 0x04, 0x00, 0x6E,
-  0x04, 0x00, 0x6F, 0x04, 0x00, 0x70, 0x04, 0x00, 0x71, 0x04, 0x00, 0x72,
-  0x04, 0x00, 0x73, 0x04, 0x00, 0x74, 0x04, 0x00, 0x75, 0x04, 0x00, 0x76,
-  0x04, 0x00, 0x77, 0x04, 0x00, 0x78, 0x04, 0x00, 0x79, 0x04, 0x00, 0x7A,
-  0x04, 0x00, 0x41, 0x04, 0x00, 0x42, 0x04, 0x00, 0x43, 0x04, 0x00, 0x44,
-  0x04, 0x00, 0x45, 0x04, 0x00, 0x46, 0x04, 0x00, 0x47, 0x04, 0x00, 0x48,
-  0x04, 0x00, 0x49, 0x04, 0x00, 0x4A, 0x04, 0x00, 0x4B, 0x04, 0x00, 0x4C,
-  0x04, 0x00, 0x4D, 0x04, 0x00, 0x4E, 0x04, 0x00, 0x4F, 0x04, 0x00, 0x50,
-  0x04, 0x00, 0x51, 0x04, 0x00, 0x52, 0x04, 0x00, 0x53, 0x04, 0x00, 0x54,
-  0x04, 0x00, 0x55, 0x04, 0x00, 0x56, 0x04, 0x00, 0x57, 0x04, 0x00, 0x58,
-  0x04, 0x00, 0x59, 0x04, 0x00, 0x5A, 0x04, 0x00, 0x61, 0x04, 0x00, 0x62,
-  0x04, 0x00, 0x63, 0x04, 0x00, 0x64, 0x04, 0x00, 0x65, 0x04, 0x00, 0x66,
-  0x04, 0x00, 0x67, 0x04, 0x00, 0x68, 0x04, 0x00, 0x69, 0x04, 0x00, 0x6A,
-  0x04, 0x00, 0x6B, 0x04, 0x00, 0x6C, 0x04, 0x00, 0x6D, 0x04, 0x00, 0x6E,
-  0x04, 0x00, 0x6F, 0x04, 0x00, 0x70, 0x04, 0x00, 0x71, 0x04, 0x00, 0x72,
-  0x04, 0x00, 0x73, 0x04, 0x00, 0x74, 0x04, 0x00, 0x75, 0x04, 0x00, 0x76,
-  0x04, 0x00, 0x77, 0x04, 0x00, 0x78, 0x04, 0x00, 0x79, 0x04, 0x00, 0x7A,
-  0x04, 0x00, 0x41, 0x04, 0x00, 0x42, 0x04, 0x00, 0x43, 0x04, 0x00, 0x44,
-  0x04, 0x00, 0x45, 0x04, 0x00, 0x46, 0x04, 0x00, 0x47, 0x04, 0x00, 0x48,
-  0x04, 0x00, 0x49, 0x04, 0x00, 0x4A, 0x04, 0x00, 0x4B, 0x04, 0x00, 0x4C,
-  0x04, 0x00, 0x4D, 0x04, 0x00, 0x4E, 0x04, 0x00, 0x4F, 0x04, 0x00, 0x50,
-  0x04, 0x00, 0x51, 0x04, 0x00, 0x52, 0x04, 0x00, 0x53, 0x04, 0x00, 0x54,
-  0x04, 0x00, 0x55, 0x04, 0x00, 0x56, 0x04, 0x00, 0x57, 0x04, 0x00, 0x58,
-  0x04, 0x00, 0x59, 0x04, 0x00, 0x5A, 0x04, 0x00, 0x61, 0x04, 0x00, 0x62,
-  0x04, 0x00, 0x63, 0x04, 0x00, 0x64, 0x04, 0x00, 0x65, 0x04, 0x00, 0x66,
-  0x04, 0x00, 0x67, 0x04, 0x00, 0x68, 0x04, 0x00, 0x69, 0x04, 0x00, 0x6A,
-  0x04, 0x00, 0x6B, 0x04, 0x00, 0x6C, 0x04, 0x00, 0x6D, 0x04, 0x00, 0x6E,
-  0x04, 0x00, 0x6F, 0x04, 0x00, 0x70, 0x04, 0x00, 0x71, 0x04, 0x00, 0x72,
-  0x04, 0x00, 0x73, 0x04, 0x00, 0x74, 0x04, 0x00, 0x75, 0x04, 0x00, 0x76,
-  0x04, 0x00, 0x77, 0x04, 0x00, 0x78, 0x04, 0x00, 0x79, 0x04, 0x00, 0x7A,
-  0x04, 0x00, 0x41, 0x04, 0x00, 0x42, 0x04, 0x00, 0x43, 0x04, 0x00, 0x44,
-  0x04, 0x00, 0x45, 0x04, 0x00, 0x46, 0x04, 0x00, 0x47, 0x04, 0x00, 0x48,
-  0x04, 0x00, 0x49, 0x04, 0x00, 0x4A, 0x04, 0x00, 0x4B, 0x04, 0x00, 0x4C,
-  0x04, 0x00, 0x4D, 0x04, 0x00, 0x4E, 0x04, 0x00, 0x4F, 0x04, 0x00, 0x50,
-  0x04, 0x00, 0x51, 0x04, 0x00, 0x52, 0x04, 0x00, 0x53, 0x04, 0x00, 0x54,
-  0x04, 0x00, 0x55, 0x04, 0x00, 0x56, 0x04, 0x00, 0x57, 0x04, 0x00, 0x58,
-  0x04, 0x00, 0x59, 0x04, 0x00, 0x5A, 0x04, 0x00, 0x61, 0x04, 0x00, 0x62,
-  0x04, 0x00, 0x63, 0x04, 0x00, 0x64, 0x04, 0x00, 0x65, 0x04, 0x00, 0x66,
-  0x04, 0x00, 0x67, 0x04, 0x00, 0x68, 0x04, 0x00, 0x69, 0x04, 0x00, 0x6A,
-  0x04, 0x00, 0x6B, 0x04, 0x00, 0x6C, 0x04, 0x00, 0x6D, 0x04, 0x00, 0x6E,
-  0x04, 0x00, 0x6F, 0x04, 0x00, 0x70, 0x04, 0x00, 0x71, 0x04, 0x00, 0x72,
-  0x04, 0x00, 0x73, 0x04, 0x00, 0x74, 0x04, 0x00, 0x75, 0x04, 0x00, 0x76,
-  0x04, 0x00, 0x77, 0x04, 0x00, 0x78, 0x04, 0x00, 0x79, 0x04, 0x00, 0x7A,
-  0x04, 0x00, 0x41, 0x04, 0x00, 0x42, 0x04, 0x00, 0x43, 0x04, 0x00, 0x44,
-  0x04, 0x00, 0x45, 0x04, 0x00, 0x46, 0x04, 0x00, 0x47, 0x04, 0x00, 0x48,
-  0x04, 0x00, 0x49, 0x04, 0x00, 0x4A, 0x04, 0x00, 0x4B, 0x04, 0x00, 0x4C,
-  0x04, 0x00, 0x4D, 0x04, 0x00, 0x4E, 0x04, 0x00, 0x4F, 0x04, 0x00, 0x50,
-  0x04, 0x00, 0x51, 0x04, 0x00, 0x52, 0x04, 0x00, 0x53, 0x04, 0x00, 0x54,
-  0x04, 0x00, 0x55, 0x04, 0x00, 0x56, 0x04, 0x00, 0x57, 0x04, 0x00, 0x58,
-  0x04, 0x00, 0x59, 0x04, 0x00, 0x5A, 0x04, 0x00, 0x61, 0x04, 0x00, 0x62,
-  0x04, 0x00, 0x63, 0x04, 0x00, 0x64, 0x04, 0x00, 0x65, 0x04, 0x00, 0x66,
-  0x04, 0x00, 0x67, 0x04, 0x00, 0x68, 0x04, 0x00, 0x69, 0x04, 0x00, 0x6A,
-  0x04, 0x00, 0x6B, 0x04, 0x00, 0x6C, 0x04, 0x00, 0x6D, 0x04, 0x00, 0x6E,
-  0x04, 0x00, 0x6F, 0x04, 0x00, 0x70, 0x04, 0x00, 0x71, 0x04, 0x00, 0x72,
-  0x04, 0x00, 0x73, 0x04, 0x00, 0x74, 0x04, 0x00, 0x75, 0x04, 0x00, 0x76,
-  0x04, 0x00, 0x77, 0x04, 0x00, 0x78, 0x04, 0x00, 0x79, 0x04, 0x00, 0x7A,
-  0x04, 0x00, 0x41, 0x04, 0x00, 0x42, 0x04, 0x00, 0x43, 0x04, 0x00, 0x44,
-  0x04, 0x00, 0x45, 0x04, 0x00, 0x46, 0x04, 0x00, 0x47, 0x04, 0x00, 0x48,
-  0x04, 0x00, 0x49, 0x04, 0x00, 0x4A, 0x04, 0x00, 0x4B, 0x04, 0x00, 0x4C,
-  0x04, 0x00, 0x4D, 0x04, 0x00, 0x4E, 0x04, 0x00, 0x4F, 0x04, 0x00, 0x50,
-  0x04, 0x00, 0x51, 0x04, 0x00, 0x52, 0x04, 0x00, 0x53, 0x04, 0x00, 0x54,
-  0x04, 0x00, 0x55, 0x04, 0x00, 0x56, 0x04, 0x00, 0x57, 0x04, 0x00, 0x58,
-  0x04, 0x00, 0x59, 0x04, 0x00, 0x5A, 0x04, 0x00, 0x61, 0x04, 0x00, 0x62,
-  0x04, 0x00, 0x63, 0x04, 0x00, 0x64, 0x04, 0x00, 0x65, 0x04, 0x00, 0x66,
-  0x04, 0x00, 0x67, 0x04, 0x00, 0x68, 0x04, 0x00, 0x69, 0x04, 0x00, 0x6A,
-  0x04, 0x00, 0x6B, 0x04, 0x00, 0x6C, 0x04, 0x00, 0x6D, 0x04, 0x00, 0x6E,
-  0x04, 0x00, 0x6F, 0x04, 0x00, 0x70, 0x04, 0x00, 0x71, 0x04, 0x00, 0x72,
-  0x04, 0x00, 0x73, 0x04, 0x00, 0x74, 0x04, 0x00, 0x75, 0x04, 0x00, 0x76,
-  0x04, 0x00, 0x77, 0x04, 0x00, 0x78, 0x04, 0x00, 0x79, 0x04, 0x00, 0x7A,
-  0x04, 0x00, 0x41, 0x04, 0x00, 0x42, 0x04, 0x00, 0x43, 0x04, 0x00, 0x44,
-  0x04, 0x00, 0x45, 0x04, 0x00, 0x46, 0x04, 0x00, 0x47, 0x04, 0x00, 0x48,
-  0x04, 0x00, 0x49, 0x04, 0x00, 0x4A, 0x04, 0x00, 0x4B, 0x04, 0x00, 0x4C,
-  0x04, 0x00, 0x4D, 0x04, 0x00, 0x4E, 0x04, 0x00, 0x4F, 0x04, 0x00, 0x50,
-  0x04, 0x00, 0x51, 0x04, 0x00, 0x52, 0x04, 0x00, 0x53, 0x04, 0x00, 0x54,
-  0x04, 0x00, 0x55, 0x04, 0x00, 0x56, 0x04, 0x00, 0x57, 0x04, 0x00, 0x58,
-  0x04, 0x00, 0x59, 0x04, 0x00, 0x5A, 0x04, 0x00, 0x61, 0x04, 0x00, 0x62,
-  0x04, 0x00, 0x63, 0x04, 0x00, 0x64, 0x04, 0x00, 0x65, 0x04, 0x00, 0x66,
-  0x04, 0x00, 0x67, 0x04, 0x00, 0x68, 0x04, 0x00, 0x69, 0x04, 0x00, 0x6A,
-  0x04, 0x00, 0x6B, 0x04, 0x00, 0x6C, 0x04, 0x00, 0x6D, 0x04, 0x00, 0x6E,
-  0x04, 0x00, 0x6F, 0x04, 0x00, 0x70, 0x04, 0x00, 0x71, 0x04, 0x00, 0x72,
-  0x04, 0x00, 0x73, 0x04, 0x00, 0x74, 0x04, 0x00, 0x75, 0x04, 0x00, 0x76,
-  0x04, 0x00, 0x77, 0x04, 0x00, 0x78, 0x04, 0x00, 0x79, 0x04, 0x00, 0x7A,
-  0x04, 0x01, 0x31, 0x04, 0x02, 0x37, 0x04, 0x03, 0x91, 0x04, 0x03, 0x92,
-  0x04, 0x03, 0x93, 0x04, 0x03, 0x94, 0x04, 0x03, 0x95, 0x04, 0x03, 0x96,
-  0x04, 0x03, 0x97, 0x04, 0x03, 0x98, 0x04, 0x03, 0x99, 0x04, 0x03, 0x9A,
-  0x04, 0x03, 0x9B, 0x04, 0x03, 0x9C, 0x04, 0x03, 0x9D, 0x04, 0x03, 0x9E,
-  0x04, 0x03, 0x9F, 0x04, 0x03, 0xA0, 0x04, 0x03, 0xA1, 0x04, 0x03, 0xF4,
-  0x04, 0x03, 0xA3, 0x04, 0x03, 0xA4, 0x04, 0x03, 0xA5, 0x04, 0x03, 0xA6,
-  0x04, 0x03, 0xA7, 0x04, 0x03, 0xA8, 0x04, 0x03, 0xA9, 0x04, 0x22, 0x07,
-  0x04, 0x03, 0xB1, 0x04, 0x03, 0xB2, 0x04, 0x03, 0xB3, 0x04, 0x03, 0xB4,
-  0x04, 0x03, 0xB5, 0x04, 0x03, 0xB6, 0x04, 0x03, 0xB7, 0x04, 0x03, 0xB8,
-  0x04, 0x03, 0xB9, 0x04, 0x03, 0xBA, 0x04, 0x03, 0xBB, 0x04, 0x03, 0xBC,
-  0x04, 0x03, 0xBD, 0x04, 0x03, 0xBE, 0x04, 0x03, 0xBF, 0x04, 0x03, 0xC0,
-  0x04, 0x03, 0xC1, 0x04, 0x03, 0xC2, 0x04, 0x03, 0xC3, 0x04, 0x03, 0xC4,
-  0x04, 0x03, 0xC5, 0x04, 0x03, 0xC6, 0x04, 0x03, 0xC7, 0x04, 0x03, 0xC8,
-  0x04, 0x03, 0xC9, 0x04, 0x22, 0x02, 0x04, 0x03, 0xF5, 0x04, 0x03, 0xD1,
-  0x04, 0x03, 0xF0, 0x04, 0x03, 0xD5, 0x04, 0x03, 0xF1, 0x04, 0x03, 0xD6,
+  0x04, 0x00, 0x6E, 0x04, 0x00, 0x6F, 0x04, 0x00, 0x70, 0x04, 0x00, 0x71,
+  0x04, 0x00, 0x72, 0x04, 0x00, 0x73, 0x04, 0x00, 0x74, 0x04, 0x00, 0x75,
+  0x04, 0x00, 0x76, 0x04, 0x00, 0x77, 0x04, 0x00, 0x78, 0x04, 0x00, 0x79,
+  0x04, 0x00, 0x7A, 0x04, 0x00, 0x41, 0x04, 0x00, 0x42, 0x04, 0x00, 0x44,
+  0x04, 0x00, 0x45, 0x04, 0x00, 0x46, 0x04, 0x00, 0x47, 0x04, 0x00, 0x49,
+  0x04, 0x00, 0x4A, 0x04, 0x00, 0x4B, 0x04, 0x00, 0x4C, 0x04, 0x00, 0x4D,
+  0x04, 0x00, 0x4F, 0x04, 0x00, 0x53, 0x04, 0x00, 0x54, 0x04, 0x00, 0x55,
+  0x04, 0x00, 0x56, 0x04, 0x00, 0x57, 0x04, 0x00, 0x58, 0x04, 0x00, 0x59,
+  0x04, 0x00, 0x61, 0x04, 0x00, 0x62, 0x04, 0x00, 0x63, 0x04, 0x00, 0x64,
+  0x04, 0x00, 0x65, 0x04, 0x00, 0x66, 0x04, 0x00, 0x67, 0x04, 0x00, 0x68,
+  0x04, 0x00, 0x69, 0x04, 0x00, 0x6A, 0x04, 0x00, 0x6B, 0x04, 0x00, 0x6C,
+  0x04, 0x00, 0x6D, 0x04, 0x00, 0x6E, 0x04, 0x00, 0x6F, 0x04, 0x00, 0x70,
+  0x04, 0x00, 0x71, 0x04, 0x00, 0x72, 0x04, 0x00, 0x73, 0x04, 0x00, 0x74,
+  0x04, 0x00, 0x75, 0x04, 0x00, 0x76, 0x04, 0x00, 0x77, 0x04, 0x00, 0x78,
+  0x04, 0x00, 0x79, 0x04, 0x00, 0x7A, 0x04, 0x00, 0x41, 0x04, 0x00, 0x42,
+  0x04, 0x00, 0x43, 0x04, 0x00, 0x44, 0x04, 0x00, 0x45, 0x04, 0x00, 0x46,
+  0x04, 0x00, 0x47, 0x04, 0x00, 0x48, 0x04, 0x00, 0x49, 0x04, 0x00, 0x4A,
+  0x04, 0x00, 0x4B, 0x04, 0x00, 0x4C, 0x04, 0x00, 0x4D, 0x04, 0x00, 0x4E,
+  0x04, 0x00, 0x4F, 0x04, 0x00, 0x50, 0x04, 0x00, 0x51, 0x04, 0x00, 0x52,
+  0x04, 0x00, 0x53, 0x04, 0x00, 0x54, 0x04, 0x00, 0x55, 0x04, 0x00, 0x56,
+  0x04, 0x00, 0x57, 0x04, 0x00, 0x58, 0x04, 0x00, 0x59, 0x04, 0x00, 0x5A,
+  0x04, 0x00, 0x61, 0x04, 0x00, 0x62, 0x04, 0x00, 0x63, 0x04, 0x00, 0x64,
+  0x04, 0x00, 0x65, 0x04, 0x00, 0x66, 0x04, 0x00, 0x67, 0x04, 0x00, 0x68,
+  0x04, 0x00, 0x69, 0x04, 0x00, 0x6A, 0x04, 0x00, 0x6B, 0x04, 0x00, 0x6C,
+  0x04, 0x00, 0x6D, 0x04, 0x00, 0x6E, 0x04, 0x00, 0x6F, 0x04, 0x00, 0x70,
+  0x04, 0x00, 0x71, 0x04, 0x00, 0x72, 0x04, 0x00, 0x73, 0x04, 0x00, 0x74,
+  0x04, 0x00, 0x75, 0x04, 0x00, 0x76, 0x04, 0x00, 0x77, 0x04, 0x00, 0x78,
+  0x04, 0x00, 0x79, 0x04, 0x00, 0x7A, 0x04, 0x00, 0x41, 0x04, 0x00, 0x42,
+  0x04, 0x00, 0x43, 0x04, 0x00, 0x44, 0x04, 0x00, 0x45, 0x04, 0x00, 0x46,
+  0x04, 0x00, 0x47, 0x04, 0x00, 0x48, 0x04, 0x00, 0x49, 0x04, 0x00, 0x4A,
+  0x04, 0x00, 0x4B, 0x04, 0x00, 0x4C, 0x04, 0x00, 0x4D, 0x04, 0x00, 0x4E,
+  0x04, 0x00, 0x4F, 0x04, 0x00, 0x50, 0x04, 0x00, 0x51, 0x04, 0x00, 0x52,
+  0x04, 0x00, 0x53, 0x04, 0x00, 0x54, 0x04, 0x00, 0x55, 0x04, 0x00, 0x56,
+  0x04, 0x00, 0x57, 0x04, 0x00, 0x58, 0x04, 0x00, 0x59, 0x04, 0x00, 0x5A,
+  0x04, 0x00, 0x61, 0x04, 0x00, 0x62, 0x04, 0x00, 0x63, 0x04, 0x00, 0x64,
+  0x04, 0x00, 0x65, 0x04, 0x00, 0x66, 0x04, 0x00, 0x67, 0x04, 0x00, 0x68,
+  0x04, 0x00, 0x69, 0x04, 0x00, 0x6A, 0x04, 0x00, 0x6B, 0x04, 0x00, 0x6C,
+  0x04, 0x00, 0x6D, 0x04, 0x00, 0x6E, 0x04, 0x00, 0x6F, 0x04, 0x00, 0x70,
+  0x04, 0x00, 0x71, 0x04, 0x00, 0x72, 0x04, 0x00, 0x73, 0x04, 0x00, 0x74,
+  0x04, 0x00, 0x75, 0x04, 0x00, 0x76, 0x04, 0x00, 0x77, 0x04, 0x00, 0x78,
+  0x04, 0x00, 0x79, 0x04, 0x00, 0x7A, 0x04, 0x00, 0x41, 0x04, 0x00, 0x42,
+  0x04, 0x00, 0x43, 0x04, 0x00, 0x44, 0x04, 0x00, 0x45, 0x04, 0x00, 0x46,
+  0x04, 0x00, 0x47, 0x04, 0x00, 0x48, 0x04, 0x00, 0x49, 0x04, 0x00, 0x4A,
+  0x04, 0x00, 0x4B, 0x04, 0x00, 0x4C, 0x04, 0x00, 0x4D, 0x04, 0x00, 0x4E,
+  0x04, 0x00, 0x4F, 0x04, 0x00, 0x50, 0x04, 0x00, 0x51, 0x04, 0x00, 0x52,
+  0x04, 0x00, 0x53, 0x04, 0x00, 0x54, 0x04, 0x00, 0x55, 0x04, 0x00, 0x56,
+  0x04, 0x00, 0x57, 0x04, 0x00, 0x58, 0x04, 0x00, 0x59, 0x04, 0x00, 0x5A,
+  0x04, 0x00, 0x61, 0x04, 0x00, 0x62, 0x04, 0x00, 0x63, 0x04, 0x00, 0x64,
+  0x04, 0x00, 0x65, 0x04, 0x00, 0x66, 0x04, 0x00, 0x67, 0x04, 0x00, 0x68,
+  0x04, 0x00, 0x69, 0x04, 0x00, 0x6A, 0x04, 0x00, 0x6B, 0x04, 0x00, 0x6C,
+  0x04, 0x00, 0x6D, 0x04, 0x00, 0x6E, 0x04, 0x00, 0x6F, 0x04, 0x00, 0x70,
+  0x04, 0x00, 0x71, 0x04, 0x00, 0x72, 0x04, 0x00, 0x73, 0x04, 0x00, 0x74,
+  0x04, 0x00, 0x75, 0x04, 0x00, 0x76, 0x04, 0x00, 0x77, 0x04, 0x00, 0x78,
+  0x04, 0x00, 0x79, 0x04, 0x00, 0x7A, 0x04, 0x00, 0x41, 0x04, 0x00, 0x42,
+  0x04, 0x00, 0x43, 0x04, 0x00, 0x44, 0x04, 0x00, 0x45, 0x04, 0x00, 0x46,
+  0x04, 0x00, 0x47, 0x04, 0x00, 0x48, 0x04, 0x00, 0x49, 0x04, 0x00, 0x4A,
+  0x04, 0x00, 0x4B, 0x04, 0x00, 0x4C, 0x04, 0x00, 0x4D, 0x04, 0x00, 0x4E,
+  0x04, 0x00, 0x4F, 0x04, 0x00, 0x50, 0x04, 0x00, 0x51, 0x04, 0x00, 0x52,
+  0x04, 0x00, 0x53, 0x04, 0x00, 0x54, 0x04, 0x00, 0x55, 0x04, 0x00, 0x56,
+  0x04, 0x00, 0x57, 0x04, 0x00, 0x58, 0x04, 0x00, 0x59, 0x04, 0x00, 0x5A,
+  0x04, 0x00, 0x61, 0x04, 0x00, 0x62, 0x04, 0x00, 0x63, 0x04, 0x00, 0x64,
+  0x04, 0x00, 0x65, 0x04, 0x00, 0x66, 0x04, 0x00, 0x67, 0x04, 0x00, 0x68,
+  0x04, 0x00, 0x69, 0x04, 0x00, 0x6A, 0x04, 0x00, 0x6B, 0x04, 0x00, 0x6C,
+  0x04, 0x00, 0x6D, 0x04, 0x00, 0x6E, 0x04, 0x00, 0x6F, 0x04, 0x00, 0x70,
+  0x04, 0x00, 0x71, 0x04, 0x00, 0x72, 0x04, 0x00, 0x73, 0x04, 0x00, 0x74,
+  0x04, 0x00, 0x75, 0x04, 0x00, 0x76, 0x04, 0x00, 0x77, 0x04, 0x00, 0x78,
+  0x04, 0x00, 0x79, 0x04, 0x00, 0x7A, 0x04, 0x00, 0x41, 0x04, 0x00, 0x42,
+  0x04, 0x00, 0x43, 0x04, 0x00, 0x44, 0x04, 0x00, 0x45, 0x04, 0x00, 0x46,
+  0x04, 0x00, 0x47, 0x04, 0x00, 0x48, 0x04, 0x00, 0x49, 0x04, 0x00, 0x4A,
+  0x04, 0x00, 0x4B, 0x04, 0x00, 0x4C, 0x04, 0x00, 0x4D, 0x04, 0x00, 0x4E,
+  0x04, 0x00, 0x4F, 0x04, 0x00, 0x50, 0x04, 0x00, 0x51, 0x04, 0x00, 0x52,
+  0x04, 0x00, 0x53, 0x04, 0x00, 0x54, 0x04, 0x00, 0x55, 0x04, 0x00, 0x56,
+  0x04, 0x00, 0x57, 0x04, 0x00, 0x58, 0x04, 0x00, 0x59, 0x04, 0x00, 0x5A,
+  0x04, 0x00, 0x61, 0x04, 0x00, 0x62, 0x04, 0x00, 0x63, 0x04, 0x00, 0x64,
+  0x04, 0x00, 0x65, 0x04, 0x00, 0x66, 0x04, 0x00, 0x67, 0x04, 0x00, 0x68,
+  0x04, 0x00, 0x69, 0x04, 0x00, 0x6A, 0x04, 0x00, 0x6B, 0x04, 0x00, 0x6C,
+  0x04, 0x00, 0x6D, 0x04, 0x00, 0x6E, 0x04, 0x00, 0x6F, 0x04, 0x00, 0x70,
+  0x04, 0x00, 0x71, 0x04, 0x00, 0x72, 0x04, 0x00, 0x73, 0x04, 0x00, 0x74,
+  0x04, 0x00, 0x75, 0x04, 0x00, 0x76, 0x04, 0x00, 0x77, 0x04, 0x00, 0x78,
+  0x04, 0x00, 0x79, 0x04, 0x00, 0x7A, 0x04, 0x00, 0x41, 0x04, 0x00, 0x42,
+  0x04, 0x00, 0x43, 0x04, 0x00, 0x44, 0x04, 0x00, 0x45, 0x04, 0x00, 0x46,
+  0x04, 0x00, 0x47, 0x04, 0x00, 0x48, 0x04, 0x00, 0x49, 0x04, 0x00, 0x4A,
+  0x04, 0x00, 0x4B, 0x04, 0x00, 0x4C, 0x04, 0x00, 0x4D, 0x04, 0x00, 0x4E,
+  0x04, 0x00, 0x4F, 0x04, 0x00, 0x50, 0x04, 0x00, 0x51, 0x04, 0x00, 0x52,
+  0x04, 0x00, 0x53, 0x04, 0x00, 0x54, 0x04, 0x00, 0x55, 0x04, 0x00, 0x56,
+  0x04, 0x00, 0x57, 0x04, 0x00, 0x58, 0x04, 0x00, 0x59, 0x04, 0x00, 0x5A,
+  0x04, 0x00, 0x61, 0x04, 0x00, 0x62, 0x04, 0x00, 0x63, 0x04, 0x00, 0x64,
+  0x04, 0x00, 0x65, 0x04, 0x00, 0x66, 0x04, 0x00, 0x67, 0x04, 0x00, 0x68,
+  0x04, 0x00, 0x69, 0x04, 0x00, 0x6A, 0x04, 0x00, 0x6B, 0x04, 0x00, 0x6C,
+  0x04, 0x00, 0x6D, 0x04, 0x00, 0x6E, 0x04, 0x00, 0x6F, 0x04, 0x00, 0x70,
+  0x04, 0x00, 0x71, 0x04, 0x00, 0x72, 0x04, 0x00, 0x73, 0x04, 0x00, 0x74,
+  0x04, 0x00, 0x75, 0x04, 0x00, 0x76, 0x04, 0x00, 0x77, 0x04, 0x00, 0x78,
+  0x04, 0x00, 0x79, 0x04, 0x00, 0x7A, 0x04, 0x01, 0x31, 0x04, 0x02, 0x37,
   0x04, 0x03, 0x91, 0x04, 0x03, 0x92, 0x04, 0x03, 0x93, 0x04, 0x03, 0x94,
   0x04, 0x03, 0x95, 0x04, 0x03, 0x96, 0x04, 0x03, 0x97, 0x04, 0x03, 0x98,
   0x04, 0x03, 0x99, 0x04, 0x03, 0x9A, 0x04, 0x03, 0x9B, 0x04, 0x03, 0x9C,
@@ -1878,9 +1870,21 @@
   0x04, 0x03, 0xC5, 0x04, 0x03, 0xC6, 0x04, 0x03, 0xC7, 0x04, 0x03, 0xC8,
   0x04, 0x03, 0xC9, 0x04, 0x22, 0x02, 0x04, 0x03, 0xF5, 0x04, 0x03, 0xD1,
   0x04, 0x03, 0xF0, 0x04, 0x03, 0xD5, 0x04, 0x03, 0xF1, 0x04, 0x03, 0xD6,
-  0x04, 0x03, 0xDC, 0x04, 0x03, 0xDD, 0x04, 0x00, 0x30, 0x04, 0x00, 0x31,
-  0x04, 0x00, 0x32, 0x04, 0x00, 0x33, 0x04, 0x00, 0x34, 0x04, 0x00, 0x35,
-  0x04, 0x00, 0x36, 0x04, 0x00, 0x37, 0x04, 0x00, 0x38, 0x04, 0x00, 0x39,
+  0x04, 0x03, 0x91, 0x04, 0x03, 0x92, 0x04, 0x03, 0x93, 0x04, 0x03, 0x94,
+  0x04, 0x03, 0x95, 0x04, 0x03, 0x96, 0x04, 0x03, 0x97, 0x04, 0x03, 0x98,
+  0x04, 0x03, 0x99, 0x04, 0x03, 0x9A, 0x04, 0x03, 0x9B, 0x04, 0x03, 0x9C,
+  0x04, 0x03, 0x9D, 0x04, 0x03, 0x9E, 0x04, 0x03, 0x9F, 0x04, 0x03, 0xA0,
+  0x04, 0x03, 0xA1, 0x04, 0x03, 0xF4, 0x04, 0x03, 0xA3, 0x04, 0x03, 0xA4,
+  0x04, 0x03, 0xA5, 0x04, 0x03, 0xA6, 0x04, 0x03, 0xA7, 0x04, 0x03, 0xA8,
+  0x04, 0x03, 0xA9, 0x04, 0x22, 0x07, 0x04, 0x03, 0xB1, 0x04, 0x03, 0xB2,
+  0x04, 0x03, 0xB3, 0x04, 0x03, 0xB4, 0x04, 0x03, 0xB5, 0x04, 0x03, 0xB6,
+  0x04, 0x03, 0xB7, 0x04, 0x03, 0xB8, 0x04, 0x03, 0xB9, 0x04, 0x03, 0xBA,
+  0x04, 0x03, 0xBB, 0x04, 0x03, 0xBC, 0x04, 0x03, 0xBD, 0x04, 0x03, 0xBE,
+  0x04, 0x03, 0xBF, 0x04, 0x03, 0xC0, 0x04, 0x03, 0xC1, 0x04, 0x03, 0xC2,
+  0x04, 0x03, 0xC3, 0x04, 0x03, 0xC4, 0x04, 0x03, 0xC5, 0x04, 0x03, 0xC6,
+  0x04, 0x03, 0xC7, 0x04, 0x03, 0xC8, 0x04, 0x03, 0xC9, 0x04, 0x22, 0x02,
+  0x04, 0x03, 0xF5, 0x04, 0x03, 0xD1, 0x04, 0x03, 0xF0, 0x04, 0x03, 0xD5,
+  0x04, 0x03, 0xF1, 0x04, 0x03, 0xD6, 0x04, 0x03, 0xDC, 0x04, 0x03, 0xDD,
   0x04, 0x00, 0x30, 0x04, 0x00, 0x31, 0x04, 0x00, 0x32, 0x04, 0x00, 0x33,
   0x04, 0x00, 0x34, 0x04, 0x00, 0x35, 0x04, 0x00, 0x36, 0x04, 0x00, 0x37,
   0x04, 0x00, 0x38, 0x04, 0x00, 0x39, 0x04, 0x00, 0x30, 0x04, 0x00, 0x31,
@@ -1891,6 +1895,56 @@
   0x04, 0x00, 0x38, 0x04, 0x00, 0x39, 0x04, 0x00, 0x30, 0x04, 0x00, 0x31,
   0x04, 0x00, 0x32, 0x04, 0x00, 0x33, 0x04, 0x00, 0x34, 0x04, 0x00, 0x35,
   0x04, 0x00, 0x36, 0x04, 0x00, 0x37, 0x04, 0x00, 0x38, 0x04, 0x00, 0x39,
+  0x04, 0x00, 0x30, 0x04, 0x00, 0x31, 0x04, 0x00, 0x32, 0x04, 0x00, 0x33,
+  0x04, 0x00, 0x34, 0x04, 0x00, 0x35, 0x04, 0x00, 0x36, 0x04, 0x00, 0x37,
+  0x04, 0x00, 0x38, 0x04, 0x00, 0x39, 0xC0, 0x00, 0x30, 0x00, 0x00, 0x2E,
+  0xC0, 0x00, 0x30, 0x00, 0x00, 0x2C, 0xC0, 0x00, 0x31, 0x00, 0x00, 0x2C,
+  0xC0, 0x00, 0x32, 0x00, 0x00, 0x2C, 0xC0, 0x00, 0x33, 0x00, 0x00, 0x2C,
+  0xC0, 0x00, 0x34, 0x00, 0x00, 0x2C, 0xC0, 0x00, 0x35, 0x00, 0x00, 0x2C,
+  0xC0, 0x00, 0x36, 0x00, 0x00, 0x2C, 0xC0, 0x00, 0x37, 0x00, 0x00, 0x2C,
+  0xC0, 0x00, 0x38, 0x00, 0x00, 0x2C, 0xC0, 0x00, 0x39, 0x00, 0x00, 0x2C,
+  0xC0, 0x00, 0x28, 0x80, 0x00, 0x41, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28,
+  0x80, 0x00, 0x42, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x00, 0x43,
+  0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x00, 0x44, 0x00, 0x00, 0x29,
+  0xC0, 0x00, 0x28, 0x80, 0x00, 0x45, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28,
+  0x80, 0x00, 0x46, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x00, 0x47,
+  0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x00, 0x48, 0x00, 0x00, 0x29,
+  0xC0, 0x00, 0x28, 0x80, 0x00, 0x49, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28,
+  0x80, 0x00, 0x4A, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x00, 0x4B,
+  0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x00, 0x4C, 0x00, 0x00, 0x29,
+  0xC0, 0x00, 0x28, 0x80, 0x00, 0x4D, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28,
+  0x80, 0x00, 0x4E, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x00, 0x4F,
+  0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x00, 0x50, 0x00, 0x00, 0x29,
+  0xC0, 0x00, 0x28, 0x80, 0x00, 0x51, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28,
+  0x80, 0x00, 0x52, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x00, 0x53,
+  0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x00, 0x54, 0x00, 0x00, 0x29,
+  0xC0, 0x00, 0x28, 0x80, 0x00, 0x55, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28,
+  0x80, 0x00, 0x56, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x00, 0x57,
+  0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x00, 0x58, 0x00, 0x00, 0x29,
+  0xC0, 0x00, 0x28, 0x80, 0x00, 0x59, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28,
+  0x80, 0x00, 0x5A, 0x00, 0x00, 0x29, 0xC0, 0x30, 0x14, 0x80, 0x00, 0x53,
+  0x00, 0x30, 0x15, 0x1C, 0x00, 0x43, 0x1C, 0x00, 0x52, 0x9C, 0x00, 0x43,
+  0x00, 0x00, 0x44, 0x9C, 0x00, 0x57, 0x00, 0x00, 0x5A, 0x38, 0x00, 0x42,
+  0x38, 0x00, 0x4E, 0x38, 0x00, 0x50, 0x38, 0x00, 0x53, 0x38, 0x00, 0x57,
+  0xB8, 0x00, 0x48, 0x00, 0x00, 0x56, 0xB8, 0x00, 0x4D, 0x00, 0x00, 0x56,
+  0xB8, 0x00, 0x53, 0x00, 0x00, 0x44, 0xB8, 0x00, 0x53, 0x00, 0x00, 0x53,
+  0xB8, 0x00, 0x50, 0x80, 0x00, 0x50, 0x00, 0x00, 0x56, 0xB8, 0x00, 0x44,
+  0x00, 0x00, 0x4A, 0xB8, 0x30, 0x7B, 0x00, 0x30, 0x4B, 0x38, 0x62, 0x4B,
+  0x38, 0x5B, 0x57, 0x38, 0x53, 0xCC, 0x38, 0x30, 0xC7, 0x38, 0x4E, 0x8C,
+  0x38, 0x59, 0x1A, 0x38, 0x89, 0xE3, 0x38, 0x59, 0x29, 0x38, 0x4E, 0xA4,
+  0x38, 0x66, 0x20, 0x38, 0x71, 0x21, 0x38, 0x65, 0x99, 0x38, 0x52, 0x4D,
+  0x38, 0x5F, 0x8C, 0x38, 0x51, 0x8D, 0x38, 0x65, 0xB0, 0x38, 0x52, 0x1D,
+  0x38, 0x7D, 0x42, 0x38, 0x75, 0x1F, 0x38, 0x8C, 0xA9, 0x38, 0x58, 0xF0,
+  0x38, 0x54, 0x39, 0x38, 0x6F, 0x14, 0x38, 0x62, 0x95, 0x38, 0x63, 0x55,
+  0x38, 0x4E, 0x00, 0x38, 0x4E, 0x09, 0x38, 0x90, 0x4A, 0x38, 0x5D, 0xE6,
+  0x38, 0x4E, 0x2D, 0x38, 0x53, 0xF3, 0x38, 0x63, 0x07, 0x38, 0x8D, 0x70,
+  0x38, 0x62, 0x53, 0xC0, 0x30, 0x14, 0x80, 0x67, 0x2C, 0x00, 0x30, 0x15,
+  0xC0, 0x30, 0x14, 0x80, 0x4E, 0x09, 0x00, 0x30, 0x15, 0xC0, 0x30, 0x14,
+  0x80, 0x4E, 0x8C, 0x00, 0x30, 0x15, 0xC0, 0x30, 0x14, 0x80, 0x5B, 0x89,
+  0x00, 0x30, 0x15, 0xC0, 0x30, 0x14, 0x80, 0x70, 0xB9, 0x00, 0x30, 0x15,
+  0xC0, 0x30, 0x14, 0x80, 0x62, 0x53, 0x00, 0x30, 0x15, 0xC0, 0x30, 0x14,
+  0x80, 0x76, 0xD7, 0x00, 0x30, 0x15, 0xC0, 0x30, 0x14, 0x80, 0x52, 0xDD,
+  0x00, 0x30, 0x15, 0xC0, 0x30, 0x14, 0x80, 0x65, 0x57, 0x00, 0x30, 0x15,
   0x00, 0x4E, 0x3D, 0x00, 0x4E, 0x38, 0x00, 0x4E, 0x41, 0x02, 0x01, 0x22,
   0x00, 0x4F, 0x60, 0x00, 0x4F, 0xAE, 0x00, 0x4F, 0xBB, 0x00, 0x50, 0x02,
   0x00, 0x50, 0x7A, 0x00, 0x50, 0x99, 0x00, 0x50, 0xE7, 0x00, 0x50, 0xCF,
@@ -2040,13 +2094,14 @@
        -1,   384,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,   416,   448,
+       -1,    -1,    -1,    -1,   480,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,    -1,    -1,   480,   512,    -1,    -1,
+       -1,    -1,    -1,    -1,   512,   544,    -1,    -1,
+       -1,    -1,    -1,    -1,   576,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
@@ -2054,8 +2109,7 @@
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,    -1,    -1,    -1,    -1,   544
+       -1,    -1,    -1,    -1,    -1,    -1,   608
   },
   {
        -1,    -1,    -1,    -1,    -1,     0,    32,    64,
@@ -2118,17 +2172,25 @@
      5664,  5696,  5728,  5760,  5792,  5824,  5856,  5888,
      5920,  5952,  5984,  6016,  6048,  6080,  6112,  6144,
      6176,  6208,  6240,  6272,  6304,  6336,  6368,  6400,
+       -1,    -1,    -1,    -1,  6432,  6464,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,  6432,  6464,    -1,  6496,  6528,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,  6496,  6528,    -1,  6560,  6592,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-     6560,  6592,  6624,  6656,  6688,  6720,  6752,  6784,
-     6816,  6848,  6880,  6912,  6944,  6976,  7008,  7040,
-     7072,  7104,  7136,  7168,  7200,  7232,  7264,  7296,
-     7328,  7360,  7392,  7424,  7456,  7488,  7520,  7552,
-     7584,  7616,  7648,  7680,  7712,  7744,  7776,  7808,
-     7840,  7872,  7904,  7936,  7968,  8000,  8032,  8064,
-     8096,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+     6624,  6656,  6688,  6720,  6752,  6784,  6816,  6848,
+     6880,  6912,  6944,  6976,  7008,  7040,  7072,  7104,
+     7136,  7168,  7200,  7232,  7264,  7296,  7328,  7360,
+     7392,  7424,  7456,  7488,  7520,  7552,  7584,  7616,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+     7648,  7680,  7712,    -1,  7744,    -1,    -1,    -1,
+     7776,  7808,  7840,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+     7872,  7904,  7936,  7968,  8000,  8032,  8064,  8096,
+     8128,  8160,  8192,  8224,  8256,  8288,  8320,  8352,
+     8384,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1
   },
   {
@@ -2474,639 +2536,648 @@
     34892, 34893,    -1, 34894, 34897, 34898, 34899, 34900,
     34901,    -1,    -1,    -1,    -1, 34902, 34903, 34904,
     34905, 34906,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,    -1, 34907, 34910, 34913, 34916, 34919,
-    34922, 34925, 34928, 34931, 34934, 34937, 34940, 34943,
-    34945, 34946, 34948, 34951, 34953, 34954, 34956, 34959,
-    34963, 34965, 34966, 34968, 34971, 34972, 34973, 34974,
-    34975, 34976, 34978, 34981, 34983, 34984, 34986, 34989,
-    34993, 34995, 34996, 34998, 35001, 35002, 35003, 35004,
+    34907, 34910, 34913, 34917, 34920, 34923, 34926, 34929,
+    34932, 34935, 34938, 34941, 34944, 34947, 34950, 34953,
+    34955, 34956, 34958, 34961, 34963, 34964, 34966, 34969,
+    34973, 34975, 34976, 34978, 34981, 34982, 34983, 34984,
+    34985, 34986, 34988, 34991, 34993, 34994, 34996, 34999,
+    35003, 35005, 35006, 35008, 35011, 35012, 35013, 35014,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1, 35015,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,  2237,  2239,    -1,    -1,    -1,    -1,
+       -1,    -1,  2250,  2252,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,    -1,    -1,    -1,    -1,  2241,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,  2254,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,    -1,    -1,    -1,  2243,  2245,  2247,
+       -1,    -1,    -1,    -1,    -1,  2256,  2258,  2260,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,    -1,    -1,  2249,    -1,    -1,    -1,
-       -1,  2251,    -1,    -1,  2253,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,  2262,    -1,    -1,    -1,
+       -1,  2264,    -1,    -1,  2266,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,    -1,    -1,  2255,    -1,  2257,    -1,
-       -1,    -1,    -1,    -1, 35027, 35029,    -1, 35032,
-    35034,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,  2268,    -1,  2270,    -1,
+       -1,    -1,    -1,    -1, 35040, 35042,    -1, 35045,
+    35047,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,  2269,    -1,    -1,  2271,    -1,    -1,  2273,
-       -1,  2275,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,  2282,    -1,    -1,  2284,    -1,    -1,  2286,
+       -1,  2288,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-     2277,    -1,  2279,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,    -1,    -1,    -1,  2281,  2283,  2285,
-     2287,  2289,    -1,    -1,  2291,  2293,    -1,    -1,
-     2295,  2297,    -1,    -1,    -1,    -1,    -1,    -1,
-     2299,  2301,    -1,    -1,  2303,  2305,    -1,    -1,
-     2307,  2309,    -1,    -1,    -1,    -1,    -1,    -1,
+     2290,    -1,  2292,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,  2294,  2296,  2298,
+     2300,  2302,    -1,    -1,  2304,  2306,    -1,    -1,
+     2308,  2310,    -1,    -1,    -1,    -1,    -1,    -1,
+     2312,  2314,    -1,    -1,  2316,  2318,    -1,    -1,
+     2320,  2322,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,    -1,    -1,  2311,  2313,  2315,  2317,
+       -1,    -1,    -1,    -1,  2324,  2326,  2328,  2330,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-     2319,  2321,  2323,  2325,    -1,    -1,    -1,    -1,
-       -1,    -1,  2327,  2329,  2331,  2333,    -1,    -1,
+     2332,  2334,  2336,  2338,    -1,    -1,    -1,    -1,
+       -1,    -1,  2340,  2342,  2344,  2346,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,  2335,  2336,    -1,    -1,    -1,    -1,    -1,
+       -1,  2348,  2349,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    35105, 35106, 35107, 35108, 35109, 35110, 35111, 35112,
-    35113, 35114, 35116, 35118, 35120, 35122, 35124, 35126,
-    35128, 35130, 35132, 35134, 35136, 35139, 35142, 35145,
-    35148, 35151, 35154, 35157, 35160, 35163, 35167, 35171,
-    35175, 35179, 35183, 35187, 35191, 35195, 35199, 35203,
-    35207, 35209, 35211, 35213, 35215, 35217, 35219, 35221,
-    35223, 35225, 35228, 35231, 35234, 35237, 35240, 35243,
-    35246, 35249, 35252, 35255, 35258, 35261, 35264, 35267,
-    35270, 35273, 35276, 35279, 35282, 35285, 35288, 35291,
-    35294, 35297, 35300, 35303, 35306, 35309, 35312, 35315,
-    35318, 35321, 35324, 35327, 35330, 35333, 35336, 35337,
-    35338, 35339, 35340, 35341, 35342, 35343, 35344, 35345,
-    35346, 35347, 35348, 35349, 35350, 35351, 35352, 35353,
-    35354, 35355, 35356, 35357, 35358, 35359, 35360, 35361,
-    35362, 35363, 35364, 35365, 35366, 35367, 35368, 35369,
-    35370, 35371, 35372, 35373, 35374, 35375, 35376, 35377,
-    35378, 35379, 35380, 35381, 35382, 35383, 35384, 35385,
-    35386, 35387, 35388,    -1,    -1,    -1,    -1,    -1,
+    35118, 35119, 35120, 35121, 35122, 35123, 35124, 35125,
+    35126, 35127, 35129, 35131, 35133, 35135, 35137, 35139,
+    35141, 35143, 35145, 35147, 35149, 35152, 35155, 35158,
+    35161, 35164, 35167, 35170, 35173, 35176, 35180, 35184,
+    35188, 35192, 35196, 35200, 35204, 35208, 35212, 35216,
+    35220, 35222, 35224, 35226, 35228, 35230, 35232, 35234,
+    35236, 35238, 35241, 35244, 35247, 35250, 35253, 35256,
+    35259, 35262, 35265, 35268, 35271, 35274, 35277, 35280,
+    35283, 35286, 35289, 35292, 35295, 35298, 35301, 35304,
+    35307, 35310, 35313, 35316, 35319, 35322, 35325, 35328,
+    35331, 35334, 35337, 35340, 35343, 35346, 35349, 35350,
+    35351, 35352, 35353, 35354, 35355, 35356, 35357, 35358,
+    35359, 35360, 35361, 35362, 35363, 35364, 35365, 35366,
+    35367, 35368, 35369, 35370, 35371, 35372, 35373, 35374,
+    35375, 35376, 35377, 35378, 35379, 35380, 35381, 35382,
+    35383, 35384, 35385, 35386, 35387, 35388, 35389, 35390,
+    35391, 35392, 35393, 35394, 35395, 35396, 35397, 35398,
+    35399, 35400, 35401,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,    -1,    -1, 35389,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1, 35402,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,    -1,    -1, 35393, 35396, 35398,    -1,
+       -1,    -1,    -1,    -1, 35406, 35409, 35411,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,    -1,    -1,  2633,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,  2646,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,    -1,    -1, 35403, 35404,    -1,    -1,
+       -1,    -1,    -1,    -1, 35416, 35417,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,    -1,    -1,    -1,    -1,    -1, 35405,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1, 35418,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,    -1,    -1,    -1,    -1,    -1, 35406,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1, 35419,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,    -1, 35407,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1, 35420,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    35408, 35409, 35410, 35411, 35412, 35413, 35414, 35415,
-    35416, 35417, 35418, 35419, 35420, 35421, 35422, 35423,
-    35424, 35425, 35426, 35427, 35428, 35429, 35430, 35431,
-    35432, 35433, 35434, 35435, 35436, 35437, 35438, 35439,
-    35440, 35441, 35442, 35443, 35444, 35445, 35446, 35447,
-    35448, 35449, 35450, 35451, 35452, 35453, 35454, 35455,
-    35456, 35457, 35458, 35459, 35460, 35461, 35462, 35463,
-    35464, 35465, 35466, 35467, 35468, 35469, 35470, 35471,
-    35472, 35473, 35474, 35475, 35476, 35477, 35478, 35479,
-    35480, 35481, 35482, 35483, 35484, 35485, 35486, 35487,
-    35488, 35489, 35490, 35491, 35492, 35493, 35494, 35495,
-    35496, 35497, 35498, 35499, 35500, 35501, 35502, 35503,
-    35504, 35505, 35506, 35507, 35508, 35509, 35510, 35511,
-    35512, 35513, 35514, 35515, 35516, 35517, 35518, 35519,
-    35520, 35521, 35522, 35523, 35524, 35525, 35526, 35527,
-    35528, 35529, 35530, 35531, 35532, 35533, 35534, 35535,
-    35536, 35537, 35538, 35539, 35540, 35541, 35542, 35543,
-    35544, 35545, 35546, 35547, 35548, 35549, 35550, 35551,
-    35552, 35553, 35554, 35555, 35556, 35557, 35558, 35559,
-    35560, 35561, 35562, 35563, 35564, 35565, 35566, 35567,
-    35568, 35569, 35570, 35571, 35572, 35573, 35574, 35575,
-    35576, 35577, 35578, 35579, 35580, 35581, 35582, 35583,
-    35584, 35585, 35586, 35587, 35588, 35589, 35590, 35591,
-    35592, 35593, 35594, 35595, 35596, 35597, 35598, 35599,
-    35600, 35601, 35602, 35603, 35604, 35605, 35606, 35607,
-    35608, 35609, 35610, 35611, 35612, 35613, 35614, 35615,
-    35616, 35617, 35618, 35619, 35620, 35621,    -1,    -1,
+    35421, 35422, 35423, 35424, 35425, 35426, 35427, 35428,
+    35429, 35430, 35431, 35432, 35433, 35434, 35435, 35436,
+    35437, 35438, 35439, 35440, 35441, 35442, 35443, 35444,
+    35445, 35446, 35447, 35448, 35449, 35450, 35451, 35452,
+    35453, 35454, 35455, 35456, 35457, 35458, 35459, 35460,
+    35461, 35462, 35463, 35464, 35465, 35466, 35467, 35468,
+    35469, 35470, 35471, 35472, 35473, 35474, 35475, 35476,
+    35477, 35478, 35479, 35480, 35481, 35482, 35483, 35484,
+    35485, 35486, 35487, 35488, 35489, 35490, 35491, 35492,
+    35493, 35494, 35495, 35496, 35497, 35498, 35499, 35500,
+    35501, 35502, 35503, 35504, 35505, 35506, 35507, 35508,
+    35509, 35510, 35511, 35512, 35513, 35514, 35515, 35516,
+    35517, 35518, 35519, 35520, 35521, 35522, 35523, 35524,
+    35525, 35526, 35527, 35528, 35529, 35530, 35531, 35532,
+    35533, 35534, 35535, 35536, 35537, 35538, 35539, 35540,
+    35541, 35542, 35543, 35544, 35545, 35546, 35547, 35548,
+    35549, 35550, 35551, 35552, 35553, 35554, 35555, 35556,
+    35557, 35558, 35559, 35560, 35561, 35562, 35563, 35564,
+    35565, 35566, 35567, 35568, 35569, 35570, 35571, 35572,
+    35573, 35574, 35575, 35576, 35577, 35578, 35579, 35580,
+    35581, 35582, 35583, 35584, 35585, 35586, 35587, 35588,
+    35589, 35590, 35591, 35592, 35593, 35594, 35595, 35596,
+    35597, 35598, 35599, 35600, 35601, 35602, 35603, 35604,
+    35605, 35606, 35607, 35608, 35609, 35610, 35611, 35612,
+    35613, 35614, 35615, 35616, 35617, 35618, 35619, 35620,
+    35621, 35622, 35623, 35624, 35625, 35626, 35627, 35628,
+    35629, 35630, 35631, 35632, 35633, 35634,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    35622,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+    35635,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,    -1,    -1,    -1,    -1, 35623,    -1,
-    35624, 35625, 35626,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1, 35636,    -1,
+    35637, 35638, 35639,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,    -1,    -1,  2859,    -1,  2861,    -1,
-     2863,    -1,  2865,    -1,  2867,    -1,  2869,    -1,
-     2871,    -1,  2873,    -1,  2875,    -1,  2877,    -1,
-     2879,    -1,  2881,    -1,    -1,  2883,    -1,  2885,
-       -1,  2887,    -1,    -1,    -1,    -1,    -1,    -1,
-     2889,  2891,    -1,  2893,  2895,    -1,  2897,  2899,
-       -1,  2901,  2903,    -1,  2905,  2907,    -1,    -1,
+       -1,    -1,    -1,    -1,  2872,    -1,  2874,    -1,
+     2876,    -1,  2878,    -1,  2880,    -1,  2882,    -1,
+     2884,    -1,  2886,    -1,  2888,    -1,  2890,    -1,
+     2892,    -1,  2894,    -1,    -1,  2896,    -1,  2898,
+       -1,  2900,    -1,    -1,    -1,    -1,    -1,    -1,
+     2902,  2904,    -1,  2906,  2908,    -1,  2910,  2912,
+       -1,  2914,  2916,    -1,  2918,  2920,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,    -1,    -1,  2909,    -1,    -1,    -1,
-       -1,    -1,    -1, 35679, 35681,    -1,  2915, 35685,
+       -1,    -1,    -1,    -1,  2922,    -1,    -1,    -1,
+       -1,    -1,    -1, 35692, 35694,    -1,  2928, 35698,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,    -1,    -1,  2919,    -1,  2921,    -1,
-     2923,    -1,  2925,    -1,  2927,    -1,  2929,    -1,
-     2931,    -1,  2933,    -1,  2935,    -1,  2937,    -1,
-     2939,    -1,  2941,    -1,    -1,  2943,    -1,  2945,
-       -1,  2947,    -1,    -1,    -1,    -1,    -1,    -1,
-     2949,  2951,    -1,  2953,  2955,    -1,  2957,  2959,
-       -1,  2961,  2963,    -1,  2965,  2967,    -1,    -1,
+       -1,    -1,    -1,    -1,  2932,    -1,  2934,    -1,
+     2936,    -1,  2938,    -1,  2940,    -1,  2942,    -1,
+     2944,    -1,  2946,    -1,  2948,    -1,  2950,    -1,
+     2952,    -1,  2954,    -1,    -1,  2956,    -1,  2958,
+       -1,  2960,    -1,    -1,    -1,    -1,    -1,    -1,
+     2962,  2964,    -1,  2966,  2968,    -1,  2970,  2972,
+       -1,  2974,  2976,    -1,  2978,  2980,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,    -1,    -1,  2969,    -1,    -1,  2971,
-     2973,  2975,  2977,    -1,    -1,    -1,  2979, 35749,
+       -1,    -1,    -1,    -1,  2982,    -1,    -1,  2984,
+     2986,  2988,  2990,    -1,    -1,    -1,  2992, 35762,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1, 35751, 35752, 35753, 35754, 35755, 35756, 35757,
-    35758, 35759, 35760, 35761, 35762, 35763, 35764, 35765,
-    35766, 35767, 35768, 35769, 35770, 35771, 35772, 35773,
-    35774, 35775, 35776, 35777, 35778, 35779, 35780, 35781,
-    35782, 35783, 35784, 35785, 35786, 35787, 35788, 35789,
-    35790, 35791, 35792, 35793, 35794, 35795, 35796, 35797,
-    35798, 35799, 35800, 35801, 35802, 35803, 35804, 35805,
-    35806, 35807, 35808, 35809, 35810, 35811, 35812, 35813,
-    35814, 35815, 35816, 35817, 35818, 35819, 35820, 35821,
-    35822, 35823, 35824, 35825, 35826, 35827, 35828, 35829,
-    35830, 35831, 35832, 35833, 35834, 35835, 35836, 35837,
-    35838, 35839, 35840, 35841, 35842, 35843, 35844,    -1,
-       -1,    -1, 35845, 35846, 35847, 35848, 35849, 35850,
-    35851, 35852, 35853, 35854, 35855, 35856, 35857, 35858,
-    35859, 35862, 35865, 35868, 35871, 35874, 35877, 35880,
-    35883, 35886, 35889, 35892, 35895, 35898, 35901, 35905,
-    35909, 35913, 35917, 35921, 35925, 35929, 35933, 35937,
-    35941, 35945, 35949, 35953, 35957, 35961, 35968,    -1,
-    35974, 35977, 35980, 35983, 35986, 35989, 35992, 35995,
-    35998, 36001, 36004, 36007, 36010, 36013, 36016, 36019,
-    36022, 36025, 36028, 36031, 36034, 36037, 36040, 36043,
-    36046, 36049, 36052, 36055, 36058, 36061, 36064, 36067,
-    36070, 36073, 36076, 36079,    -1,    -1,    -1,    -1,
+       -1, 35764, 35765, 35766, 35767, 35768, 35769, 35770,
+    35771, 35772, 35773, 35774, 35775, 35776, 35777, 35778,
+    35779, 35780, 35781, 35782, 35783, 35784, 35785, 35786,
+    35787, 35788, 35789, 35790, 35791, 35792, 35793, 35794,
+    35795, 35796, 35797, 35798, 35799, 35800, 35801, 35802,
+    35803, 35804, 35805, 35806, 35807, 35808, 35809, 35810,
+    35811, 35812, 35813, 35814, 35815, 35816, 35817, 35818,
+    35819, 35820, 35821, 35822, 35823, 35824, 35825, 35826,
+    35827, 35828, 35829, 35830, 35831, 35832, 35833, 35834,
+    35835, 35836, 35837, 35838, 35839, 35840, 35841, 35842,
+    35843, 35844, 35845, 35846, 35847, 35848, 35849, 35850,
+    35851, 35852, 35853, 35854, 35855, 35856, 35857,    -1,
+       -1,    -1, 35858, 35859, 35860, 35861, 35862, 35863,
+    35864, 35865, 35866, 35867, 35868, 35869, 35870, 35871,
+    35872, 35875, 35878, 35881, 35884, 35887, 35890, 35893,
+    35896, 35899, 35902, 35905, 35908, 35911, 35914, 35918,
+    35922, 35926, 35930, 35934, 35938, 35942, 35946, 35950,
+    35954, 35958, 35962, 35966, 35970, 35974, 35981,    -1,
+    35987, 35990, 35993, 35996, 35999, 36002, 36005, 36008,
+    36011, 36014, 36017, 36020, 36023, 36026, 36029, 36032,
+    36035, 36038, 36041, 36044, 36047, 36050, 36053, 36056,
+    36059, 36062, 36065, 36068, 36071, 36074, 36077, 36080,
+    36083, 36086, 36089, 36092, 36095, 36096, 36097, 36098,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    36082, 36085, 36087, 36089, 36091, 36093, 36095, 36097,
-    36099, 36101, 36103, 36105, 36107, 36109, 36111, 36113,
-    36115, 36116, 36117, 36118, 36119, 36120, 36121, 36122,
-    36123, 36124, 36125, 36126, 36127, 36128, 36129, 36131,
-    36133, 36135, 36137, 36139, 36141, 36143, 36145, 36147,
-    36149, 36151, 36153, 36155, 36157, 36162, 36166,    -1,
-    36168, 36169, 36170, 36171, 36172, 36173, 36174, 36175,
-    36176, 36177, 36178, 36179, 36180, 36181, 36182, 36183,
-    36184, 36185, 36186, 36187, 36188, 36189, 36190, 36191,
-    36192, 36193, 36194, 36195, 36196, 36197, 36198, 36199,
-    36200, 36201, 36202, 36203, 36204, 36205, 36206, 36207,
-    36208, 36209, 36210, 36211, 36212, 36213, 36214, 36215,
-    36216, 36217, 36219, 36221, 36223, 36225, 36227, 36229,
-    36231, 36233, 36235, 36237, 36239, 36241, 36243, 36245,
-    36247, 36249, 36251, 36253, 36255, 36257, 36259, 36261,
-    36263, 36265, 36268, 36271, 36274, 36276, 36279, 36281,
-    36284, 36285, 36286, 36287, 36288, 36289, 36290, 36291,
-    36292, 36293, 36294, 36295, 36296, 36297, 36298, 36299,
-    36300, 36301, 36302, 36303, 36304, 36305, 36306, 36307,
-    36308, 36309, 36310, 36311, 36312, 36313, 36314, 36315,
-    36316, 36317, 36318, 36319, 36320, 36321, 36322, 36323,
-    36324, 36325, 36326, 36327, 36328, 36329, 36330,    -1,
-    36331, 36335, 36339, 36343, 36346, 36350, 36353, 36356,
-    36361, 36365, 36368, 36371, 36374, 36378, 36382, 36385,
-    36388, 36390, 36393, 36397, 36401, 36403, 36408, 36414,
-    36419, 36422, 36427, 36432, 36436, 36439, 36442, 36445,
-    36449, 36454, 36458, 36461, 36464, 36467, 36469, 36471,
-    36473, 36475, 36478, 36481, 36486, 36489, 36493, 36498,
-    36501, 36503, 36505, 36510, 36514, 36519, 36522, 36527,
-    36529, 36532, 36535, 36538, 36541, 36544, 36548, 36551,
-    36553, 36556, 36559, 36562, 36566, 36569, 36572, 36575,
-    36580, 36584, 36586, 36591, 36593, 36597, 36601, 36604,
-    36607, 36610, 36614, 36616, 36619, 36623, 36625, 36630,
-    36633, 36635, 36637, 36639, 36641, 36643, 36645, 36647,
-    36649, 36651, 36653, 36656, 36659, 36662, 36665, 36668,
-    36671, 36674, 36677, 36680, 36683, 36686, 36689, 36692,
-    36695, 36698, 36701, 36703, 36705, 36708, 36710, 36712,
-    36714, 36717, 36720, 36722, 36724, 36726, 36728, 36730,
-    36734, 36736, 36738, 36740, 36742, 36744, 36746, 36748,
-    36750, 36753, 36757, 36759, 36761, 36763, 36765, 36767,
-    36769, 36771, 36774, 36777, 36780, 36783, 36785, 36787,
-    36789, 36791, 36793, 36795, 36797, 36799, 36801, 36803,
-    36806, 36809, 36811, 36814, 36817, 36820, 36822, 36825,
-    36828, 36832, 36834, 36837, 36840, 36843, 36846, 36851,
-    36857, 36859, 36861, 36863, 36865, 36867, 36869, 36871,
-    36873, 36875, 36877, 36879, 36881, 36883, 36885, 36887,
-    36889, 36891, 36893, 36897, 36899, 36901, 36903, 36907,
-    36910, 36912, 36914, 36916, 36918, 36920, 36922, 36924,
-    36926, 36928, 36930, 36933, 36935, 36937, 36940, 36943,
-    36945, 36949, 36952, 36954, 36956, 36958, 36960, 36963,
-    36966, 36968, 36970, 36972, 36974, 36976, 36978, 36980,
-    36982, 36984, 36987, 36990, 36993, 36996, 36999, 37002,
-    37005, 37008, 37011, 37014, 37017, 37020, 37023, 37026,
-    37029, 37032, 37035, 37038, 37041, 37044, 37047, 37050,
+    36099, 36102, 36104, 36106, 36108, 36110, 36112, 36114,
+    36116, 36118, 36120, 36122, 36124, 36126, 36128, 36130,
+    36132, 36133, 36134, 36135, 36136, 36137, 36138, 36139,
+    36140, 36141, 36142, 36143, 36144, 36145, 36146, 36148,
+    36150, 36152, 36154, 36156, 36158, 36160, 36162, 36164,
+    36166, 36168, 36170, 36172, 36174, 36179, 36183,    -1,
+    36185, 36186, 36187, 36188, 36189, 36190, 36191, 36192,
+    36193, 36194, 36195, 36196, 36197, 36198, 36199, 36200,
+    36201, 36202, 36203, 36204, 36205, 36206, 36207, 36208,
+    36209, 36210, 36211, 36212, 36213, 36214, 36215, 36216,
+    36217, 36218, 36219, 36220, 36221, 36222, 36223, 36224,
+    36225, 36226, 36227, 36228, 36229, 36230, 36231, 36232,
+    36233, 36234, 36236, 36238, 36240, 36242, 36244, 36246,
+    36248, 36250, 36252, 36254, 36256, 36258, 36260, 36262,
+    36264, 36266, 36268, 36270, 36272, 36274, 36276, 36278,
+    36280, 36282, 36285, 36288, 36291, 36293, 36296, 36298,
+    36301, 36302, 36303, 36304, 36305, 36306, 36307, 36308,
+    36309, 36310, 36311, 36312, 36313, 36314, 36315, 36316,
+    36317, 36318, 36319, 36320, 36321, 36322, 36323, 36324,
+    36325, 36326, 36327, 36328, 36329, 36330, 36331, 36332,
+    36333, 36334, 36335, 36336, 36337, 36338, 36339, 36340,
+    36341, 36342, 36343, 36344, 36345, 36346, 36347,    -1,
+    36348, 36352, 36356, 36360, 36363, 36367, 36370, 36373,
+    36378, 36382, 36385, 36388, 36391, 36395, 36399, 36402,
+    36405, 36407, 36410, 36414, 36418, 36420, 36425, 36431,
+    36436, 36439, 36444, 36449, 36453, 36456, 36459, 36462,
+    36466, 36471, 36475, 36478, 36481, 36484, 36486, 36488,
+    36490, 36492, 36495, 36498, 36503, 36506, 36510, 36515,
+    36518, 36520, 36522, 36527, 36531, 36536, 36539, 36544,
+    36546, 36549, 36552, 36555, 36558, 36561, 36565, 36568,
+    36570, 36573, 36576, 36579, 36583, 36586, 36589, 36592,
+    36597, 36601, 36603, 36608, 36610, 36614, 36618, 36621,
+    36624, 36627, 36631, 36633, 36636, 36640, 36642, 36647,
+    36650, 36652, 36654, 36656, 36658, 36660, 36662, 36664,
+    36666, 36668, 36670, 36673, 36676, 36679, 36682, 36685,
+    36688, 36691, 36694, 36697, 36700, 36703, 36706, 36709,
+    36712, 36715, 36718, 36720, 36722, 36725, 36727, 36729,
+    36731, 36734, 36737, 36739, 36741, 36743, 36745, 36747,
+    36751, 36753, 36755, 36757, 36759, 36761, 36763, 36765,
+    36767, 36770, 36774, 36776, 36778, 36780, 36782, 36784,
+    36786, 36788, 36791, 36794, 36797, 36800, 36802, 36804,
+    36806, 36808, 36810, 36812, 36814, 36816, 36818, 36820,
+    36823, 36826, 36828, 36831, 36834, 36837, 36839, 36842,
+    36845, 36849, 36851, 36854, 36857, 36860, 36863, 36868,
+    36874, 36876, 36878, 36880, 36882, 36884, 36886, 36888,
+    36890, 36892, 36894, 36896, 36898, 36900, 36902, 36904,
+    36906, 36908, 36910, 36914, 36916, 36918, 36920, 36924,
+    36927, 36929, 36931, 36933, 36935, 36937, 36939, 36941,
+    36943, 36945, 36947, 36950, 36952, 36954, 36957, 36960,
+    36962, 36966, 36969, 36971, 36973, 36975, 36977, 36980,
+    36983, 36985, 36987, 36989, 36991, 36993, 36995, 36997,
+    36999, 37001, 37004, 37007, 37010, 37013, 37016, 37019,
+    37022, 37025, 37028, 37031, 37034, 37037, 37040, 37043,
+    37046, 37049, 37052, 37055, 37058, 37061, 37064, 37067,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    37053,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+    37070,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-     4286,  4287,  4288,  4289,  4290,  4291,  4292,  4293,
-     4294,  4295,  4296,  4297,  4298,  4299,  4300,  4301,
-     4302,  4303,  4304,  4305,  4306,  4307,  4308,  4309,
-     4310,  4311,  4312,  4313,  4314,  4315,  4316,  4317,
-     4318,  4319,  4320,  4321,  4322,  4323,  4324,  4325,
-     4326,  4327,  4328,  4329,  4330,  4331,  4332,  4333,
-     4334,  4335,  4336,  4337,  4338,  4339,  4340,  4341,
-     4342,  4343,  4344,  4345,  4346,  4347,  4348,  4349,
-     4350,  4351,  4352,  4353,  4354,  4355,  4356,  4357,
-     4358,  4359,  4360,  4361,  4362,  4363,  4364,  4365,
-     4366,  4367,  4368,  4369,  4370,  4371,  4372,  4373,
-     4374,  4375,  4376,  4377,  4378,  4379,  4380,  4381,
-     4382,  4383,  4384,  4385,  4386,  4387,  4388,  4389,
-     4390,  4391,  4392,  4393,  4394,  4395,  4396,  4397,
-     4398,  4399,  4400,  4401,  4402,  4403,  4404,  4405,
-     4406,  4407,  4408,  4409,  4410,  4411,  4412,  4413,
-     4414,  4415,  4416,  4417,  4418,  4419,  4420,  4421,
-     4422,  4423,  4424,  4425,  4426,  4427,  4428,  4429,
-     4430,  4431,  4432,  4433,  4434,  4435,  4436,  4437,
-     4438,  4439,  4440,  4441,  4442,  4443,  4444,  4445,
-     4446,  4447,  4448,  4449,  4450,  4451,  4452,  4453,
-     4454,  4455,  4456,  4457,  4458,  4459,  4460,  4461,
-     4462,  4463,  4464,  4465,  4466,  4467,  4468,  4469,
-     4470,  4471,  4472,  4473,  4474,  4475,  4476,  4477,
-     4478,  4479,  4480,  4481,  4482,  4483,  4484,  4485,
-     4486,  4487,  4488,  4489,  4490,  4491,  4492,  4493,
-     4494,  4495,  4496,  4497,  4498,  4499,  4500,  4501,
-     4502,  4503,  4504,  4505,  4506,  4507,  4508,  4509,
-     4510,  4511,  4512,  4513,  4514,  4515,  4516,  4517,
-     4518,  4519,  4520,  4521,  4522,  4523,  4524,  4525,
-     4526,  4527,  4528,  4529,  4530,  4531,  4532,  4533,
-     4534,  4535,  4536,  4537,  4538,  4539,  4540,  4541,
-     4542,  4543,  4544,  4545,  4546,  4547,  4548,  4549,
-     4550,  4551,  4552,  4553,  4554,  4555,    -1,    -1,
-     4556,    -1,  4557,    -1,    -1,  4558,  4559,  4560,
-     4561,  4562,  4563,  4564,  4565,  4566,  4567,    -1,
-     4568,    -1,  4569,    -1,    -1,  4570,  4571,    -1,
-       -1,    -1,  4572,  4573,  4574,  4575,    -1,    -1,
-     4576,  4577,  4578,  4579,  4580,  4581,  4582,  4583,
-     4584,  4585,  4586,  4587,  4588,  4589,  4590,  4591,
-     4592,  4593,  4594,  4595,  4596,  4597,  4598,  4599,
-     4600,  4601,  4602,  4603,  4604,  4605,  4606,  4607,
-     4608,  4609,  4610,  4611,  4612,  4613,  4614,  4615,
-     4616,  4617,  4618,  4619,  4620,  4621,  4622,  4623,
-     4624,  4625,  4626,  4627,  4628,  4629,  4630,  4631,
-     4632,  4633,  4634,    -1,    -1,    -1,    -1,    -1,
-     4635,  4636,  4637,  4638,  4639,  4640,  4641,  4642,
-     4643,  4644,  4645,  4646,  4647,  4648,  4649,  4650,
-     4651,  4652,  4653,  4654,  4655,  4656,  4657,  4658,
-     4659,  4660,  4661,  4662,  4663,  4664,  4665,  4666,
-     4667,  4668,  4669,  4670,  4671,  4672,  4673,  4674,
-     4675,  4676,  4677,  4678,  4679,  4680,  4681,  4682,
-     4683,  4684,  4685,  4686,  4687,  4688,  4689,  4690,
-     4691,  4692,  4693,  4694,  4695,  4696,  4697,  4698,
-     4699,  4700,  4701,  4702,  4703,  4704,  4705,  4706,
-     4707,  4708,  4709,  4710,  4711,  4712,  4713,  4714,
-     4715,  4716,  4717,  4718,  4719,  4720,  4721,  4722,
-     4723,  4724,  4725,  4726,  4727,  4728,  4729,  4730,
-     4731,  4732,  4733,  4734,  4735,  4736,  4737,  4738,
-     4739,  4740,    -1,    -1,    -1,    -1,    -1,    -1,
-    37509, 37511, 37513, 37515, 37518, 37521, 37523,    -1,
+     4303,  4304,  4305,  4306,  4307,  4308,  4309,  4310,
+     4311,  4312,  4313,  4314,  4315,  4316,  4317,  4318,
+     4319,  4320,  4321,  4322,  4323,  4324,  4325,  4326,
+     4327,  4328,  4329,  4330,  4331,  4332,  4333,  4334,
+     4335,  4336,  4337,  4338,  4339,  4340,  4341,  4342,
+     4343,  4344,  4345,  4346,  4347,  4348,  4349,  4350,
+     4351,  4352,  4353,  4354,  4355,  4356,  4357,  4358,
+     4359,  4360,  4361,  4362,  4363,  4364,  4365,  4366,
+     4367,  4368,  4369,  4370,  4371,  4372,  4373,  4374,
+     4375,  4376,  4377,  4378,  4379,  4380,  4381,  4382,
+     4383,  4384,  4385,  4386,  4387,  4388,  4389,  4390,
+     4391,  4392,  4393,  4394,  4395,  4396,  4397,  4398,
+     4399,  4400,  4401,  4402,  4403,  4404,  4405,  4406,
+     4407,  4408,  4409,  4410,  4411,  4412,  4413,  4414,
+     4415,  4416,  4417,  4418,  4419,  4420,  4421,  4422,
+     4423,  4424,  4425,  4426,  4427,  4428,  4429,  4430,
+     4431,  4432,  4433,  4434,  4435,  4436,  4437,  4438,
+     4439,  4440,  4441,  4442,  4443,  4444,  4445,  4446,
+     4447,  4448,  4449,  4450,  4451,  4452,  4453,  4454,
+     4455,  4456,  4457,  4458,  4459,  4460,  4461,  4462,
+     4463,  4464,  4465,  4466,  4467,  4468,  4469,  4470,
+     4471,  4472,  4473,  4474,  4475,  4476,  4477,  4478,
+     4479,  4480,  4481,  4482,  4483,  4484,  4485,  4486,
+     4487,  4488,  4489,  4490,  4491,  4492,  4493,  4494,
+     4495,  4496,  4497,  4498,  4499,  4500,  4501,  4502,
+     4503,  4504,  4505,  4506,  4507,  4508,  4509,  4510,
+     4511,  4512,  4513,  4514,  4515,  4516,  4517,  4518,
+     4519,  4520,  4521,  4522,  4523,  4524,  4525,  4526,
+     4527,  4528,  4529,  4530,  4531,  4532,  4533,  4534,
+     4535,  4536,  4537,  4538,  4539,  4540,  4541,  4542,
+     4543,  4544,  4545,  4546,  4547,  4548,  4549,  4550,
+     4551,  4552,  4553,  4554,  4555,  4556,  4557,  4558,
+     4559,  4560,  4561,  4562,  4563,  4564,  4565,  4566,
+     4567,  4568,  4569,  4570,  4571,  4572,    -1,    -1,
+     4573,    -1,  4574,    -1,    -1,  4575,  4576,  4577,
+     4578,  4579,  4580,  4581,  4582,  4583,  4584,    -1,
+     4585,    -1,  4586,    -1,    -1,  4587,  4588,    -1,
+       -1,    -1,  4589,  4590,  4591,  4592,    -1,    -1,
+     4593,  4594,  4595,  4596,  4597,  4598,  4599,  4600,
+     4601,  4602,  4603,  4604,  4605,  4606,  4607,  4608,
+     4609,  4610,  4611,  4612,  4613,  4614,  4615,  4616,
+     4617,  4618,  4619,  4620,  4621,  4622,  4623,  4624,
+     4625,  4626,  4627,  4628,  4629,  4630,  4631,  4632,
+     4633,  4634,  4635,  4636,  4637,  4638,  4639,  4640,
+     4641,  4642,  4643,  4644,  4645,  4646,  4647,  4648,
+     4649,  4650,  4651,  4652,  4653,  4654,    -1,    -1,
+     4655,  4656,  4657,  4658,  4659,  4660,  4661,  4662,
+     4663,  4664,  4665,  4666,  4667,  4668,  4669,  4670,
+     4671,  4672,  4673,  4674,  4675,  4676,  4677,  4678,
+     4679,  4680,  4681,  4682,  4683,  4684,  4685,  4686,
+     4687,  4688,  4689,  4690,  4691,  4692,  4693,  4694,
+     4695,  4696,  4697,  4698,  4699,  4700,  4701,  4702,
+     4703,  4704,  4705,  4706,  4707,  4708,  4709,  4710,
+     4711,  4712,  4713,  4714,  4715,  4716,  4717,  4718,
+     4719,  4720,  4721,  4722,  4723,  4724,  4725,  4726,
+     4727,  4728,  4729,  4730,  4731,  4732,  4733,  4734,
+     4735,  4736,  4737,  4738,  4739,  4740,  4741,  4742,
+     4743,  4744,  4745,  4746,  4747,  4748,  4749,  4750,
+     4751,  4752,  4753,  4754,  4755,  4756,  4757,  4758,
+     4759,  4760,    -1,    -1,    -1,    -1,    -1,    -1,
+    37529, 37531, 37533, 37535, 37538, 37541, 37543,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,    -1, 37525, 37527, 37529, 37531, 37533,
-       -1,    -1,    -1,    -1,    -1,  4767,    -1,  4769,
-    37539, 37540, 37541, 37542, 37543, 37544, 37545, 37546,
-    37547, 37548,  4781,  4783,  4785,  4787,  4789,  4791,
-     4793,  4795,  4797,  4799,  4801,  4803,  4805,    -1,
-     4807,  4809,  4811,  4813,  4815,    -1,  4817,    -1,
-     4819,  4821,    -1,  4823,  4825,    -1,  4827,  4829,
-     4831,  4833,  4835,  4837,  4839,  4841,  4843, 37613,
-    37615, 37616, 37617, 37618, 37619, 37620, 37621, 37622,
-    37623, 37624, 37625, 37626, 37627, 37628, 37629, 37630,
-    37631, 37632, 37633, 37634, 37635, 37636, 37637, 37638,
-    37639, 37640, 37641, 37642, 37643, 37644, 37645, 37646,
-    37647, 37648, 37649, 37650, 37651, 37652, 37653, 37654,
-    37655, 37656, 37657, 37658, 37659, 37660, 37661, 37662,
-    37663, 37664, 37665, 37666, 37667, 37668, 37669, 37670,
-    37671, 37672, 37673, 37674, 37675, 37676, 37677, 37678,
-    37679, 37680, 37681, 37682, 37683, 37684, 37685, 37686,
-    37687, 37688, 37689, 37690, 37691, 37692, 37693, 37694,
-    37695, 37696, 37697, 37698, 37699, 37700, 37701, 37702,
-    37703, 37704, 37705, 37706, 37707, 37708, 37709, 37710,
-    37711, 37712,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1, 37545, 37547, 37549, 37551, 37553,
+       -1,    -1,    -1,    -1,    -1,  4787,    -1,  4789,
+    37559, 37560, 37561, 37562, 37563, 37564, 37565, 37566,
+    37567, 37568,  4801,  4803,  4805,  4807,  4809,  4811,
+     4813,  4815,  4817,  4819,  4821,  4823,  4825,    -1,
+     4827,  4829,  4831,  4833,  4835,    -1,  4837,    -1,
+     4839,  4841,    -1,  4843,  4845,    -1,  4847,  4849,
+     4851,  4853,  4855,  4857,  4859,  4861,  4863, 37633,
+    37635, 37636, 37637, 37638, 37639, 37640, 37641, 37642,
+    37643, 37644, 37645, 37646, 37647, 37648, 37649, 37650,
+    37651, 37652, 37653, 37654, 37655, 37656, 37657, 37658,
+    37659, 37660, 37661, 37662, 37663, 37664, 37665, 37666,
+    37667, 37668, 37669, 37670, 37671, 37672, 37673, 37674,
+    37675, 37676, 37677, 37678, 37679, 37680, 37681, 37682,
+    37683, 37684, 37685, 37686, 37687, 37688, 37689, 37690,
+    37691, 37692, 37693, 37694, 37695, 37696, 37697, 37698,
+    37699, 37700, 37701, 37702, 37703, 37704, 37705, 37706,
+    37707, 37708, 37709, 37710, 37711, 37712, 37713, 37714,
+    37715, 37716, 37717, 37718, 37719, 37720, 37721, 37722,
+    37723, 37724, 37725, 37726, 37727, 37728, 37729, 37730,
+    37731, 37732,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,    -1, 37713, 37714, 37715, 37716, 37717,
-    37718, 37719, 37720, 37721, 37722, 37723, 37724, 37725,
-    37726, 37727, 37728, 37729, 37730, 37731, 37732, 37733,
-    37734, 37735, 37736, 37738, 37740, 37742, 37744, 37746,
-    37748, 37750, 37752, 37754, 37756, 37758, 37760, 37762,
-    37764, 37766, 37768, 37770, 37772, 37773, 37774, 37775,
-    37776, 37778, 37780, 37782, 37784, 37786, 37788, 37790,
-    37792, 37794, 37796, 37798, 37800, 37802, 37804, 37806,
-    37808, 37810, 37812, 37814, 37816, 37818, 37820, 37822,
-    37824, 37826, 37828, 37830, 37832, 37834, 37836, 37838,
-    37840, 37842, 37844, 37846, 37848, 37850, 37852, 37854,
-    37856, 37858, 37860, 37862, 37864, 37866, 37868, 37870,
-    37872, 37874, 37876, 37878, 37880, 37882, 37884, 37886,
-    37888, 37890, 37892, 37894, 37896, 37898, 37900, 37902,
-    37904, 37906, 37908, 37910, 37912, 37914, 37916, 37918,
-    37920, 37922, 37924, 37926, 37928, 37930, 37932, 37934,
-    37936, 37938, 37940, 37942, 37944, 37946, 37948, 37950,
-    37952, 37954, 37956, 37958, 37960, 37962, 37964, 37967,
-    37970, 37973, 37976, 37979, 37982, 37984, 37986, 37988,
-    37990, 37992, 37994, 37996, 37998, 38000, 38002, 38004,
-    38006, 38008, 38010, 38012, 38014, 38016, 38018, 38020,
-    38022, 38024, 38026, 38028, 38030, 38032, 38034, 38036,
-    38038, 38040, 38042, 38044, 38046, 38048, 38050, 38052,
-    38054, 38056, 38058, 38060, 38062, 38064, 38066, 38068,
-    38070, 38072, 38074, 38076, 38078, 38080, 38082, 38084,
-    38086, 38088, 38090, 38092, 38094, 38096, 38098, 38100,
-    38102, 38104, 38106, 38108, 38110, 38112, 38114, 38116,
-    38118, 38120, 38122, 38124, 38126, 38128, 38130, 38132,
-    38134, 38136, 38138, 38140, 38142, 38144, 38146, 38148,
-    38150, 38152, 38154, 38156, 38158, 38160, 38162, 38164,
-    38166, 38168, 38170, 38172, 38174, 38176, 38178, 38180,
-    38182, 38184, 38186, 38188, 38190, 38192, 38194, 38196,
-    38198, 38200, 38202, 38204, 38206, 38208, 38210, 38212,
-    38214, 38216, 38218, 38220, 38222, 38224, 38226, 38228,
-    38230, 38232, 38234, 38236, 38238, 38240, 38242, 38244,
-    38246, 38248, 38250, 38252, 38254, 38256, 38258, 38260,
-    38262, 38264, 38266, 38269, 38272, 38275, 38277, 38279,
-    38281, 38283, 38285, 38287, 38289, 38291, 38293, 38295,
-    38297, 38299, 38301, 38303, 38305, 38307, 38309, 38311,
-    38313, 38315, 38317, 38319, 38321, 38323, 38325, 38327,
-    38329, 38331, 38333, 38335, 38337, 38339, 38341, 38343,
-    38345, 38347, 38349, 38351, 38353, 38355, 38357, 38359,
-    38361, 38363, 38365, 38367, 38369, 38371, 38373, 38375,
-    38377, 38379, 38381, 38383, 38385, 38387, 38389, 38391,
-    38393, 38395, 38397, 38399, 38401, 38403, 38405, 38407,
-    38409, 38411, 38413, 38415, 38417, 38419,    -1,    -1,
+       -1,    -1,    -1, 37733, 37734, 37735, 37736, 37737,
+    37738, 37739, 37740, 37741, 37742, 37743, 37744, 37745,
+    37746, 37747, 37748, 37749, 37750, 37751, 37752, 37753,
+    37754, 37755, 37756, 37758, 37760, 37762, 37764, 37766,
+    37768, 37770, 37772, 37774, 37776, 37778, 37780, 37782,
+    37784, 37786, 37788, 37790, 37792, 37793, 37794, 37795,
+    37796, 37798, 37800, 37802, 37804, 37806, 37808, 37810,
+    37812, 37814, 37816, 37818, 37820, 37822, 37824, 37826,
+    37828, 37830, 37832, 37834, 37836, 37838, 37840, 37842,
+    37844, 37846, 37848, 37850, 37852, 37854, 37856, 37858,
+    37860, 37862, 37864, 37866, 37868, 37870, 37872, 37874,
+    37876, 37878, 37880, 37882, 37884, 37886, 37888, 37890,
+    37892, 37894, 37896, 37898, 37900, 37902, 37904, 37906,
+    37908, 37910, 37912, 37914, 37916, 37918, 37920, 37922,
+    37924, 37926, 37928, 37930, 37932, 37934, 37936, 37938,
+    37940, 37942, 37944, 37946, 37948, 37950, 37952, 37954,
+    37956, 37958, 37960, 37962, 37964, 37966, 37968, 37970,
+    37972, 37974, 37976, 37978, 37980, 37982, 37984, 37987,
+    37990, 37993, 37996, 37999, 38002, 38004, 38006, 38008,
+    38010, 38012, 38014, 38016, 38018, 38020, 38022, 38024,
+    38026, 38028, 38030, 38032, 38034, 38036, 38038, 38040,
+    38042, 38044, 38046, 38048, 38050, 38052, 38054, 38056,
+    38058, 38060, 38062, 38064, 38066, 38068, 38070, 38072,
+    38074, 38076, 38078, 38080, 38082, 38084, 38086, 38088,
+    38090, 38092, 38094, 38096, 38098, 38100, 38102, 38104,
+    38106, 38108, 38110, 38112, 38114, 38116, 38118, 38120,
+    38122, 38124, 38126, 38128, 38130, 38132, 38134, 38136,
+    38138, 38140, 38142, 38144, 38146, 38148, 38150, 38152,
+    38154, 38156, 38158, 38160, 38162, 38164, 38166, 38168,
+    38170, 38172, 38174, 38176, 38178, 38180, 38182, 38184,
+    38186, 38188, 38190, 38192, 38194, 38196, 38198, 38200,
+    38202, 38204, 38206, 38208, 38210, 38212, 38214, 38216,
+    38218, 38220, 38222, 38224, 38226, 38228, 38230, 38232,
+    38234, 38236, 38238, 38240, 38242, 38244, 38246, 38248,
+    38250, 38252, 38254, 38256, 38258, 38260, 38262, 38264,
+    38266, 38268, 38270, 38272, 38274, 38276, 38278, 38280,
+    38282, 38284, 38286, 38289, 38292, 38295, 38297, 38299,
+    38301, 38303, 38305, 38307, 38309, 38311, 38313, 38315,
+    38317, 38319, 38321, 38323, 38325, 38327, 38329, 38331,
+    38333, 38335, 38337, 38339, 38341, 38343, 38345, 38347,
+    38349, 38351, 38353, 38355, 38357, 38359, 38361, 38363,
+    38365, 38367, 38369, 38371, 38373, 38375, 38377, 38379,
+    38381, 38383, 38385, 38387, 38389, 38391, 38393, 38395,
+    38397, 38399, 38401, 38403, 38405, 38407, 38409, 38411,
+    38413, 38415, 38417, 38419, 38421, 38423, 38425, 38427,
+    38429, 38431, 38433, 38435, 38437, 38439,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    38421, 38424, 38427, 38430, 38433, 38436, 38439, 38442,
-    38445, 38448, 38451, 38454, 38457, 38460, 38463, 38466,
-    38469, 38472, 38475, 38478, 38481, 38484, 38487, 38490,
-    38493, 38496, 38499, 38502, 38505, 38508, 38511, 38514,
-    38517, 38520, 38523, 38526, 38529, 38532, 38535, 38538,
-    38541, 38544, 38547, 38550, 38553, 38556, 38559, 38562,
-    38565, 38568, 38571, 38574, 38577, 38580, 38583, 38586,
-    38589, 38592, 38595, 38598, 38601, 38604, 38607, 38610,
-       -1,    -1, 38613, 38616, 38619, 38622, 38625, 38628,
-    38631, 38634, 38637, 38640, 38643, 38646, 38649, 38652,
-    38655, 38658, 38661, 38664, 38667, 38670, 38673, 38676,
-    38679, 38682, 38685, 38688, 38691, 38694, 38697, 38700,
-    38703, 38706, 38709, 38712, 38715, 38718, 38721, 38724,
-    38727, 38730, 38733, 38736, 38739, 38742, 38745, 38748,
-    38751, 38754, 38757, 38760, 38763, 38766, 38769, 38772,
+    38441, 38444, 38447, 38450, 38453, 38456, 38459, 38462,
+    38465, 38468, 38471, 38474, 38477, 38480, 38483, 38486,
+    38489, 38492, 38495, 38498, 38501, 38504, 38507, 38510,
+    38513, 38516, 38519, 38522, 38525, 38528, 38531, 38534,
+    38537, 38540, 38543, 38546, 38549, 38552, 38555, 38558,
+    38561, 38564, 38567, 38570, 38573, 38576, 38579, 38582,
+    38585, 38588, 38591, 38594, 38597, 38600, 38603, 38606,
+    38609, 38612, 38615, 38618, 38621, 38624, 38627, 38630,
+       -1,    -1, 38633, 38636, 38639, 38642, 38645, 38648,
+    38651, 38654, 38657, 38660, 38663, 38666, 38669, 38672,
+    38675, 38678, 38681, 38684, 38687, 38690, 38693, 38696,
+    38699, 38702, 38705, 38708, 38711, 38714, 38717, 38720,
+    38723, 38726, 38729, 38732, 38735, 38738, 38741, 38744,
+    38747, 38750, 38753, 38756, 38759, 38762, 38765, 38768,
+    38771, 38774, 38777, 38780, 38783, 38786, 38789, 38792,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    38775, 38778, 38781, 38785, 38789, 38793, 38797, 38801,
-    38805, 38809, 38812, 38830, 38838,    -1,    -1,    -1,
+    38795, 38798, 38801, 38805, 38809, 38813, 38817, 38821,
+    38825, 38829, 38832, 38850, 38858,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    38842, 38843, 38844, 38845, 38846, 38847, 38848, 38849,
-    38850, 38851,    -1,    -1,    -1,    -1,    -1,    -1,
+    38862, 38863, 38864, 38865, 38866, 38867, 38868, 38869,
+    38870, 38871,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    38852, 38853, 38854, 38855, 38856, 38857, 38858, 38859,
-    38860, 38861, 38862, 38863, 38864, 38865, 38866, 38867,
-    38868, 38869, 38870, 38871, 38872,    -1,    -1, 38873,
-    38874, 38875, 38876, 38877, 38878, 38879, 38880, 38881,
-    38882, 38883, 38884,    -1, 38885, 38886, 38887, 38888,
-    38889, 38890, 38891, 38892, 38893, 38894, 38895, 38896,
-    38897, 38898, 38899, 38900, 38901, 38902, 38903,    -1,
-    38904, 38905, 38906, 38907,    -1,    -1,    -1,    -1,
-    38908, 38910, 38912,    -1, 38914,    -1, 38916, 38918,
-    38920, 38922, 38924, 38926, 38928, 38930, 38932, 38934,
-    38936, 38937, 38938, 38939, 38940, 38941, 38942, 38943,
-    38944, 38945, 38946, 38947, 38948, 38949, 38950, 38951,
-    38952, 38953, 38954, 38955, 38956, 38957, 38958, 38959,
-    38960, 38961, 38962, 38963, 38964, 38965, 38966, 38967,
-    38968, 38969, 38970, 38971, 38972, 38973, 38974, 38975,
-    38976, 38977, 38978, 38979, 38980, 38981, 38982, 38983,
-    38984, 38985, 38986, 38987, 38988, 38989, 38990, 38991,
-    38992, 38993, 38994, 38995, 38996, 38997, 38998, 38999,
-    39000, 39001, 39002, 39003, 39004, 39005, 39006, 39007,
-    39008, 39009, 39010, 39011, 39012, 39013, 39014, 39015,
-    39016, 39017, 39018, 39019, 39020, 39021, 39022, 39023,
-    39024, 39025, 39026, 39027, 39028, 39029, 39030, 39031,
-    39032, 39033, 39034, 39035, 39036, 39037, 39038, 39039,
-    39040, 39041, 39042, 39043, 39044, 39045, 39046, 39047,
-    39048, 39049, 39050, 39051, 39052, 39053, 39055, 39057,
-    39059, 39061, 39063, 39065, 39067,    -1,    -1,    -1,
-       -1, 39069, 39070, 39071, 39072, 39073, 39074, 39075,
-    39076, 39077, 39078, 39079, 39080, 39081, 39082, 39083,
-    39084, 39085, 39086, 39087, 39088, 39089, 39090, 39091,
-    39092, 39093, 39094, 39095, 39096, 39097, 39098, 39099,
-    39100, 39101, 39102, 39103, 39104, 39105, 39106, 39107,
-    39108, 39109, 39110, 39111, 39112, 39113, 39114, 39115,
-    39116, 39117, 39118, 39119, 39120, 39121, 39122, 39123,
-    39124, 39125, 39126, 39127, 39128, 39129, 39130, 39131,
-    39132, 39133, 39134, 39135, 39136, 39137, 39138, 39139,
-    39140, 39141, 39142, 39143, 39144, 39145, 39146, 39147,
-    39148, 39149, 39150, 39151, 39152, 39153, 39154, 39155,
-    39156, 39157, 39158, 39159, 39160, 39161, 39162, 39163,
-    39164, 39165, 39166, 39167, 39168, 39169, 39170, 39171,
-    39172, 39173, 39174, 39175, 39176, 39177, 39178, 39179,
-    39180, 39181, 39182, 39183, 39184, 39185, 39186, 39187,
-    39188, 39189, 39190, 39191, 39192, 39193, 39194, 39195,
-    39196, 39197, 39198, 39199, 39200, 39201, 39202, 39203,
-    39204, 39205, 39206, 39207, 39208, 39209, 39210, 39211,
-    39212, 39213, 39214, 39215, 39216, 39217, 39218, 39219,
-    39220, 39221, 39222, 39223, 39224, 39225, 39226, 39227,
-    39228, 39229, 39230, 39231, 39232, 39233, 39234, 39235,
-    39236, 39237, 39238, 39239, 39240, 39241, 39242, 39243,
-    39244, 39245, 39246, 39247, 39248, 39249, 39250, 39251,
-    39252, 39253, 39254, 39255, 39256, 39257, 39258,    -1,
-       -1,    -1, 39259, 39260, 39261, 39262, 39263, 39264,
-       -1,    -1, 39265, 39266, 39267, 39268, 39269, 39270,
-       -1,    -1, 39271, 39272, 39273, 39274, 39275, 39276,
-       -1,    -1, 39277, 39278, 39279,    -1,    -1,    -1,
-    39280, 39281, 39282, 39283, 39284, 39285, 39286,    -1,
-    39287, 39288, 39289, 39290, 39291, 39292, 39293,    -1,
+    38872, 38873, 38874, 38875, 38876, 38877, 38878, 38879,
+    38880, 38881, 38882, 38883, 38884, 38885, 38886, 38887,
+    38888, 38889, 38890, 38891, 38892,    -1,    -1, 38893,
+    38894, 38895, 38896, 38897, 38898, 38899, 38900, 38901,
+    38902, 38903, 38904,    -1, 38905, 38906, 38907, 38908,
+    38909, 38910, 38911, 38912, 38913, 38914, 38915, 38916,
+    38917, 38918, 38919, 38920, 38921, 38922, 38923,    -1,
+    38924, 38925, 38926, 38927,    -1,    -1,    -1,    -1,
+    38928, 38930, 38932,    -1, 38934,    -1, 38936, 38938,
+    38940, 38942, 38944, 38946, 38948, 38950, 38952, 38954,
+    38956, 38957, 38958, 38959, 38960, 38961, 38962, 38963,
+    38964, 38965, 38966, 38967, 38968, 38969, 38970, 38971,
+    38972, 38973, 38974, 38975, 38976, 38977, 38978, 38979,
+    38980, 38981, 38982, 38983, 38984, 38985, 38986, 38987,
+    38988, 38989, 38990, 38991, 38992, 38993, 38994, 38995,
+    38996, 38997, 38998, 38999, 39000, 39001, 39002, 39003,
+    39004, 39005, 39006, 39007, 39008, 39009, 39010, 39011,
+    39012, 39013, 39014, 39015, 39016, 39017, 39018, 39019,
+    39020, 39021, 39022, 39023, 39024, 39025, 39026, 39027,
+    39028, 39029, 39030, 39031, 39032, 39033, 39034, 39035,
+    39036, 39037, 39038, 39039, 39040, 39041, 39042, 39043,
+    39044, 39045, 39046, 39047, 39048, 39049, 39050, 39051,
+    39052, 39053, 39054, 39055, 39056, 39057, 39058, 39059,
+    39060, 39061, 39062, 39063, 39064, 39065, 39066, 39067,
+    39068, 39069, 39070, 39071, 39072, 39073, 39075, 39077,
+    39079, 39081, 39083, 39085, 39087,    -1,    -1,    -1,
+       -1, 39089, 39090, 39091, 39092, 39093, 39094, 39095,
+    39096, 39097, 39098, 39099, 39100, 39101, 39102, 39103,
+    39104, 39105, 39106, 39107, 39108, 39109, 39110, 39111,
+    39112, 39113, 39114, 39115, 39116, 39117, 39118, 39119,
+    39120, 39121, 39122, 39123, 39124, 39125, 39126, 39127,
+    39128, 39129, 39130, 39131, 39132, 39133, 39134, 39135,
+    39136, 39137, 39138, 39139, 39140, 39141, 39142, 39143,
+    39144, 39145, 39146, 39147, 39148, 39149, 39150, 39151,
+    39152, 39153, 39154, 39155, 39156, 39157, 39158, 39159,
+    39160, 39161, 39162, 39163, 39164, 39165, 39166, 39167,
+    39168, 39169, 39170, 39171, 39172, 39173, 39174, 39175,
+    39176, 39177, 39178, 39179, 39180, 39181, 39182, 39183,
+    39184, 39185, 39186, 39187, 39188, 39189, 39190, 39191,
+    39192, 39193, 39194, 39195, 39196, 39197, 39198, 39199,
+    39200, 39201, 39202, 39203, 39204, 39205, 39206, 39207,
+    39208, 39209, 39210, 39211, 39212, 39213, 39214, 39215,
+    39216, 39217, 39218, 39219, 39220, 39221, 39222, 39223,
+    39224, 39225, 39226, 39227, 39228, 39229, 39230, 39231,
+    39232, 39233, 39234, 39235, 39236, 39237, 39238, 39239,
+    39240, 39241, 39242, 39243, 39244, 39245, 39246, 39247,
+    39248, 39249, 39250, 39251, 39252, 39253, 39254, 39255,
+    39256, 39257, 39258, 39259, 39260, 39261, 39262, 39263,
+    39264, 39265, 39266, 39267, 39268, 39269, 39270, 39271,
+    39272, 39273, 39274, 39275, 39276, 39277, 39278,    -1,
+       -1,    -1, 39279, 39280, 39281, 39282, 39283, 39284,
+       -1,    -1, 39285, 39286, 39287, 39288, 39289, 39290,
+       -1,    -1, 39291, 39292, 39293, 39294, 39295, 39296,
+       -1,    -1, 39297, 39298, 39299,    -1,    -1,    -1,
+    39300, 39301, 39302, 39303, 39304, 39305, 39306,    -1,
+    39307, 39308, 39309, 39310, 39311, 39312, 39313,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,    -1,    -1,    -1,    -1,  6526,  6528,
-     6530,  6532,  6534,  6536,  6538,    -1,    -1,    -1,
+       -1,    -1,  6546,    -1,  6548,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,  6550,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,  6552,  6554,
+     6556,  6558,  6560,  6562,  6564,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,    -1,  6540,  6542,  6544,  6546,  6548,
-     6550,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,  6566,  6568,  6570,  6572,  6574,
+     6576,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    39320, 39321, 39322, 39323, 39324, 39325, 39326, 39327,
-    39328, 39329, 39330, 39331, 39332, 39333, 39334, 39335,
-    39336, 39337, 39338, 39339, 39340, 39341, 39342, 39343,
-    39344, 39345, 39346, 39347, 39348, 39349, 39350, 39351,
-    39352, 39353, 39354, 39355, 39356, 39357, 39358, 39359,
-    39360, 39361, 39362, 39363, 39364, 39365, 39366, 39367,
-    39368, 39369, 39370, 39371, 39372, 39373, 39374, 39375,
-    39376, 39377, 39378, 39379, 39380, 39381, 39382, 39383,
-    39384, 39385, 39386, 39387, 39388, 39389, 39390, 39391,
-    39392, 39393, 39394, 39395, 39396, 39397, 39398, 39399,
-    39400, 39401, 39402, 39403, 39404,    -1, 39405, 39406,
-    39407, 39408, 39409, 39410, 39411, 39412, 39413, 39414,
-    39415, 39416, 39417, 39418, 39419, 39420, 39421, 39422,
-    39423, 39424, 39425, 39426, 39427, 39428, 39429, 39430,
-    39431, 39432, 39433, 39434, 39435, 39436, 39437, 39438,
-    39439, 39440, 39441, 39442, 39443, 39444, 39445, 39446,
-    39447, 39448, 39449, 39450, 39451, 39452, 39453, 39454,
-    39455, 39456, 39457, 39458, 39459, 39460, 39461, 39462,
-    39463, 39464, 39465, 39466, 39467, 39468, 39469, 39470,
-    39471, 39472, 39473, 39474, 39475,    -1, 39476, 39477,
-       -1,    -1, 39478,    -1,    -1, 39479, 39480,    -1,
-       -1, 39481, 39482, 39483, 39484,    -1, 39485, 39486,
-    39487, 39488, 39489, 39490, 39491, 39492, 39493, 39494,
-    39495, 39496,    -1, 39497,    -1, 39498, 39499, 39500,
-    39501, 39502, 39503, 39504,    -1, 39505, 39506, 39507,
-    39508, 39509, 39510, 39511, 39512, 39513, 39514, 39515,
-    39516, 39517, 39518, 39519, 39520, 39521, 39522, 39523,
-    39524, 39525, 39526, 39527, 39528, 39529, 39530, 39531,
-    39532, 39533, 39534, 39535, 39536, 39537, 39538, 39539,
-    39540, 39541, 39542, 39543, 39544, 39545, 39546, 39547,
-    39548, 39549, 39550, 39551, 39552, 39553, 39554, 39555,
-    39556, 39557, 39558, 39559, 39560, 39561, 39562, 39563,
-    39564, 39565, 39566, 39567, 39568, 39569,    -1, 39570,
-    39571, 39572, 39573,    -1,    -1, 39574, 39575, 39576,
-    39577, 39578, 39579, 39580, 39581,    -1, 39582, 39583,
-    39584, 39585, 39586, 39587, 39588,    -1, 39589, 39590,
-    39591, 39592, 39593, 39594, 39595, 39596, 39597, 39598,
-    39599, 39600, 39601, 39602, 39603, 39604, 39605, 39606,
-    39607, 39608, 39609, 39610, 39611, 39612, 39613, 39614,
-    39615, 39616,    -1, 39617, 39618, 39619, 39620,    -1,
-    39621, 39622, 39623, 39624, 39625,    -1, 39626,    -1,
-       -1,    -1, 39627, 39628, 39629, 39630, 39631, 39632,
-    39633,    -1, 39634, 39635, 39636, 39637, 39638, 39639,
-    39640, 39641, 39642, 39643, 39644, 39645, 39646, 39647,
-    39648, 39649, 39650, 39651, 39652, 39653, 39654, 39655,
-    39656, 39657, 39658, 39659, 39660, 39661, 39662, 39663,
-    39664, 39665, 39666, 39667, 39668, 39669, 39670, 39671,
-    39672, 39673, 39674, 39675, 39676, 39677, 39678, 39679,
-    39680, 39681, 39682, 39683, 39684, 39685, 39686, 39687,
-    39688, 39689, 39690, 39691, 39692, 39693, 39694, 39695,
-    39696, 39697, 39698, 39699, 39700, 39701, 39702, 39703,
-    39704, 39705, 39706, 39707, 39708, 39709, 39710, 39711,
-    39712, 39713, 39714, 39715, 39716, 39717, 39718, 39719,
-    39720, 39721, 39722, 39723, 39724, 39725, 39726, 39727,
-    39728, 39729, 39730, 39731, 39732, 39733, 39734, 39735,
-    39736, 39737, 39738, 39739, 39740, 39741, 39742, 39743,
-    39744, 39745, 39746, 39747, 39748, 39749, 39750, 39751,
-    39752, 39753, 39754, 39755, 39756, 39757, 39758, 39759,
-    39760, 39761, 39762, 39763, 39764, 39765, 39766, 39767,
-    39768, 39769, 39770, 39771, 39772, 39773, 39774, 39775,
-    39776, 39777, 39778, 39779, 39780, 39781, 39782, 39783,
-    39784, 39785, 39786, 39787, 39788, 39789, 39790, 39791,
-    39792, 39793, 39794, 39795, 39796, 39797, 39798, 39799,
-    39800, 39801, 39802, 39803, 39804, 39805, 39806, 39807,
-    39808, 39809, 39810, 39811, 39812, 39813, 39814, 39815,
-    39816, 39817, 39818, 39819, 39820, 39821, 39822, 39823,
-    39824, 39825, 39826, 39827, 39828, 39829, 39830, 39831,
-    39832, 39833, 39834, 39835, 39836, 39837, 39838, 39839,
-    39840, 39841, 39842, 39843, 39844, 39845, 39846, 39847,
-    39848, 39849, 39850, 39851, 39852, 39853, 39854, 39855,
-    39856, 39857, 39858, 39859, 39860, 39861, 39862, 39863,
-    39864, 39865, 39866, 39867, 39868, 39869, 39870, 39871,
-    39872, 39873, 39874, 39875, 39876, 39877, 39878, 39879,
-    39880, 39881, 39882, 39883, 39884, 39885, 39886, 39887,
-    39888, 39889, 39890, 39891, 39892, 39893, 39894, 39895,
-    39896, 39897, 39898, 39899, 39900, 39901, 39902, 39903,
-    39904, 39905, 39906, 39907, 39908, 39909, 39910, 39911,
-    39912, 39913, 39914, 39915, 39916, 39917, 39918, 39919,
-    39920, 39921, 39922, 39923, 39924, 39925, 39926, 39927,
-    39928, 39929, 39930, 39931, 39932, 39933, 39934, 39935,
-    39936, 39937, 39938, 39939, 39940, 39941, 39942, 39943,
-    39944, 39945, 39946, 39947, 39948, 39949, 39950, 39951,
-    39952, 39953, 39954, 39955, 39956, 39957, 39958, 39959,
-    39960, 39961, 39962, 39963, 39964, 39965, 39966, 39967,
-    39968, 39969, 39970, 39971, 39972, 39973,    -1,    -1,
-    39974, 39975, 39976, 39977, 39978, 39979, 39980, 39981,
-    39982, 39983, 39984, 39985, 39986, 39987, 39988, 39989,
-    39990, 39991, 39992, 39993, 39994, 39995, 39996, 39997,
-    39998, 39999, 40000, 40001, 40002, 40003, 40004, 40005,
-    40006, 40007, 40008, 40009, 40010, 40011, 40012, 40013,
-    40014, 40015, 40016, 40017, 40018, 40019, 40020, 40021,
-    40022, 40023, 40024, 40025, 40026, 40027, 40028, 40029,
-    40030, 40031, 40032, 40033, 40034, 40035, 40036, 40037,
-    40038, 40039, 40040, 40041, 40042, 40043, 40044, 40045,
-    40046, 40047, 40048, 40049, 40050, 40051, 40052, 40053,
-    40054, 40055, 40056, 40057, 40058, 40059, 40060, 40061,
-    40062, 40063, 40064, 40065, 40066, 40067, 40068, 40069,
-    40070, 40071, 40072, 40073, 40074, 40075, 40076, 40077,
-    40078, 40079, 40080, 40081, 40082, 40083, 40084, 40085,
-    40086, 40087, 40088, 40089, 40090, 40091, 40092, 40093,
-    40094, 40095, 40096, 40097, 40098, 40099, 40100, 40101,
-    40102, 40103, 40104, 40105, 40106, 40107, 40108, 40109,
-    40110, 40111, 40112, 40113, 40114, 40115, 40116, 40117,
-    40118, 40119, 40120, 40121, 40122, 40123, 40124, 40125,
-    40126, 40127, 40128, 40129, 40130, 40131, 40132, 40133,
-    40134, 40135, 40136, 40137, 40138, 40139, 40140, 40141,
-    40142, 40143, 40144, 40145, 40146, 40147, 40148, 40149,
-    40150, 40151, 40152, 40153, 40154, 40155, 40156, 40157,
-    40158, 40159, 40160, 40161, 40162, 40163, 40164, 40165,
-    40166, 40167, 40168, 40169, 40170, 40171, 40172, 40173,
-    40174, 40175, 40176, 40177, 40178, 40179, 40180, 40181,
-    40182, 40183, 40184, 40185, 40186, 40187, 40188, 40189,
-    40190, 40191, 40192, 40193, 40194, 40195, 40196, 40197,
-    40198, 40199, 40200, 40201, 40202, 40203, 40204, 40205,
-    40206, 40207, 40208, 40209, 40210, 40211, 40212, 40213,
-    40214, 40215, 40216, 40217, 40218, 40219, 40220, 40221,
-    40222, 40223, 40224, 40225, 40226, 40227, 40228, 40229,
-    40230, 40231, 40232, 40233, 40234, 40235, 40236, 40237,
-    40238, 40239, 40240, 40241, 40242, 40243, 40244, 40245,
-    40246, 40247, 40248, 40249, 40250, 40251, 40252, 40253,
-    40254, 40255, 40256, 40257, 40258, 40259, 40260, 40261,
-    40262, 40263, 40264, 40265,    -1,    -1, 40266, 40267,
-    40268, 40269, 40270, 40271, 40272, 40273, 40274, 40275,
-    40276, 40277, 40278, 40279, 40280, 40281, 40282, 40283,
-    40284, 40285, 40286, 40287, 40288, 40289, 40290, 40291,
-    40292, 40293, 40294, 40295, 40296, 40297, 40298, 40299,
-    40300, 40301, 40302, 40303, 40304, 40305, 40306, 40307,
-    40308, 40309, 40310, 40311, 40312, 40313, 40314, 40315,
-     7548,  7549,  7550,  7551,  7552,  7553,  7554,  7555,
-     7556,  7557,  7558,  7559,  7560,  7561,  7562,  7563,
-     7564,  7565,  7566,  7567,  7568,  7569,  7570,  7571,
-     7572,  7573,  7574,  7575,  7576,  7577,  7578,  7579,
-     7580,  7581,  7582,  7583,  7584,  7585,  7586,  7587,
-     7588,  7589,  7590,  7591,  7592,  7593,  7594,  7595,
-     7596,  7597,  7598,  7599,  7600,  7601,  7602,  7603,
-     7604,  7605,  7606,  7607,  7608,  7609,  7610,  7611,
-     7612,  7613,  7614,  7615,  7616,  7617,  7618,  7619,
-     7620,  7621,  7622,  7623,  7624,  7625,  7626,  7627,
-     7628,  7629,  7630,  7631,  7632,  7633,  7634,  7635,
-     7636,  7637,  7638,  7639,  7640,  7641,  7642,  7643,
-     7644,  7645,  7646,  7647,  7648,  7649,  7650,  7651,
-     7652,  7653,  7654,  7655,  7656,  7657,  7658,  7659,
-     7660,  7661,  7662,  7663,  7664,  7665,  7666,  7667,
-     7668,  7669,  7670,  7671,  7672,  7673,  7674,  7675,
-     7676,  7677,  7678,  7679,  7680,  7681,  7682,  7683,
-     7684,  7685,  7686,  7687,  7688,  7689,  7690,  7691,
-     7692,  7693,  7694,  7695,  7696,  7697,  7698,  7699,
-     7700,  7701,  7702,  7703,  7704,  7705,  7706,  7707,
-     7708,  7709,  7710,  7711,  7712,  7713,  7714,  7715,
-     7716,  7717,  7718,  7719,  7720,  7721,  7722,  7723,
-     7724,  7725,  7726,  7727,  7728,  7729,  7730,  7731,
-     7732,  7733,  7734,  7735,  7736,  7737,  7738,  7739,
-     7740,  7741,  7742,  7743,  7744,  7745,  7746,  7747,
-     7748,  7749,  7750,  7751,  7752,  7753,  7754,  7755,
-     7756,  7757,  7758,  7759,  7760,  7761,  7762,  7763,
+    39346, 39347, 39348, 39349, 39350, 39351, 39352, 39353,
+    39354, 39355, 39356, 39357, 39358, 39359, 39360, 39361,
+    39362, 39363, 39364, 39365, 39366, 39367, 39368, 39369,
+    39370, 39371, 39372, 39373, 39374, 39375, 39376, 39377,
+    39378, 39379, 39380, 39381, 39382, 39383, 39384, 39385,
+    39386, 39387, 39388, 39389, 39390, 39391, 39392, 39393,
+    39394, 39395, 39396, 39397, 39398, 39399, 39400, 39401,
+    39402, 39403, 39404, 39405, 39406, 39407, 39408, 39409,
+    39410, 39411, 39412, 39413, 39414, 39415, 39416, 39417,
+    39418, 39419, 39420, 39421, 39422, 39423, 39424, 39425,
+    39426, 39427, 39428, 39429, 39430,    -1, 39431, 39432,
+    39433, 39434, 39435, 39436, 39437, 39438, 39439, 39440,
+    39441, 39442, 39443, 39444, 39445, 39446, 39447, 39448,
+    39449, 39450, 39451, 39452, 39453, 39454, 39455, 39456,
+    39457, 39458, 39459, 39460, 39461, 39462, 39463, 39464,
+    39465, 39466, 39467, 39468, 39469, 39470, 39471, 39472,
+    39473, 39474, 39475, 39476, 39477, 39478, 39479, 39480,
+    39481, 39482, 39483, 39484, 39485, 39486, 39487, 39488,
+    39489, 39490, 39491, 39492, 39493, 39494, 39495, 39496,
+    39497, 39498, 39499, 39500, 39501,    -1, 39502, 39503,
+       -1,    -1, 39504,    -1,    -1, 39505, 39506,    -1,
+       -1, 39507, 39508, 39509, 39510,    -1, 39511, 39512,
+    39513, 39514, 39515, 39516, 39517, 39518, 39519, 39520,
+    39521, 39522,    -1, 39523,    -1, 39524, 39525, 39526,
+    39527, 39528, 39529, 39530,    -1, 39531, 39532, 39533,
+    39534, 39535, 39536, 39537, 39538, 39539, 39540, 39541,
+    39542, 39543, 39544, 39545, 39546, 39547, 39548, 39549,
+    39550, 39551, 39552, 39553, 39554, 39555, 39556, 39557,
+    39558, 39559, 39560, 39561, 39562, 39563, 39564, 39565,
+    39566, 39567, 39568, 39569, 39570, 39571, 39572, 39573,
+    39574, 39575, 39576, 39577, 39578, 39579, 39580, 39581,
+    39582, 39583, 39584, 39585, 39586, 39587, 39588, 39589,
+    39590, 39591, 39592, 39593, 39594, 39595,    -1, 39596,
+    39597, 39598, 39599,    -1,    -1, 39600, 39601, 39602,
+    39603, 39604, 39605, 39606, 39607,    -1, 39608, 39609,
+    39610, 39611, 39612, 39613, 39614,    -1, 39615, 39616,
+    39617, 39618, 39619, 39620, 39621, 39622, 39623, 39624,
+    39625, 39626, 39627, 39628, 39629, 39630, 39631, 39632,
+    39633, 39634, 39635, 39636, 39637, 39638, 39639, 39640,
+    39641, 39642,    -1, 39643, 39644, 39645, 39646,    -1,
+    39647, 39648, 39649, 39650, 39651,    -1, 39652,    -1,
+       -1,    -1, 39653, 39654, 39655, 39656, 39657, 39658,
+    39659,    -1, 39660, 39661, 39662, 39663, 39664, 39665,
+    39666, 39667, 39668, 39669, 39670, 39671, 39672, 39673,
+    39674, 39675, 39676, 39677, 39678, 39679, 39680, 39681,
+    39682, 39683, 39684, 39685, 39686, 39687, 39688, 39689,
+    39690, 39691, 39692, 39693, 39694, 39695, 39696, 39697,
+    39698, 39699, 39700, 39701, 39702, 39703, 39704, 39705,
+    39706, 39707, 39708, 39709, 39710, 39711, 39712, 39713,
+    39714, 39715, 39716, 39717, 39718, 39719, 39720, 39721,
+    39722, 39723, 39724, 39725, 39726, 39727, 39728, 39729,
+    39730, 39731, 39732, 39733, 39734, 39735, 39736, 39737,
+    39738, 39739, 39740, 39741, 39742, 39743, 39744, 39745,
+    39746, 39747, 39748, 39749, 39750, 39751, 39752, 39753,
+    39754, 39755, 39756, 39757, 39758, 39759, 39760, 39761,
+    39762, 39763, 39764, 39765, 39766, 39767, 39768, 39769,
+    39770, 39771, 39772, 39773, 39774, 39775, 39776, 39777,
+    39778, 39779, 39780, 39781, 39782, 39783, 39784, 39785,
+    39786, 39787, 39788, 39789, 39790, 39791, 39792, 39793,
+    39794, 39795, 39796, 39797, 39798, 39799, 39800, 39801,
+    39802, 39803, 39804, 39805, 39806, 39807, 39808, 39809,
+    39810, 39811, 39812, 39813, 39814, 39815, 39816, 39817,
+    39818, 39819, 39820, 39821, 39822, 39823, 39824, 39825,
+    39826, 39827, 39828, 39829, 39830, 39831, 39832, 39833,
+    39834, 39835, 39836, 39837, 39838, 39839, 39840, 39841,
+    39842, 39843, 39844, 39845, 39846, 39847, 39848, 39849,
+    39850, 39851, 39852, 39853, 39854, 39855, 39856, 39857,
+    39858, 39859, 39860, 39861, 39862, 39863, 39864, 39865,
+    39866, 39867, 39868, 39869, 39870, 39871, 39872, 39873,
+    39874, 39875, 39876, 39877, 39878, 39879, 39880, 39881,
+    39882, 39883, 39884, 39885, 39886, 39887, 39888, 39889,
+    39890, 39891, 39892, 39893, 39894, 39895, 39896, 39897,
+    39898, 39899, 39900, 39901, 39902, 39903, 39904, 39905,
+    39906, 39907, 39908, 39909, 39910, 39911, 39912, 39913,
+    39914, 39915, 39916, 39917, 39918, 39919, 39920, 39921,
+    39922, 39923, 39924, 39925, 39926, 39927, 39928, 39929,
+    39930, 39931, 39932, 39933, 39934, 39935, 39936, 39937,
+    39938, 39939, 39940, 39941, 39942, 39943, 39944, 39945,
+    39946, 39947, 39948, 39949, 39950, 39951, 39952, 39953,
+    39954, 39955, 39956, 39957, 39958, 39959, 39960, 39961,
+    39962, 39963, 39964, 39965, 39966, 39967, 39968, 39969,
+    39970, 39971, 39972, 39973, 39974, 39975, 39976, 39977,
+    39978, 39979, 39980, 39981, 39982, 39983, 39984, 39985,
+    39986, 39987, 39988, 39989, 39990, 39991, 39992, 39993,
+    39994, 39995, 39996, 39997, 39998, 39999,    -1,    -1,
+    40000, 40001, 40002, 40003, 40004, 40005, 40006, 40007,
+    40008, 40009, 40010, 40011, 40012, 40013, 40014, 40015,
+    40016, 40017, 40018, 40019, 40020, 40021, 40022, 40023,
+    40024, 40025, 40026, 40027, 40028, 40029, 40030, 40031,
+    40032, 40033, 40034, 40035, 40036, 40037, 40038, 40039,
+    40040, 40041, 40042, 40043, 40044, 40045, 40046, 40047,
+    40048, 40049, 40050, 40051, 40052, 40053, 40054, 40055,
+    40056, 40057, 40058, 40059, 40060, 40061, 40062, 40063,
+    40064, 40065, 40066, 40067, 40068, 40069, 40070, 40071,
+    40072, 40073, 40074, 40075, 40076, 40077, 40078, 40079,
+    40080, 40081, 40082, 40083, 40084, 40085, 40086, 40087,
+    40088, 40089, 40090, 40091, 40092, 40093, 40094, 40095,
+    40096, 40097, 40098, 40099, 40100, 40101, 40102, 40103,
+    40104, 40105, 40106, 40107, 40108, 40109, 40110, 40111,
+    40112, 40113, 40114, 40115, 40116, 40117, 40118, 40119,
+    40120, 40121, 40122, 40123, 40124, 40125, 40126, 40127,
+    40128, 40129, 40130, 40131, 40132, 40133, 40134, 40135,
+    40136, 40137, 40138, 40139, 40140, 40141, 40142, 40143,
+    40144, 40145, 40146, 40147, 40148, 40149, 40150, 40151,
+    40152, 40153, 40154, 40155, 40156, 40157, 40158, 40159,
+    40160, 40161, 40162, 40163, 40164, 40165, 40166, 40167,
+    40168, 40169, 40170, 40171, 40172, 40173, 40174, 40175,
+    40176, 40177, 40178, 40179, 40180, 40181, 40182, 40183,
+    40184, 40185, 40186, 40187, 40188, 40189, 40190, 40191,
+    40192, 40193, 40194, 40195, 40196, 40197, 40198, 40199,
+    40200, 40201, 40202, 40203, 40204, 40205, 40206, 40207,
+    40208, 40209, 40210, 40211, 40212, 40213, 40214, 40215,
+    40216, 40217, 40218, 40219, 40220, 40221, 40222, 40223,
+    40224, 40225, 40226, 40227, 40228, 40229, 40230, 40231,
+    40232, 40233, 40234, 40235, 40236, 40237, 40238, 40239,
+    40240, 40241, 40242, 40243, 40244, 40245, 40246, 40247,
+    40248, 40249, 40250, 40251, 40252, 40253, 40254, 40255,
+    40256, 40257, 40258, 40259, 40260, 40261, 40262, 40263,
+    40264, 40265, 40266, 40267, 40268, 40269, 40270, 40271,
+    40272, 40273, 40274, 40275, 40276, 40277, 40278, 40279,
+    40280, 40281, 40282, 40283, 40284, 40285, 40286, 40287,
+    40288, 40289, 40290, 40291,    -1,    -1, 40292, 40293,
+    40294, 40295, 40296, 40297, 40298, 40299, 40300, 40301,
+    40302, 40303, 40304, 40305, 40306, 40307, 40308, 40309,
+    40310, 40311, 40312, 40313, 40314, 40315, 40316, 40317,
+    40318, 40319, 40320, 40321, 40322, 40323, 40324, 40325,
+    40326, 40327, 40328, 40329, 40330, 40331, 40332, 40333,
+    40334, 40335, 40336, 40337, 40338, 40339, 40340, 40341,
+    40342, 40344, 40346, 40348, 40350, 40352, 40354, 40356,
+    40358, 40360, 40362,    -1,    -1,    -1,    -1,    -1,
+    40364, 40367, 40370, 40373, 40376, 40379, 40382, 40385,
+    40388, 40391, 40394, 40397, 40400, 40403, 40406, 40409,
+    40412, 40415, 40418, 40421, 40424, 40427, 40430, 40433,
+    40436, 40439, 40442, 40445, 40446, 40447, 40449,    -1,
+       -1, 40451,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1, 40452,    -1, 40453,
+       -1,    -1, 40454,    -1,    -1,    -1, 40455,    -1,
+       -1,    -1, 40456, 40458, 40460, 40462, 40464,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+    40467,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+    40469,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+    40471, 40472, 40473, 40474, 40475, 40476, 40477, 40478,
+    40479, 40480, 40481, 40482, 40483, 40484, 40485, 40486,
+    40487, 40488, 40489, 40490, 40491, 40492, 40493, 40494,
+    40495, 40496, 40497, 40498, 40499, 40500, 40501, 40502,
+    40503, 40504,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+    40505, 40508, 40511, 40514, 40517, 40520, 40523, 40526,
+    40529,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      7764,  7765,  7766,  7767,  7768,  7769,  7770,  7771,
      7772,  7773,  7774,  7775,  7776,  7777,  7778,  7779,
      7780,  7781,  7782,  7783,  7784,  7785,  7786,  7787,
@@ -3147,6 +3218,33 @@
      8060,  8061,  8062,  8063,  8064,  8065,  8066,  8067,
      8068,  8069,  8070,  8071,  8072,  8073,  8074,  8075,
      8076,  8077,  8078,  8079,  8080,  8081,  8082,  8083,
-     8084,  8085,  8086,  8087,  8088,  8089,    -1,    -1
+     8084,  8085,  8086,  8087,  8088,  8089,  8090,  8091,
+     8092,  8093,  8094,  8095,  8096,  8097,  8098,  8099,
+     8100,  8101,  8102,  8103,  8104,  8105,  8106,  8107,
+     8108,  8109,  8110,  8111,  8112,  8113,  8114,  8115,
+     8116,  8117,  8118,  8119,  8120,  8121,  8122,  8123,
+     8124,  8125,  8126,  8127,  8128,  8129,  8130,  8131,
+     8132,  8133,  8134,  8135,  8136,  8137,  8138,  8139,
+     8140,  8141,  8142,  8143,  8144,  8145,  8146,  8147,
+     8148,  8149,  8150,  8151,  8152,  8153,  8154,  8155,
+     8156,  8157,  8158,  8159,  8160,  8161,  8162,  8163,
+     8164,  8165,  8166,  8167,  8168,  8169,  8170,  8171,
+     8172,  8173,  8174,  8175,  8176,  8177,  8178,  8179,
+     8180,  8181,  8182,  8183,  8184,  8185,  8186,  8187,
+     8188,  8189,  8190,  8191,  8192,  8193,  8194,  8195,
+     8196,  8197,  8198,  8199,  8200,  8201,  8202,  8203,
+     8204,  8205,  8206,  8207,  8208,  8209,  8210,  8211,
+     8212,  8213,  8214,  8215,  8216,  8217,  8218,  8219,
+     8220,  8221,  8222,  8223,  8224,  8225,  8226,  8227,
+     8228,  8229,  8230,  8231,  8232,  8233,  8234,  8235,
+     8236,  8237,  8238,  8239,  8240,  8241,  8242,  8243,
+     8244,  8245,  8246,  8247,  8248,  8249,  8250,  8251,
+     8252,  8253,  8254,  8255,  8256,  8257,  8258,  8259,
+     8260,  8261,  8262,  8263,  8264,  8265,  8266,  8267,
+     8268,  8269,  8270,  8271,  8272,  8273,  8274,  8275,
+     8276,  8277,  8278,  8279,  8280,  8281,  8282,  8283,
+     8284,  8285,  8286,  8287,  8288,  8289,  8290,  8291,
+     8292,  8293,  8294,  8295,  8296,  8297,  8298,  8299,
+     8300,  8301,  8302,  8303,  8304,  8305,    -1,    -1
   }
 };
--- a/lib/uniwbrk/wbrkprop.h
+++ b/lib/uniwbrk/wbrkprop.h
@@ -1,8 +1,8 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Line breaking properties of Unicode characters.  */
-/* Generated automatically by gen-uni-tables for Unicode 5.1.0.  */
+/* Generated automatically by gen-uni-tables for Unicode 5.2.0.  */
 
-/* Copyright (C) 2000-2002, 2004, 2007-2010 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2002, 2004, 2007-2009 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -27,7 +27,7 @@
   {
     int level1[15];
     int level2[3 << 9];
-    unsigned char level3[110 << 7];
+    unsigned char level3[118 << 7];
   }
 wbrkprop_t;
 static const wbrkprop_t uniwbrkprop =
@@ -39,17 +39,17 @@
   {
         0,   128,   256,   256,   256,   384,   512,   640,
       256,   768,   896,  1024,  1152,  1280,  1408,  1536,
-       -1,    -1,  1664,  1792,  1920,  2048,  2176,  2304,
-     2432,  2560,  2688,  2816,  2944,  3072,  3200,  3328,
-     3456,  3584,  3712,  3840,  3968,  4096,  4224,  4352,
-     4480,   256,   256,   256,  4608,  4736,  4864,  4992,
-     5120,  5248,  5376,  5504,  5632,    -1,  5760,  5888,
-     6016,    -1,   256,  6144,   256,   256,  6272,  6400,
-     6528,  6656,  6784,  6912,    -1,    -1,    -1,    -1,
-       -1,  7040,    -1,    -1,    -1,    -1,    -1,    -1,
+     1664,    -1,  1792,  1920,  2048,  2176,  2304,  2432,
+     2560,  2688,  2816,  2944,  3072,  3200,  3328,  3456,
+     3584,  3712,   256,   256,  3840,  3968,  4096,  4224,
+     4352,   256,   256,   256,  4480,  4608,  4736,  4864,
+     4992,  5120,  5248,  5376,  5504,  5632,  5760,  5888,
+     6016,  6144,   256,  6272,   256,   256,  6400,  6528,
+     6656,  6784,  6912,  7040,    -1,    -1,    -1,    -1,
+       -1,  7168,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-     7168,  7296,  7424,  7552,  7680,    -1,    -1,    -1,
-     7808,  7936,  8064,  8192,    -1,  8320,  8448,    -1,
+     7296,  7424,  7552,  7680,  7808,    -1,    -1,    -1,
+     7936,  8064,  8192,  8320,    -1,  8448,  8576,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
@@ -78,8 +78,8 @@
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
       256,   256,   256,   256,   256,   256,   256,   256,
-      256,  8576,   256,   256,  8704,  8832,  8960,  9088,
-     9216,  9344,  9472,    -1,  9600,    -1,    -1,    -1,
+      256,  8704,   256,   256,  8832,  8960,  9088,  9216,
+     9344,  9472,  9600,  9728,  9856,  9984,    -1, 10112,
       256,   256,   256,   256,   256,   256,   256,   256,
       256,   256,   256,   256,   256,   256,   256,   256,
       256,   256,   256,   256,   256,   256,   256,   256,
@@ -90,7 +90,7 @@
       256,   256,   256,   256,   256,   256,   256,   256,
       256,   256,   256,   256,   256,   256,   256,   256,
       256,   256,   256,   256,   256,   256,   256,   256,
-      256,   256,   256,   256,   256,   256,   256,  9728,
+      256,   256,   256,   256,   256,   256,   256, 10240,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
@@ -99,18 +99,22 @@
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,    -1,    -1,    -1,    -1,  9856,  9984,
-      256,   256, 10112, 10240, 10368, 10496, 10624, 10752,
-    10880, 11008, 11136, 11264,    -1, 11392, 11520, 11648,
-      256, 11776,    -1,    -1,    -1,    -1,    -1,    -1,
-    11904,    -1, 12032,    -1, 12160,    -1,    -1,    -1,
+       -1,    -1,    -1,    -1,    -1,    -1, 10368, 10496,
+      256,   256, 10624, 10752, 10880, 11008, 11136, 11264,
+    11392, 11520, 11648, 11776,    -1, 11904, 12032, 12160,
+      256, 12288,    -1,    -1,    -1,    -1,    -1,    -1,
+    12416,    -1, 12544,    -1, 12672,    -1, 12800,    -1,
+    12928,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       -1, 13056,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      256,   256,   256,   256,   256,   256, 13184,    -1,
+    13312,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      256,   256,   256,   256,   256,   256, 12288,    -1,
-    12416,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      256,   256,   256,   256,   256,   256,   256,   256,
+    13440,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
@@ -149,12 +153,8 @@
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1, 12544, 12672, 12800,    -1,    -1,    -1,
-    12928, 13056, 13184,   256,   256, 13312, 13440, 13568,
+       -1,    -1, 13568, 13696, 13824,    -1,    -1,    -1,
+    13952, 14080, 14208,   256,   256, 14336, 14464, 14592,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
@@ -165,7 +165,7 @@
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    13696,    -1, 13824, 13952,    -1,    -1,    -1,    -1,
+    14720,    -1, 14848, 14976,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
@@ -464,7 +464,7 @@
     WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
     WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
     WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
-    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_ALETTER, WBP_ALETTER, WBP_OTHER, WBP_OTHER,
     WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
     WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
     WBP_OTHER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
@@ -647,7 +647,39 @@
     WBP_ALETTER, WBP_ALETTER, WBP_OTHER, WBP_OTHER,
     WBP_MIDNUM, WBP_OTHER, WBP_ALETTER, WBP_OTHER,
     WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
-    WBP_OTHER, WBP_EXTEND, WBP_EXTEND, WBP_EXTEND,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_EXTEND, WBP_EXTEND,
+    WBP_EXTEND, WBP_EXTEND, WBP_ALETTER, WBP_EXTEND,
+    WBP_EXTEND, WBP_EXTEND, WBP_EXTEND, WBP_EXTEND,
+    WBP_EXTEND, WBP_EXTEND, WBP_EXTEND, WBP_EXTEND,
+    WBP_ALETTER, WBP_EXTEND, WBP_EXTEND, WBP_EXTEND,
+    WBP_ALETTER, WBP_EXTEND, WBP_EXTEND, WBP_EXTEND,
+    WBP_EXTEND, WBP_EXTEND, WBP_OTHER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_EXTEND, WBP_EXTEND, WBP_EXTEND, WBP_EXTEND,
     WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
     WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
     WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
@@ -666,9 +698,9 @@
     WBP_EXTEND, WBP_EXTEND, WBP_EXTEND, WBP_EXTEND,
     WBP_EXTEND, WBP_EXTEND, WBP_EXTEND, WBP_EXTEND,
     WBP_EXTEND, WBP_EXTEND, WBP_EXTEND, WBP_EXTEND,
-    WBP_EXTEND, WBP_EXTEND, WBP_OTHER, WBP_OTHER,
+    WBP_EXTEND, WBP_EXTEND, WBP_EXTEND, WBP_OTHER,
     WBP_ALETTER, WBP_EXTEND, WBP_EXTEND, WBP_EXTEND,
-    WBP_EXTEND, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_EXTEND, WBP_EXTEND, WBP_OTHER, WBP_OTHER,
     WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
     WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
     WBP_ALETTER, WBP_ALETTER, WBP_EXTEND, WBP_EXTEND,
@@ -677,7 +709,7 @@
     WBP_NUMERIC, WBP_NUMERIC, WBP_NUMERIC, WBP_NUMERIC,
     WBP_OTHER, WBP_ALETTER, WBP_ALETTER, WBP_OTHER,
     WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
-    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_ALETTER,
+    WBP_OTHER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
     WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
     WBP_OTHER, WBP_EXTEND, WBP_EXTEND, WBP_EXTEND,
     WBP_OTHER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
@@ -1133,8 +1165,8 @@
     WBP_EXTEND, WBP_EXTEND, WBP_OTHER, WBP_EXTEND,
     WBP_NUMERIC, WBP_NUMERIC, WBP_NUMERIC, WBP_NUMERIC,
     WBP_NUMERIC, WBP_NUMERIC, WBP_NUMERIC, WBP_NUMERIC,
-    WBP_NUMERIC, WBP_NUMERIC, WBP_OTHER, WBP_OTHER,
-    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_NUMERIC, WBP_NUMERIC, WBP_EXTEND, WBP_EXTEND,
+    WBP_EXTEND, WBP_EXTEND, WBP_OTHER, WBP_OTHER,
     WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
     WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
     WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
@@ -1177,70 +1209,6 @@
     WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
     WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
     WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
-    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
-    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
-    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
-    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
-    WBP_ALETTER, WBP_ALETTER, WBP_OTHER, WBP_OTHER,
-    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_ALETTER,
-    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
-    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
-    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
-    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
-    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
-    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
-    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
-    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
-    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
-    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
-    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
-    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
-    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
-    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
-    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
-    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
-    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_OTHER,
-    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
-    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
-    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
-    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
-    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
-    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
-    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
-    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
-    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
-    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
-    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
-    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
-    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
-    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
-    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
-    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
-    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
-    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
-    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
-    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
-    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
-    WBP_ALETTER, WBP_ALETTER, WBP_OTHER, WBP_OTHER,
-    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
-    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
-    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
-    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
-    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
-    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
-    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
-    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
-    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
-    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
-    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
-    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
-    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
-    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
-    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
-    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
-    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
-    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
-    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
     WBP_ALETTER, WBP_OTHER, WBP_ALETTER, WBP_ALETTER,
     WBP_ALETTER, WBP_ALETTER, WBP_OTHER, WBP_OTHER,
     WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
@@ -1412,9 +1380,9 @@
     WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
     WBP_ALETTER, WBP_OTHER, WBP_OTHER, WBP_ALETTER,
     WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
-    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_OTHER,
-    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
-    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
     WBP_OTHER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
     WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
     WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
@@ -1555,24 +1523,24 @@
     WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
     WBP_ALETTER, WBP_EXTEND, WBP_ALETTER, WBP_OTHER,
     WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
-    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
-    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
-    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
-    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
-    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
-    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
-    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
-    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
-    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
-    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
-    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
-    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
-    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
-    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
-    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
-    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
-    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
-    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_OTHER, WBP_OTHER,
     WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
     WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
     WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
@@ -1629,7 +1597,7 @@
     WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
     WBP_NUMERIC, WBP_NUMERIC, WBP_NUMERIC, WBP_NUMERIC,
     WBP_NUMERIC, WBP_NUMERIC, WBP_NUMERIC, WBP_NUMERIC,
-    WBP_NUMERIC, WBP_NUMERIC, WBP_OTHER, WBP_OTHER,
+    WBP_NUMERIC, WBP_NUMERIC, WBP_NUMERIC, WBP_OTHER,
     WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
     WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
     WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
@@ -1660,6 +1628,38 @@
     WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
     WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
     WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_OTHER, WBP_EXTEND, WBP_EXTEND, WBP_EXTEND,
+    WBP_EXTEND, WBP_EXTEND, WBP_EXTEND, WBP_EXTEND,
+    WBP_EXTEND, WBP_EXTEND, WBP_EXTEND, WBP_OTHER,
+    WBP_EXTEND, WBP_EXTEND, WBP_EXTEND, WBP_EXTEND,
+    WBP_EXTEND, WBP_EXTEND, WBP_EXTEND, WBP_EXTEND,
+    WBP_EXTEND, WBP_EXTEND, WBP_EXTEND, WBP_EXTEND,
+    WBP_EXTEND, WBP_EXTEND, WBP_EXTEND, WBP_EXTEND,
+    WBP_EXTEND, WBP_EXTEND, WBP_EXTEND, WBP_EXTEND,
+    WBP_EXTEND, WBP_EXTEND, WBP_EXTEND, WBP_EXTEND,
+    WBP_EXTEND, WBP_EXTEND, WBP_EXTEND, WBP_EXTEND,
+    WBP_EXTEND, WBP_OTHER, WBP_OTHER, WBP_EXTEND,
+    WBP_NUMERIC, WBP_NUMERIC, WBP_NUMERIC, WBP_NUMERIC,
+    WBP_NUMERIC, WBP_NUMERIC, WBP_NUMERIC, WBP_NUMERIC,
+    WBP_NUMERIC, WBP_NUMERIC, WBP_OTHER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_NUMERIC, WBP_NUMERIC, WBP_NUMERIC, WBP_NUMERIC,
+    WBP_NUMERIC, WBP_NUMERIC, WBP_NUMERIC, WBP_NUMERIC,
+    WBP_NUMERIC, WBP_NUMERIC, WBP_OTHER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
     WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
     WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
     WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
@@ -1767,6 +1767,38 @@
     WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
     WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
     WBP_ALETTER, WBP_ALETTER, WBP_OTHER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_EXTEND, WBP_EXTEND, WBP_EXTEND, WBP_OTHER,
+    WBP_EXTEND, WBP_EXTEND, WBP_EXTEND, WBP_EXTEND,
+    WBP_EXTEND, WBP_EXTEND, WBP_EXTEND, WBP_EXTEND,
+    WBP_EXTEND, WBP_EXTEND, WBP_EXTEND, WBP_EXTEND,
+    WBP_EXTEND, WBP_EXTEND, WBP_EXTEND, WBP_EXTEND,
+    WBP_EXTEND, WBP_EXTEND, WBP_EXTEND, WBP_EXTEND,
+    WBP_EXTEND, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_EXTEND, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_EXTEND, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
     WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
     WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
     WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
@@ -1798,7 +1830,7 @@
     WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
     WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
     WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
-    WBP_OTHER, WBP_OTHER, WBP_EXTEND, WBP_EXTEND,
+    WBP_OTHER, WBP_EXTEND, WBP_EXTEND, WBP_EXTEND,
     WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
     WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
     WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
@@ -1865,7 +1897,7 @@
     WBP_ALETTER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
     WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
     WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
-    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_FORMAT,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
     WBP_EXTEND, WBP_EXTEND, WBP_FORMAT, WBP_FORMAT,
     WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
     WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
@@ -2051,10 +2083,10 @@
     WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
     WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
     WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
-    WBP_OTHER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
-    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
-    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
-    WBP_ALETTER, WBP_ALETTER, WBP_OTHER, WBP_OTHER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
     WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
     WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
     WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
@@ -2081,9 +2113,9 @@
     WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
     WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
     WBP_ALETTER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
-    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
-    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
-    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_EXTEND,
+    WBP_EXTEND, WBP_EXTEND, WBP_OTHER, WBP_OTHER,
     WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
     WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
     WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
@@ -2395,18 +2427,18 @@
     WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
     WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
     WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
-    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
-    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
-    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
-    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
-    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
-    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
-    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
-    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
-    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
-    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
-    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
-    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_OTHER, WBP_OTHER,
     WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
     WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
     WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
@@ -2447,27 +2479,27 @@
     WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
     WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
     WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
-    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
-    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
-    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
-    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
-    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
-    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
-    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
-    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
-    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
-    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
-    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
-    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
-    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
-    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
-    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
-    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
-    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
-    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
-    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
-    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
-    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_EXTEND, WBP_EXTEND, WBP_OTHER, WBP_OTHER,
     WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
     WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
     WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
@@ -2591,13 +2623,13 @@
     WBP_NUMERIC, WBP_NUMERIC, WBP_NUMERIC, WBP_NUMERIC,
     WBP_NUMERIC, WBP_NUMERIC, WBP_OTHER, WBP_OTHER,
     WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
-    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
-    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
-    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
-    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
-    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
-    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
-    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_EXTEND, WBP_EXTEND, WBP_EXTEND, WBP_EXTEND,
+    WBP_EXTEND, WBP_EXTEND, WBP_EXTEND, WBP_EXTEND,
+    WBP_EXTEND, WBP_EXTEND, WBP_EXTEND, WBP_EXTEND,
+    WBP_EXTEND, WBP_EXTEND, WBP_EXTEND, WBP_EXTEND,
+    WBP_EXTEND, WBP_EXTEND, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_ALETTER,
     WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
     WBP_NUMERIC, WBP_NUMERIC, WBP_NUMERIC, WBP_NUMERIC,
     WBP_NUMERIC, WBP_NUMERIC, WBP_NUMERIC, WBP_NUMERIC,
@@ -2623,6 +2655,38 @@
     WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
     WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
     WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_EXTEND, WBP_EXTEND, WBP_EXTEND, WBP_EXTEND,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_EXTEND,
+    WBP_EXTEND, WBP_EXTEND, WBP_EXTEND, WBP_EXTEND,
+    WBP_EXTEND, WBP_EXTEND, WBP_EXTEND, WBP_EXTEND,
+    WBP_EXTEND, WBP_EXTEND, WBP_EXTEND, WBP_EXTEND,
+    WBP_EXTEND, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_ALETTER,
+    WBP_NUMERIC, WBP_NUMERIC, WBP_NUMERIC, WBP_NUMERIC,
+    WBP_NUMERIC, WBP_NUMERIC, WBP_NUMERIC, WBP_NUMERIC,
+    WBP_NUMERIC, WBP_NUMERIC, WBP_OTHER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
     WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
     WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
     WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
@@ -2661,39 +2725,103 @@
     WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
     WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
     WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
-    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
-    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
-    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
-    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
-    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
-    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
-    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
-    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
-    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
-    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
-    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
-    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
-    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
-    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
-    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
-    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
-    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
-    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
-    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
-    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
-    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
-    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
-    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
-    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
-    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
-    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
-    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
-    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
-    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
-    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
-    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
-    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
-    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_EXTEND,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_EXTEND, WBP_OTHER, WBP_EXTEND, WBP_EXTEND,
+    WBP_EXTEND, WBP_OTHER, WBP_OTHER, WBP_EXTEND,
+    WBP_EXTEND, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_EXTEND, WBP_EXTEND,
+    WBP_OTHER, WBP_EXTEND, WBP_OTHER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_EXTEND,
+    WBP_EXTEND, WBP_EXTEND, WBP_EXTEND, WBP_EXTEND,
+    WBP_EXTEND, WBP_EXTEND, WBP_EXTEND, WBP_OTHER,
+    WBP_EXTEND, WBP_EXTEND, WBP_OTHER, WBP_OTHER,
+    WBP_NUMERIC, WBP_NUMERIC, WBP_NUMERIC, WBP_NUMERIC,
+    WBP_NUMERIC, WBP_NUMERIC, WBP_NUMERIC, WBP_NUMERIC,
+    WBP_NUMERIC, WBP_NUMERIC, WBP_OTHER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
     WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
     WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
     WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_OTHER,
@@ -3223,12 +3351,12 @@
     WBP_ALETTER, WBP_ALETTER, WBP_OTHER, WBP_ALETTER,
     WBP_ALETTER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
     WBP_ALETTER, WBP_OTHER, WBP_OTHER, WBP_ALETTER,
-    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
-    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
-    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
-    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
-    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
-    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_OTHER, WBP_OTHER,
     WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
     WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
     WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
@@ -3295,6 +3423,102 @@
     WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
     WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
     WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_OTHER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_OTHER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_EXTEND, WBP_EXTEND, WBP_EXTEND, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_EXTEND, WBP_EXTEND, WBP_EXTEND, WBP_EXTEND,
+    WBP_EXTEND, WBP_EXTEND, WBP_EXTEND, WBP_EXTEND,
+    WBP_EXTEND, WBP_EXTEND, WBP_EXTEND, WBP_OTHER,
+    WBP_OTHER, WBP_FORMAT, WBP_OTHER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
     WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
     WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
     WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
@@ -3367,6 +3591,38 @@
     WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
     WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
     WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_ALETTER,
+    WBP_ALETTER, WBP_ALETTER, WBP_ALETTER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
+    WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
     WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
     WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
     WBP_OTHER, WBP_OTHER, WBP_OTHER, WBP_OTHER,
--- a/lib/uniwidth/width.c
+++ b/lib/uniwidth/width.c
@@ -32,7 +32,7 @@
  * - Zero width characters; generated from
  *   "grep '^[^;]*;ZERO WIDTH ' UnicodeData.txt"
  */
-static const unsigned char nonspacing_table_data[26*64] = {
+static const unsigned char nonspacing_table_data[27*64] = {
   /* 0x0000-0x01ff */
   0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, /* 0x0000-0x003f */
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, /* 0x0040-0x007f */
@@ -70,12 +70,12 @@
   0x00, 0x00, 0x00, 0x00, 0xc0, 0xff, 0x01, 0x00, /* 0x0780-0x07bf */
   0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x0f, 0x00, /* 0x07c0-0x07ff */
   /* 0x0800-0x09ff */
-  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0800-0x083f */
+  0x00, 0x00, 0xc0, 0xfb, 0xef, 0x3e, 0x00, 0x00, /* 0x0800-0x083f */
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0840-0x087f */
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0880-0x08bf */
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x08c0-0x08ff */
-  0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, /* 0x0900-0x093f */
-  0xfe, 0x21, 0x1e, 0x00, 0x0c, 0x00, 0x00, 0x00, /* 0x0940-0x097f */
+  0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, /* 0x0900-0x093f */
+  0xfe, 0x21, 0x3e, 0x00, 0x0c, 0x00, 0x00, 0x00, /* 0x0940-0x097f */
   0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, /* 0x0980-0x09bf */
   0x1e, 0x20, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, /* 0x09c0-0x09ff */
   /* 0x0a00-0x0bff */
@@ -108,7 +108,7 @@
   /* 0x1000-0x11ff */
   0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xfd, 0x66, /* 0x1000-0x103f */
   0x00, 0x00, 0x00, 0xc3, 0x01, 0x00, 0x1e, 0x00, /* 0x1040-0x107f */
-  0x64, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1080-0x10bf */
+  0x64, 0x20, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, /* 0x1080-0x10bf */
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10c0-0x10ff */
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1100-0x113f */
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1140-0x117f */
@@ -143,7 +143,7 @@
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x19c0-0x19ff */
   /* 0x1a00-0x1bff */
   0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x00, 0x00, /* 0x1a00-0x1a3f */
-  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1a40-0x1a7f */
+  0x00, 0x00, 0x40, 0x7f, 0xe5, 0x1f, 0xf8, 0x9f, /* 0x1a40-0x1a7f */
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1a80-0x1abf */
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1ac0-0x1aff */
   0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0xd0, 0x17, /* 0x1b00-0x1b3f */
@@ -154,11 +154,11 @@
   0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xcf, 0x00, /* 0x1c00-0x1c3f */
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1c40-0x1c7f */
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1c80-0x1cbf */
-  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1cc0-0x1cff */
+  0x00, 0x00, 0xf7, 0xff, 0xfd, 0x21, 0x00, 0x00, /* 0x1cc0-0x1cff */
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1d00-0x1d3f */
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1d40-0x1d7f */
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1d80-0x1dbf */
-  0xff, 0xff, 0xff, 0xff, 0x7f, 0x00, 0x00, 0xc0, /* 0x1dc0-0x1dff */
+  0xff, 0xff, 0xff, 0xff, 0x7f, 0x00, 0x00, 0xe0, /* 0x1dc0-0x1dff */
   /* 0x2000-0x21ff */
   0x00, 0xf8, 0x00, 0x00, 0x00, 0x7c, 0x00, 0x00, /* 0x2000-0x203f */
   0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00, 0x00, /* 0x2040-0x207f */
@@ -172,7 +172,7 @@
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x2c00-0x2c3f */
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x2c40-0x2c7f */
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x2c80-0x2cbf */
-  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x2cc0-0x2cff */
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x03, 0x00, /* 0x2cc0-0x2cff */
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x2d00-0x2d3f */
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x2d40-0x2d7f */
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x2d80-0x2dbf */
@@ -190,7 +190,7 @@
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xa600-0xa63f */
   0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x07, 0x30, /* 0xa640-0xa67f */
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xa680-0xa6bf */
-  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xa6c0-0xa6ff */
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, /* 0xa6c0-0xa6ff */
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xa700-0xa73f */
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xa740-0xa77f */
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xa780-0xa7bf */
@@ -199,20 +199,20 @@
   0x44, 0x08, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, /* 0xa800-0xa83f */
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xa840-0xa87f */
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xa880-0xa8bf */
-  0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xa8c0-0xa8ff */
+  0x10, 0x00, 0x00, 0x00, 0xff, 0xff, 0x03, 0x00, /* 0xa8c0-0xa8ff */
   0x00, 0x00, 0x00, 0x00, 0xc0, 0x3f, 0x00, 0x00, /* 0xa900-0xa93f */
   0x80, 0xff, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xa940-0xa97f */
-  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xa980-0xa9bf */
+  0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc8, 0x13, /* 0xa980-0xa9bf */
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xa9c0-0xa9ff */
   /* 0xaa00-0xabff */
   0x00, 0x00, 0x00, 0x00, 0x00, 0x7e, 0x66, 0x00, /* 0xaa00-0xaa3f */
   0x08, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xaa40-0xaa7f */
-  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xaa80-0xaabf */
-  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xaac0-0xaaff */
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9d, 0xc1, /* 0xaa80-0xaabf */
+  0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xaac0-0xaaff */
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xab00-0xab3f */
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xab40-0xab7f */
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xab80-0xabbf */
-  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xabc0-0xabff */
+  0x00, 0x00, 0x00, 0x00, 0x20, 0x21, 0x00, 0x00, /* 0xabc0-0xabff */
   /* 0xfa00-0xfbff */
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xfa00-0xfa3f */
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xfa40-0xfa7f */
@@ -249,6 +249,15 @@
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10b40-0x10b7f */
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10b80-0x10bbf */
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10bc0-0x10bff */
+  /* 0x11000-0x111ff */
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11000-0x1103f */
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11040-0x1107f */
+  0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0x26, /* 0x11080-0x110bf */
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x110c0-0x110ff */
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11100-0x1113f */
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11140-0x1117f */
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11180-0x111bf */
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x111c0-0x111ff */
   /* 0x1d000-0x1d1ff */
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1d000-0x1d03f */
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1d040-0x1d07f */
@@ -286,7 +295,7 @@
   -1, -1, -1, -1, -1, -1, -1, -1, /* 0xe000-0xefff */
   -1, -1, -1, -1, -1, 20, -1, 21, /* 0xf000-0xffff */
   22, -1, -1, -1, -1, 23, -1, -1, /* 0x10000-0x10fff */
-  -1, -1, -1, -1, -1, -1, -1, -1, /* 0x11000-0x11fff */
+  24, -1, -1, -1, -1, -1, -1, -1, /* 0x11000-0x11fff */
   -1, -1, -1, -1, -1, -1, -1, -1, /* 0x12000-0x12fff */
   -1, -1, -1, -1, -1, -1, -1, -1, /* 0x13000-0x13fff */
   -1, -1, -1, -1, -1, -1, -1, -1, /* 0x14000-0x14fff */
@@ -298,7 +307,7 @@
   -1, -1, -1, -1, -1, -1, -1, -1, /* 0x1a000-0x1afff */
   -1, -1, -1, -1, -1, -1, -1, -1, /* 0x1b000-0x1bfff */
   -1, -1, -1, -1, -1, -1, -1, -1, /* 0x1c000-0x1cfff */
-  24, 25, -1, -1, -1, -1, -1, -1  /* 0x1d000-0x1dfff */
+  25, 26, -1, -1, -1, -1, -1, -1  /* 0x1d000-0x1dfff */
 };
 
 /* Determine number of column positions required for UC.  */
@@ -346,8 +355,8 @@
           || (uc >= 0xfe30 && uc < 0xfe70) /* CJK Compatibility Forms */
           || (uc >= 0xff00 && uc < 0xff61) /* Fullwidth Forms */
           || (uc >= 0xffe0 && uc < 0xffe7) /* Fullwidth Signs */
-          || (uc >= 0x20000 && uc <= 0x2a6d6) /* CJK */
-          || (uc >= 0x2f800 && uc <= 0x2fa1d) /* CJK Compatibility Ideographs */
+          || (uc >= 0x20000 && uc <= 0x2fffd) /* Supplementary Ideographic Plane */
+          || (uc >= 0x30000 && uc <= 0x3fffd) /* Tertiary Ideographic Plane */
      )   )
     return 2;
   /* In ancient CJK encodings, Cyrillic and most other characters are
--- a/modules/unicase/tolower
+++ b/modules/unicase/tolower
@@ -10,7 +10,7 @@
 unicase/base
 
 configure.ac:
-gl_LIBUNISTRING_MODULE([0.9], [unicase/tolower])
+gl_LIBUNISTRING_MODULE([0.9.4], [unicase/tolower])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNICASE_TOLOWER
--- a/modules/unicase/totitle
+++ b/modules/unicase/totitle
@@ -10,7 +10,7 @@
 unicase/base
 
 configure.ac:
-gl_LIBUNISTRING_MODULE([0.9], [unicase/totitle])
+gl_LIBUNISTRING_MODULE([0.9.4], [unicase/totitle])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNICASE_TOTITLE
--- a/modules/unicase/toupper
+++ b/modules/unicase/toupper
@@ -10,7 +10,7 @@
 unicase/base
 
 configure.ac:
-gl_LIBUNISTRING_MODULE([0.9], [unicase/toupper])
+gl_LIBUNISTRING_MODULE([0.9.4], [unicase/toupper])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNICASE_TOUPPER
--- a/modules/unicase/u16-casecmp
+++ b/modules/unicase/u16-casecmp
@@ -13,7 +13,7 @@
 minmax
 
 configure.ac:
-gl_LIBUNISTRING_MODULE([0.9.1], [unicase/u16-casecmp])
+gl_LIBUNISTRING_MODULE([0.9.4], [unicase/u16-casecmp])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNICASE_U16_CASECMP
--- a/modules/unicase/u16-casecoll
+++ b/modules/unicase/u16-casecoll
@@ -12,7 +12,7 @@
 memcmp2
 
 configure.ac:
-gl_LIBUNISTRING_MODULE([0.9.1], [unicase/u16-casecoll])
+gl_LIBUNISTRING_MODULE([0.9.4], [unicase/u16-casecoll])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNICASE_U16_CASECOLL
--- a/modules/unicase/u16-casefold
+++ b/modules/unicase/u16-casefold
@@ -12,7 +12,7 @@
 unicase/empty-suffix-context
 
 configure.ac:
-gl_LIBUNISTRING_MODULE([0.9.1], [unicase/u16-casefold])
+gl_LIBUNISTRING_MODULE([0.9.4], [unicase/u16-casefold])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNICASE_U16_CASEFOLD
--- a/modules/unicase/u16-casexfrm
+++ b/modules/unicase/u16-casexfrm
@@ -14,7 +14,7 @@
 amemxfrm
 
 configure.ac:
-gl_LIBUNISTRING_MODULE([0.9.1], [unicase/u16-casexfrm])
+gl_LIBUNISTRING_MODULE([0.9.4], [unicase/u16-casexfrm])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNICASE_U16_CASEXFRM
--- a/modules/unicase/u16-ct-casefold
+++ b/modules/unicase/u16-ct-casefold
@@ -15,7 +15,7 @@
 uninorm/nfd
 
 configure.ac:
-gl_LIBUNISTRING_MODULE([0.9.1], [unicase/u16-ct-casefold])
+gl_LIBUNISTRING_MODULE([0.9.4], [unicase/u16-ct-casefold])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNICASE_U16_CT_CASEFOLD
--- a/modules/unicase/u16-ct-tolower
+++ b/modules/unicase/u16-ct-tolower
@@ -11,7 +11,7 @@
 unicase/toupper
 
 configure.ac:
-gl_LIBUNISTRING_MODULE([0.9.1], [unicase/u16-ct-tolower])
+gl_LIBUNISTRING_MODULE([0.9.4], [unicase/u16-ct-tolower])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNICASE_U16_CT_TOLOWER
--- a/modules/unicase/u16-ct-totitle
+++ b/modules/unicase/u16-ct-totitle
@@ -23,7 +23,7 @@
 stdbool
 
 configure.ac:
-gl_LIBUNISTRING_MODULE([0.9.1], [unicase/u16-ct-totitle])
+gl_LIBUNISTRING_MODULE([0.9.4], [unicase/u16-ct-totitle])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNICASE_U16_CT_TOTITLE
--- a/modules/unicase/u16-ct-toupper
+++ b/modules/unicase/u16-ct-toupper
@@ -11,7 +11,7 @@
 unicase/toupper
 
 configure.ac:
-gl_LIBUNISTRING_MODULE([0.9.1], [unicase/u16-ct-toupper])
+gl_LIBUNISTRING_MODULE([0.9.4], [unicase/u16-ct-toupper])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNICASE_U16_CT_TOUPPER
--- a/modules/unicase/u16-is-cased
+++ b/modules/unicase/u16-is-cased
@@ -15,7 +15,7 @@
 unistr/u16-cmp
 
 configure.ac:
-gl_LIBUNISTRING_MODULE([0.9.1], [unicase/u16-is-cased])
+gl_LIBUNISTRING_MODULE([0.9.4], [unicase/u16-is-cased])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNICASE_U16_IS_CASED
--- a/modules/unicase/u16-is-casefolded
+++ b/modules/unicase/u16-is-casefolded
@@ -10,7 +10,7 @@
 unicase/u16-casefold
 
 configure.ac:
-gl_LIBUNISTRING_MODULE([0.9.1], [unicase/u16-is-casefolded])
+gl_LIBUNISTRING_MODULE([0.9.4], [unicase/u16-is-casefolded])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNICASE_U16_IS_CASEFOLDED
--- a/modules/unicase/u16-is-lowercase
+++ b/modules/unicase/u16-is-lowercase
@@ -10,7 +10,7 @@
 unicase/u16-tolower
 
 configure.ac:
-gl_LIBUNISTRING_MODULE([0.9.1], [unicase/u16-is-lowercase])
+gl_LIBUNISTRING_MODULE([0.9.4], [unicase/u16-is-lowercase])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNICASE_U16_IS_LOWERCASE
--- a/modules/unicase/u16-is-titlecase
+++ b/modules/unicase/u16-is-titlecase
@@ -10,7 +10,7 @@
 unicase/u16-totitle
 
 configure.ac:
-gl_LIBUNISTRING_MODULE([0.9.1], [unicase/u16-is-titlecase])
+gl_LIBUNISTRING_MODULE([0.9.4], [unicase/u16-is-titlecase])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNICASE_U16_IS_TITLECASE
--- a/modules/unicase/u16-is-uppercase
+++ b/modules/unicase/u16-is-uppercase
@@ -10,7 +10,7 @@
 unicase/u16-toupper
 
 configure.ac:
-gl_LIBUNISTRING_MODULE([0.9.1], [unicase/u16-is-uppercase])
+gl_LIBUNISTRING_MODULE([0.9.4], [unicase/u16-is-uppercase])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNICASE_U16_IS_UPPERCASE
--- a/modules/unicase/u16-prefix-context
+++ b/modules/unicase/u16-prefix-context
@@ -15,7 +15,7 @@
 unistr/u16-prev
 
 configure.ac:
-gl_LIBUNISTRING_MODULE([0.9.1], [unicase/u16-prefix-context])
+gl_LIBUNISTRING_MODULE([0.9.4], [unicase/u16-prefix-context])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNICASE_U16_PREFIX_CONTEXT
--- a/modules/unicase/u16-suffix-context
+++ b/modules/unicase/u16-suffix-context
@@ -14,7 +14,7 @@
 unistr/u16-mbtouc-unsafe
 
 configure.ac:
-gl_LIBUNISTRING_MODULE([0.9.1], [unicase/u16-suffix-context])
+gl_LIBUNISTRING_MODULE([0.9.4], [unicase/u16-suffix-context])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNICASE_U16_SUFFIX_CONTEXT
--- a/modules/unicase/u16-tolower
+++ b/modules/unicase/u16-tolower
@@ -13,7 +13,7 @@
 unicase/tolower
 
 configure.ac:
-gl_LIBUNISTRING_MODULE([0.9.1], [unicase/u16-tolower])
+gl_LIBUNISTRING_MODULE([0.9.4], [unicase/u16-tolower])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNICASE_U16_TOLOWER
--- a/modules/unicase/u16-totitle
+++ b/modules/unicase/u16-totitle
@@ -12,7 +12,7 @@
 unicase/empty-suffix-context
 
 configure.ac:
-gl_LIBUNISTRING_MODULE([0.9.1], [unicase/u16-totitle])
+gl_LIBUNISTRING_MODULE([0.9.4], [unicase/u16-totitle])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNICASE_U16_TOTITLE
--- a/modules/unicase/u16-toupper
+++ b/modules/unicase/u16-toupper
@@ -13,7 +13,7 @@
 unicase/toupper
 
 configure.ac:
-gl_LIBUNISTRING_MODULE([0.9.1], [unicase/u16-toupper])
+gl_LIBUNISTRING_MODULE([0.9.4], [unicase/u16-toupper])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNICASE_U16_TOUPPER
--- a/modules/unicase/u32-casecmp
+++ b/modules/unicase/u32-casecmp
@@ -13,7 +13,7 @@
 minmax
 
 configure.ac:
-gl_LIBUNISTRING_MODULE([0.9.1], [unicase/u32-casecmp])
+gl_LIBUNISTRING_MODULE([0.9.4], [unicase/u32-casecmp])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNICASE_U32_CASECMP
--- a/modules/unicase/u32-casecoll
+++ b/modules/unicase/u32-casecoll
@@ -12,7 +12,7 @@
 memcmp2
 
 configure.ac:
-gl_LIBUNISTRING_MODULE([0.9.1], [unicase/u32-casecoll])
+gl_LIBUNISTRING_MODULE([0.9.4], [unicase/u32-casecoll])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNICASE_U32_CASECOLL
--- a/modules/unicase/u32-casefold
+++ b/modules/unicase/u32-casefold
@@ -12,7 +12,7 @@
 unicase/empty-suffix-context
 
 configure.ac:
-gl_LIBUNISTRING_MODULE([0.9.1], [unicase/u32-casefold])
+gl_LIBUNISTRING_MODULE([0.9.4], [unicase/u32-casefold])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNICASE_U32_CASEFOLD
--- a/modules/unicase/u32-casexfrm
+++ b/modules/unicase/u32-casexfrm
@@ -14,7 +14,7 @@
 amemxfrm
 
 configure.ac:
-gl_LIBUNISTRING_MODULE([0.9.1], [unicase/u32-casexfrm])
+gl_LIBUNISTRING_MODULE([0.9.4], [unicase/u32-casexfrm])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNICASE_U32_CASEXFRM
--- a/modules/unicase/u32-ct-casefold
+++ b/modules/unicase/u32-ct-casefold
@@ -15,7 +15,7 @@
 uninorm/nfd
 
 configure.ac:
-gl_LIBUNISTRING_MODULE([0.9.1], [unicase/u32-ct-casefold])
+gl_LIBUNISTRING_MODULE([0.9.4], [unicase/u32-ct-casefold])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNICASE_U32_CT_CASEFOLD
--- a/modules/unicase/u32-ct-tolower
+++ b/modules/unicase/u32-ct-tolower
@@ -11,7 +11,7 @@
 unicase/toupper
 
 configure.ac:
-gl_LIBUNISTRING_MODULE([0.9.1], [unicase/u32-ct-tolower])
+gl_LIBUNISTRING_MODULE([0.9.4], [unicase/u32-ct-tolower])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNICASE_U32_CT_TOLOWER
--- a/modules/unicase/u32-ct-totitle
+++ b/modules/unicase/u32-ct-totitle
@@ -23,7 +23,7 @@
 stdbool
 
 configure.ac:
-gl_LIBUNISTRING_MODULE([0.9.1], [unicase/u32-ct-totitle])
+gl_LIBUNISTRING_MODULE([0.9.4], [unicase/u32-ct-totitle])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNICASE_U32_CT_TOTITLE
--- a/modules/unicase/u32-ct-toupper
+++ b/modules/unicase/u32-ct-toupper
@@ -11,7 +11,7 @@
 unicase/toupper
 
 configure.ac:
-gl_LIBUNISTRING_MODULE([0.9.1], [unicase/u32-ct-toupper])
+gl_LIBUNISTRING_MODULE([0.9.4], [unicase/u32-ct-toupper])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNICASE_U32_CT_TOUPPER
--- a/modules/unicase/u32-is-cased
+++ b/modules/unicase/u32-is-cased
@@ -15,7 +15,7 @@
 unistr/u32-cmp
 
 configure.ac:
-gl_LIBUNISTRING_MODULE([0.9.1], [unicase/u32-is-cased])
+gl_LIBUNISTRING_MODULE([0.9.4], [unicase/u32-is-cased])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNICASE_U32_IS_CASED
--- a/modules/unicase/u32-is-casefolded
+++ b/modules/unicase/u32-is-casefolded
@@ -10,7 +10,7 @@
 unicase/u32-casefold
 
 configure.ac:
-gl_LIBUNISTRING_MODULE([0.9.1], [unicase/u32-is-casefolded])
+gl_LIBUNISTRING_MODULE([0.9.4], [unicase/u32-is-casefolded])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNICASE_U32_IS_CASEFOLDED
--- a/modules/unicase/u32-is-lowercase
+++ b/modules/unicase/u32-is-lowercase
@@ -10,7 +10,7 @@
 unicase/u32-tolower
 
 configure.ac:
-gl_LIBUNISTRING_MODULE([0.9.1], [unicase/u32-is-lowercase])
+gl_LIBUNISTRING_MODULE([0.9.4], [unicase/u32-is-lowercase])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNICASE_U32_IS_LOWERCASE
--- a/modules/unicase/u32-is-titlecase
+++ b/modules/unicase/u32-is-titlecase
@@ -10,7 +10,7 @@
 unicase/u32-totitle
 
 configure.ac:
-gl_LIBUNISTRING_MODULE([0.9.1], [unicase/u32-is-titlecase])
+gl_LIBUNISTRING_MODULE([0.9.4], [unicase/u32-is-titlecase])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNICASE_U32_IS_TITLECASE
--- a/modules/unicase/u32-is-uppercase
+++ b/modules/unicase/u32-is-uppercase
@@ -10,7 +10,7 @@
 unicase/u32-toupper
 
 configure.ac:
-gl_LIBUNISTRING_MODULE([0.9.1], [unicase/u32-is-uppercase])
+gl_LIBUNISTRING_MODULE([0.9.4], [unicase/u32-is-uppercase])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNICASE_U32_IS_UPPERCASE
--- a/modules/unicase/u32-prefix-context
+++ b/modules/unicase/u32-prefix-context
@@ -15,7 +15,7 @@
 unistr/u32-prev
 
 configure.ac:
-gl_LIBUNISTRING_MODULE([0.9.1], [unicase/u32-prefix-context])
+gl_LIBUNISTRING_MODULE([0.9.4], [unicase/u32-prefix-context])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNICASE_U32_PREFIX_CONTEXT
--- a/modules/unicase/u32-suffix-context
+++ b/modules/unicase/u32-suffix-context
@@ -14,7 +14,7 @@
 unistr/u32-mbtouc-unsafe
 
 configure.ac:
-gl_LIBUNISTRING_MODULE([0.9.1], [unicase/u32-suffix-context])
+gl_LIBUNISTRING_MODULE([0.9.4], [unicase/u32-suffix-context])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNICASE_U32_SUFFIX_CONTEXT
--- a/modules/unicase/u32-tolower
+++ b/modules/unicase/u32-tolower
@@ -13,7 +13,7 @@
 unicase/tolower
 
 configure.ac:
-gl_LIBUNISTRING_MODULE([0.9.1], [unicase/u32-tolower])
+gl_LIBUNISTRING_MODULE([0.9.4], [unicase/u32-tolower])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNICASE_U32_TOLOWER
--- a/modules/unicase/u32-totitle
+++ b/modules/unicase/u32-totitle
@@ -12,7 +12,7 @@
 unicase/empty-suffix-context
 
 configure.ac:
-gl_LIBUNISTRING_MODULE([0.9.1], [unicase/u32-totitle])
+gl_LIBUNISTRING_MODULE([0.9.4], [unicase/u32-totitle])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNICASE_U32_TOTITLE
--- a/modules/unicase/u32-toupper
+++ b/modules/unicase/u32-toupper
@@ -13,7 +13,7 @@
 unicase/toupper
 
 configure.ac:
-gl_LIBUNISTRING_MODULE([0.9.1], [unicase/u32-toupper])
+gl_LIBUNISTRING_MODULE([0.9.4], [unicase/u32-toupper])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNICASE_U32_TOUPPER
--- a/modules/unicase/u8-casecmp
+++ b/modules/unicase/u8-casecmp
@@ -13,7 +13,7 @@
 minmax
 
 configure.ac:
-gl_LIBUNISTRING_MODULE([0.9.1], [unicase/u8-casecmp])
+gl_LIBUNISTRING_MODULE([0.9.4], [unicase/u8-casecmp])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNICASE_U8_CASECMP
--- a/modules/unicase/u8-casecoll
+++ b/modules/unicase/u8-casecoll
@@ -12,7 +12,7 @@
 memcmp2
 
 configure.ac:
-gl_LIBUNISTRING_MODULE([0.9.1], [unicase/u8-casecoll])
+gl_LIBUNISTRING_MODULE([0.9.4], [unicase/u8-casecoll])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNICASE_U8_CASECOLL
--- a/modules/unicase/u8-casefold
+++ b/modules/unicase/u8-casefold
@@ -12,7 +12,7 @@
 unicase/empty-suffix-context
 
 configure.ac:
-gl_LIBUNISTRING_MODULE([0.9.1], [unicase/u8-casefold])
+gl_LIBUNISTRING_MODULE([0.9.4], [unicase/u8-casefold])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNICASE_U8_CASEFOLD
--- a/modules/unicase/u8-casexfrm
+++ b/modules/unicase/u8-casexfrm
@@ -14,7 +14,7 @@
 amemxfrm
 
 configure.ac:
-gl_LIBUNISTRING_MODULE([0.9.1], [unicase/u8-casexfrm])
+gl_LIBUNISTRING_MODULE([0.9.4], [unicase/u8-casexfrm])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNICASE_U8_CASEXFRM
--- a/modules/unicase/u8-ct-casefold
+++ b/modules/unicase/u8-ct-casefold
@@ -15,7 +15,7 @@
 uninorm/nfd
 
 configure.ac:
-gl_LIBUNISTRING_MODULE([0.9.1], [unicase/u8-ct-casefold])
+gl_LIBUNISTRING_MODULE([0.9.4], [unicase/u8-ct-casefold])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNICASE_U8_CT_CASEFOLD
--- a/modules/unicase/u8-ct-tolower
+++ b/modules/unicase/u8-ct-tolower
@@ -11,7 +11,7 @@
 unicase/toupper
 
 configure.ac:
-gl_LIBUNISTRING_MODULE([0.9.1], [unicase/u8-ct-tolower])
+gl_LIBUNISTRING_MODULE([0.9.4], [unicase/u8-ct-tolower])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNICASE_U8_CT_TOLOWER
--- a/modules/unicase/u8-ct-totitle
+++ b/modules/unicase/u8-ct-totitle
@@ -23,7 +23,7 @@
 stdbool
 
 configure.ac:
-gl_LIBUNISTRING_MODULE([0.9.1], [unicase/u8-ct-totitle])
+gl_LIBUNISTRING_MODULE([0.9.4], [unicase/u8-ct-totitle])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNICASE_U8_CT_TOTITLE
--- a/modules/unicase/u8-ct-toupper
+++ b/modules/unicase/u8-ct-toupper
@@ -11,7 +11,7 @@
 unicase/toupper
 
 configure.ac:
-gl_LIBUNISTRING_MODULE([0.9.1], [unicase/u8-ct-toupper])
+gl_LIBUNISTRING_MODULE([0.9.4], [unicase/u8-ct-toupper])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNICASE_U8_CT_TOUPPER
--- a/modules/unicase/u8-is-cased
+++ b/modules/unicase/u8-is-cased
@@ -15,7 +15,7 @@
 unistr/u8-cmp
 
 configure.ac:
-gl_LIBUNISTRING_MODULE([0.9.1], [unicase/u8-is-cased])
+gl_LIBUNISTRING_MODULE([0.9.4], [unicase/u8-is-cased])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNICASE_U8_IS_CASED
--- a/modules/unicase/u8-is-casefolded
+++ b/modules/unicase/u8-is-casefolded
@@ -10,7 +10,7 @@
 unicase/u8-casefold
 
 configure.ac:
-gl_LIBUNISTRING_MODULE([0.9.1], [unicase/u8-is-casefolded])
+gl_LIBUNISTRING_MODULE([0.9.4], [unicase/u8-is-casefolded])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNICASE_U8_IS_CASEFOLDED
--- a/modules/unicase/u8-is-lowercase
+++ b/modules/unicase/u8-is-lowercase
@@ -10,7 +10,7 @@
 unicase/u8-tolower
 
 configure.ac:
-gl_LIBUNISTRING_MODULE([0.9.1], [unicase/u8-is-lowercase])
+gl_LIBUNISTRING_MODULE([0.9.4], [unicase/u8-is-lowercase])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNICASE_U8_IS_LOWERCASE
--- a/modules/unicase/u8-is-titlecase
+++ b/modules/unicase/u8-is-titlecase
@@ -10,7 +10,7 @@
 unicase/u8-totitle
 
 configure.ac:
-gl_LIBUNISTRING_MODULE([0.9.1], [unicase/u8-is-titlecase])
+gl_LIBUNISTRING_MODULE([0.9.4], [unicase/u8-is-titlecase])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNICASE_U8_IS_TITLECASE
--- a/modules/unicase/u8-is-uppercase
+++ b/modules/unicase/u8-is-uppercase
@@ -10,7 +10,7 @@
 unicase/u8-toupper
 
 configure.ac:
-gl_LIBUNISTRING_MODULE([0.9.1], [unicase/u8-is-uppercase])
+gl_LIBUNISTRING_MODULE([0.9.4], [unicase/u8-is-uppercase])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNICASE_U8_IS_UPPERCASE
--- a/modules/unicase/u8-prefix-context
+++ b/modules/unicase/u8-prefix-context
@@ -15,7 +15,7 @@
 unistr/u8-prev
 
 configure.ac:
-gl_LIBUNISTRING_MODULE([0.9.1], [unicase/u8-prefix-context])
+gl_LIBUNISTRING_MODULE([0.9.4], [unicase/u8-prefix-context])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNICASE_U8_PREFIX_CONTEXT
--- a/modules/unicase/u8-suffix-context
+++ b/modules/unicase/u8-suffix-context
@@ -14,7 +14,7 @@
 unistr/u8-mbtouc-unsafe
 
 configure.ac:
-gl_LIBUNISTRING_MODULE([0.9.1], [unicase/u8-suffix-context])
+gl_LIBUNISTRING_MODULE([0.9.4], [unicase/u8-suffix-context])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNICASE_U8_SUFFIX_CONTEXT
--- a/modules/unicase/u8-tolower
+++ b/modules/unicase/u8-tolower
@@ -13,7 +13,7 @@
 unicase/tolower
 
 configure.ac:
-gl_LIBUNISTRING_MODULE([0.9.1], [unicase/u8-tolower])
+gl_LIBUNISTRING_MODULE([0.9.4], [unicase/u8-tolower])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNICASE_U8_TOLOWER
--- a/modules/unicase/u8-totitle
+++ b/modules/unicase/u8-totitle
@@ -12,7 +12,7 @@
 unicase/empty-suffix-context
 
 configure.ac:
-gl_LIBUNISTRING_MODULE([0.9.1], [unicase/u8-totitle])
+gl_LIBUNISTRING_MODULE([0.9.4], [unicase/u8-totitle])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNICASE_U8_TOTITLE
--- a/modules/unicase/u8-toupper
+++ b/modules/unicase/u8-toupper
@@ -13,7 +13,7 @@
 unicase/toupper
 
 configure.ac:
-gl_LIBUNISTRING_MODULE([0.9.1], [unicase/u8-toupper])
+gl_LIBUNISTRING_MODULE([0.9.4], [unicase/u8-toupper])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNICASE_U8_TOUPPER
--- a/modules/unicase/ulc-casecmp
+++ b/modules/unicase/ulc-casecmp
@@ -15,7 +15,7 @@
 minmax
 
 configure.ac:
-gl_LIBUNISTRING_MODULE([0.9.1], [unicase/ulc-casecmp])
+gl_LIBUNISTRING_MODULE([0.9.4], [unicase/ulc-casecmp])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNICASE_ULC_CASECMP
--- a/modules/unicase/ulc-casecoll
+++ b/modules/unicase/ulc-casecoll
@@ -11,7 +11,7 @@
 memcmp2
 
 configure.ac:
-gl_LIBUNISTRING_MODULE([0.9.1], [unicase/ulc-casecoll])
+gl_LIBUNISTRING_MODULE([0.9.4], [unicase/ulc-casecoll])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNICASE_ULC_CASECOLL
--- a/modules/unicase/ulc-casexfrm
+++ b/modules/unicase/ulc-casexfrm
@@ -11,7 +11,7 @@
 localcharset
 
 configure.ac:
-gl_LIBUNISTRING_MODULE([0.9.1], [unicase/ulc-casexfrm])
+gl_LIBUNISTRING_MODULE([0.9.4], [unicase/ulc-casexfrm])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNICASE_ULC_CASEXFRM
--- a/modules/unictype/bidicategory-of
+++ b/modules/unictype/bidicategory-of
@@ -9,7 +9,7 @@
 unictype/base
 
 configure.ac:
-gl_LIBUNISTRING_MODULE([0.9], [unictype/bidicategory-of])
+gl_LIBUNISTRING_MODULE([0.9.4], [unictype/bidicategory-of])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNICTYPE_BIDICATEGORY_OF
--- a/modules/unictype/bidicategory-test
+++ b/modules/unictype/bidicategory-test
@@ -9,7 +9,7 @@
 unictype/bidicategory-of
 
 configure.ac:
-gl_LIBUNISTRING_MODULE([0.9], [unictype/bidicategory-test])
+gl_LIBUNISTRING_MODULE([0.9.4], [unictype/bidicategory-test])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNICTYPE_BIDICATEGORY_TEST
--- a/modules/unictype/block-list
+++ b/modules/unictype/block-list
@@ -9,7 +9,7 @@
 unictype/base
 
 configure.ac:
-gl_LIBUNISTRING_MODULE([0.9], [unictype/block-list])
+gl_LIBUNISTRING_MODULE([0.9.4], [unictype/block-list])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNICTYPE_BLOCK_LIST
--- a/modules/unictype/block-test
+++ b/modules/unictype/block-test
@@ -8,7 +8,7 @@
 unictype/base
 
 configure.ac:
-gl_LIBUNISTRING_MODULE([0.9], [unictype/block-test])
+gl_LIBUNISTRING_MODULE([0.9.4], [unictype/block-test])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNICTYPE_BLOCK_TEST
--- a/modules/unictype/category-C
+++ b/modules/unictype/category-C
@@ -9,7 +9,7 @@
 unictype/base
 
 configure.ac:
-gl_LIBUNISTRING_MODULE([0.9], [unictype/category-C])
+gl_LIBUNISTRING_MODULE([0.9.4], [unictype/category-C])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_C
--- a/modules/unictype/category-Cf
+++ b/modules/unictype/category-Cf
@@ -9,7 +9,7 @@
 unictype/base
 
 configure.ac:
-gl_LIBUNISTRING_MODULE([0.9], [unictype/category-Cf])
+gl_LIBUNISTRING_MODULE([0.9.4], [unictype/category-Cf])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_CF
--- a/modules/unictype/category-Cn
+++ b/modules/unictype/category-Cn
@@ -9,7 +9,7 @@
 unictype/base
 
 configure.ac:
-gl_LIBUNISTRING_MODULE([0.9], [unictype/category-Cn])
+gl_LIBUNISTRING_MODULE([0.9.4], [unictype/category-Cn])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_CN
--- a/modules/unictype/category-L
+++ b/modules/unictype/category-L
@@ -9,7 +9,7 @@
 unictype/base
 
 configure.ac:
-gl_LIBUNISTRING_MODULE([0.9], [unictype/category-L])
+gl_LIBUNISTRING_MODULE([0.9.4], [unictype/category-L])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_L
--- a/modules/unictype/category-Ll
+++ b/modules/unictype/category-Ll
@@ -9,7 +9,7 @@
 unictype/base
 
 configure.ac:
-gl_LIBUNISTRING_MODULE([0.9], [unictype/category-Ll])
+gl_LIBUNISTRING_MODULE([0.9.4], [unictype/category-Ll])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_LL
--- a/modules/unictype/category-Lm
+++ b/modules/unictype/category-Lm
@@ -9,7 +9,7 @@
 unictype/base
 
 configure.ac:
-gl_LIBUNISTRING_MODULE([0.9], [unictype/category-Lm])
+gl_LIBUNISTRING_MODULE([0.9.4], [unictype/category-Lm])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_LM
--- a/modules/unictype/category-Lo
+++ b/modules/unictype/category-Lo
@@ -9,7 +9,7 @@
 unictype/base
 
 configure.ac:
-gl_LIBUNISTRING_MODULE([0.9], [unictype/category-Lo])
+gl_LIBUNISTRING_MODULE([0.9.4], [unictype/category-Lo])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_LO
--- a/modules/unictype/category-Lu
+++ b/modules/unictype/category-Lu
@@ -9,7 +9,7 @@
 unictype/base
 
 configure.ac:
-gl_LIBUNISTRING_MODULE([0.9], [unictype/category-Lu])
+gl_LIBUNISTRING_MODULE([0.9.4], [unictype/category-Lu])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_LU
--- a/modules/unictype/category-M
+++ b/modules/unictype/category-M
@@ -9,7 +9,7 @@
 unictype/base
 
 configure.ac:
-gl_LIBUNISTRING_MODULE([0.9], [unictype/category-M])
+gl_LIBUNISTRING_MODULE([0.9.4], [unictype/category-M])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_M
--- a/modules/unictype/category-Mc
+++ b/modules/unictype/category-Mc
@@ -9,7 +9,7 @@
 unictype/base
 
 configure.ac:
-gl_LIBUNISTRING_MODULE([0.9], [unictype/category-Mc])
+gl_LIBUNISTRING_MODULE([0.9.4], [unictype/category-Mc])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_MC
--- a/modules/unictype/category-Mn
+++ b/modules/unictype/category-Mn
@@ -9,7 +9,7 @@
 unictype/base
 
 configure.ac:
-gl_LIBUNISTRING_MODULE([0.9], [unictype/category-Mn])
+gl_LIBUNISTRING_MODULE([0.9.4], [unictype/category-Mn])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_MN
--- a/modules/unictype/category-N
+++ b/modules/unictype/category-N
@@ -9,7 +9,7 @@
 unictype/base
 
 configure.ac:
-gl_LIBUNISTRING_MODULE([0.9], [unictype/category-N])
+gl_LIBUNISTRING_MODULE([0.9.4], [unictype/category-N])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_N
--- a/modules/unictype/category-Nd
+++ b/modules/unictype/category-Nd
@@ -9,7 +9,7 @@
 unictype/base
 
 configure.ac:
-gl_LIBUNISTRING_MODULE([0.9], [unictype/category-Nd])
+gl_LIBUNISTRING_MODULE([0.9.4], [unictype/category-Nd])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_ND
--- a/modules/unictype/category-Nl
+++ b/modules/unictype/category-Nl
@@ -9,7 +9,7 @@
 unictype/base
 
 configure.ac:
-gl_LIBUNISTRING_MODULE([0.9], [unictype/category-Nl])
+gl_LIBUNISTRING_MODULE([0.9.4], [unictype/category-Nl])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_NL
--- a/modules/unictype/category-No
+++ b/modules/unictype/category-No
@@ -9,7 +9,7 @@
 unictype/base
 
 configure.ac:
-gl_LIBUNISTRING_MODULE([0.9], [unictype/category-No])
+gl_LIBUNISTRING_MODULE([0.9.4], [unictype/category-No])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_NO
--- a/modules/unictype/category-P
+++ b/modules/unictype/category-P
@@ -9,7 +9,7 @@
 unictype/base
 
 configure.ac:
-gl_LIBUNISTRING_MODULE([0.9], [unictype/category-P])
+gl_LIBUNISTRING_MODULE([0.9.4], [unictype/category-P])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_P
--- a/modules/unictype/category-Pd
+++ b/modules/unictype/category-Pd
@@ -9,7 +9,7 @@
 unictype/base
 
 configure.ac:
-gl_LIBUNISTRING_MODULE([0.9], [unictype/category-Pd])
+gl_LIBUNISTRING_MODULE([0.9.4], [unictype/category-Pd])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_PD
--- a/modules/unictype/category-Po
+++ b/modules/unictype/category-Po
@@ -9,7 +9,7 @@
 unictype/base
 
 configure.ac:
-gl_LIBUNISTRING_MODULE([0.9], [unictype/category-Po])
+gl_LIBUNISTRING_MODULE([0.9.4], [unictype/category-Po])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_PO
--- a/modules/unictype/category-S
+++ b/modules/unictype/category-S
@@ -9,7 +9,7 @@
 unictype/base
 
 configure.ac:
-gl_LIBUNISTRING_MODULE([0.9], [unictype/category-S])
+gl_LIBUNISTRING_MODULE([0.9.4], [unictype/category-S])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_S
--- a/modules/unictype/category-Sc
+++ b/modules/unictype/category-Sc
@@ -9,7 +9,7 @@
 unictype/base
 
 configure.ac:
-gl_LIBUNISTRING_MODULE([0.9], [unictype/category-Sc])
+gl_LIBUNISTRING_MODULE([0.9.4], [unictype/category-Sc])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_SC
--- a/modules/unictype/category-So
+++ b/modules/unictype/category-So
@@ -9,7 +9,7 @@
 unictype/base
 
 configure.ac:
-gl_LIBUNISTRING_MODULE([0.9], [unictype/category-So])
+gl_LIBUNISTRING_MODULE([0.9.4], [unictype/category-So])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_SO
--- a/modules/unictype/category-byname
+++ b/modules/unictype/category-byname
@@ -46,7 +46,7 @@
 unictype/category-none
 
 configure.ac:
-gl_LIBUNISTRING_MODULE([0.9], [unictype/category-byname])
+gl_LIBUNISTRING_MODULE([0.9.4], [unictype/category-byname])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_BYNAME
--- a/modules/unictype/category-of
+++ b/modules/unictype/category-of
@@ -11,7 +11,7 @@
 
 configure.ac:
 AC_REQUIRE([AC_C_INLINE])
-gl_LIBUNISTRING_MODULE([0.9], [unictype/category-of])
+gl_LIBUNISTRING_MODULE([0.9.4], [unictype/category-of])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_OF
--- a/modules/unictype/category-test
+++ b/modules/unictype/category-test
@@ -10,7 +10,7 @@
 
 configure.ac:
 AC_REQUIRE([AC_C_INLINE])
-gl_LIBUNISTRING_MODULE([0.9], [unictype/category-test])
+gl_LIBUNISTRING_MODULE([0.9.4], [unictype/category-test])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_TEST
--- a/modules/unictype/combining-class
+++ b/modules/unictype/combining-class
@@ -9,7 +9,7 @@
 unictype/base
 
 configure.ac:
-gl_LIBUNISTRING_MODULE([0.9], [unictype/combining-class])
+gl_LIBUNISTRING_MODULE([0.9.4], [unictype/combining-class])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNICTYPE_COMBINING_CLASS
--- a/modules/unictype/ctype-alnum
+++ b/modules/unictype/ctype-alnum
@@ -12,7 +12,7 @@
 
 configure.ac:
 AC_REQUIRE([AC_C_INLINE])
-gl_LIBUNISTRING_MODULE([0.9], [unictype/ctype-alnum])
+gl_LIBUNISTRING_MODULE([0.9.4], [unictype/ctype-alnum])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNICTYPE_CTYPE_ALNUM
--- a/modules/unictype/ctype-alpha
+++ b/modules/unictype/ctype-alpha
@@ -12,7 +12,7 @@
 
 configure.ac:
 AC_REQUIRE([AC_C_INLINE])
-gl_LIBUNISTRING_MODULE([0.9], [unictype/ctype-alpha])
+gl_LIBUNISTRING_MODULE([0.9.4], [unictype/ctype-alpha])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNICTYPE_CTYPE_ALPHA
--- a/modules/unictype/ctype-graph
+++ b/modules/unictype/ctype-graph
@@ -12,7 +12,7 @@
 
 configure.ac:
 AC_REQUIRE([AC_C_INLINE])
-gl_LIBUNISTRING_MODULE([0.9], [unictype/ctype-graph])
+gl_LIBUNISTRING_MODULE([0.9.4], [unictype/ctype-graph])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNICTYPE_CTYPE_GRAPH
--- a/modules/unictype/ctype-lower
+++ b/modules/unictype/ctype-lower
@@ -12,7 +12,7 @@
 
 configure.ac:
 AC_REQUIRE([AC_C_INLINE])
-gl_LIBUNISTRING_MODULE([0.9], [unictype/ctype-lower])
+gl_LIBUNISTRING_MODULE([0.9.4], [unictype/ctype-lower])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNICTYPE_CTYPE_LOWER
--- a/modules/unictype/ctype-print
+++ b/modules/unictype/ctype-print
@@ -12,7 +12,7 @@
 
 configure.ac:
 AC_REQUIRE([AC_C_INLINE])
-gl_LIBUNISTRING_MODULE([0.9], [unictype/ctype-print])
+gl_LIBUNISTRING_MODULE([0.9.4], [unictype/ctype-print])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNICTYPE_CTYPE_PRINT
--- a/modules/unictype/ctype-punct
+++ b/modules/unictype/ctype-punct
@@ -12,7 +12,7 @@
 
 configure.ac:
 AC_REQUIRE([AC_C_INLINE])
-gl_LIBUNISTRING_MODULE([0.9], [unictype/ctype-punct])
+gl_LIBUNISTRING_MODULE([0.9.4], [unictype/ctype-punct])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNICTYPE_CTYPE_PUNCT
--- a/modules/unictype/ctype-upper
+++ b/modules/unictype/ctype-upper
@@ -12,7 +12,7 @@
 
 configure.ac:
 AC_REQUIRE([AC_C_INLINE])
-gl_LIBUNISTRING_MODULE([0.9], [unictype/ctype-upper])
+gl_LIBUNISTRING_MODULE([0.9.4], [unictype/ctype-upper])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNICTYPE_CTYPE_UPPER
--- a/modules/unictype/decimal-digit
+++ b/modules/unictype/decimal-digit
@@ -9,7 +9,7 @@
 unictype/base
 
 configure.ac:
-gl_LIBUNISTRING_MODULE([0.9], [unictype/decimal-digit])
+gl_LIBUNISTRING_MODULE([0.9.4], [unictype/decimal-digit])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNICTYPE_DECIMAL_DIGIT
--- a/modules/unictype/digit
+++ b/modules/unictype/digit
@@ -9,7 +9,7 @@
 unictype/base
 
 configure.ac:
-gl_LIBUNISTRING_MODULE([0.9], [unictype/digit])
+gl_LIBUNISTRING_MODULE([0.9.4], [unictype/digit])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNICTYPE_DIGIT
--- a/modules/unictype/numeric
+++ b/modules/unictype/numeric
@@ -9,7 +9,7 @@
 unictype/base
 
 configure.ac:
-gl_LIBUNISTRING_MODULE([0.9], [unictype/numeric])
+gl_LIBUNISTRING_MODULE([0.9.4], [unictype/numeric])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNICTYPE_NUMERIC
--- a/modules/unictype/property-alphabetic
+++ b/modules/unictype/property-alphabetic
@@ -11,7 +11,7 @@
 
 configure.ac:
 AC_REQUIRE([AC_C_INLINE])
-gl_LIBUNISTRING_MODULE([0.9], [unictype/property-alphabetic])
+gl_LIBUNISTRING_MODULE([0.9.4], [unictype/property-alphabetic])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_ALPHABETIC
--- a/modules/unictype/property-bidi-arabic-digit
+++ b/modules/unictype/property-bidi-arabic-digit
@@ -12,7 +12,7 @@
 
 configure.ac:
 AC_REQUIRE([AC_C_INLINE])
-gl_LIBUNISTRING_MODULE([0.9], [unictype/property-bidi-arabic-digit])
+gl_LIBUNISTRING_MODULE([0.9.4], [unictype/property-bidi-arabic-digit])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_ARABIC_DIGIT
--- a/modules/unictype/property-bidi-eur-num-terminator
+++ b/modules/unictype/property-bidi-eur-num-terminator
@@ -12,7 +12,7 @@
 
 configure.ac:
 AC_REQUIRE([AC_C_INLINE])
-gl_LIBUNISTRING_MODULE([0.9], [unictype/property-bidi-eur-num-terminator])
+gl_LIBUNISTRING_MODULE([0.9.4], [unictype/property-bidi-eur-num-terminator])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_EUR_NUM_TERMINATOR
--- a/modules/unictype/property-bidi-european-digit
+++ b/modules/unictype/property-bidi-european-digit
@@ -12,7 +12,7 @@
 
 configure.ac:
 AC_REQUIRE([AC_C_INLINE])
-gl_LIBUNISTRING_MODULE([0.9], [unictype/property-bidi-european-digit])
+gl_LIBUNISTRING_MODULE([0.9.4], [unictype/property-bidi-european-digit])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_EUROPEAN_DIGIT
--- a/modules/unictype/property-bidi-hebrew-right-to-left
+++ b/modules/unictype/property-bidi-hebrew-right-to-left
@@ -12,7 +12,7 @@
 
 configure.ac:
 AC_REQUIRE([AC_C_INLINE])
-gl_LIBUNISTRING_MODULE([0.9], [unictype/property-bidi-hebrew-right-to-left])
+gl_LIBUNISTRING_MODULE([0.9.4], [unictype/property-bidi-hebrew-right-to-left])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_HEBREW_RIGHT_TO_LEFT
--- a/modules/unictype/property-bidi-left-to-right
+++ b/modules/unictype/property-bidi-left-to-right
@@ -12,7 +12,7 @@
 
 configure.ac:
 AC_REQUIRE([AC_C_INLINE])
-gl_LIBUNISTRING_MODULE([0.9], [unictype/property-bidi-left-to-right])
+gl_LIBUNISTRING_MODULE([0.9.4], [unictype/property-bidi-left-to-right])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_LEFT_TO_RIGHT
--- a/modules/unictype/property-bidi-non-spacing-mark
+++ b/modules/unictype/property-bidi-non-spacing-mark
@@ -12,7 +12,7 @@
 
 configure.ac:
 AC_REQUIRE([AC_C_INLINE])
-gl_LIBUNISTRING_MODULE([0.9], [unictype/property-bidi-non-spacing-mark])
+gl_LIBUNISTRING_MODULE([0.9.4], [unictype/property-bidi-non-spacing-mark])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_NON_SPACING_MARK
--- a/modules/unictype/property-bidi-other-neutral
+++ b/modules/unictype/property-bidi-other-neutral
@@ -12,7 +12,7 @@
 
 configure.ac:
 AC_REQUIRE([AC_C_INLINE])
-gl_LIBUNISTRING_MODULE([0.9], [unictype/property-bidi-other-neutral])
+gl_LIBUNISTRING_MODULE([0.9.4], [unictype/property-bidi-other-neutral])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_OTHER_NEUTRAL
--- a/modules/unictype/property-byname
+++ b/modules/unictype/property-byname
@@ -89,7 +89,7 @@
 gperf
 
 configure.ac:
-gl_LIBUNISTRING_MODULE([0.9], [unictype/property-byname])
+gl_LIBUNISTRING_MODULE([0.9.4], [unictype/property-byname])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BYNAME
--- a/modules/unictype/property-combining
+++ b/modules/unictype/property-combining
@@ -11,7 +11,7 @@
 
 configure.ac:
 AC_REQUIRE([AC_C_INLINE])
-gl_LIBUNISTRING_MODULE([0.9], [unictype/property-combining])
+gl_LIBUNISTRING_MODULE([0.9.4], [unictype/property-combining])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_COMBINING
--- a/modules/unictype/property-composite
+++ b/modules/unictype/property-composite
@@ -11,7 +11,7 @@
 
 configure.ac:
 AC_REQUIRE([AC_C_INLINE])
-gl_LIBUNISTRING_MODULE([0.9], [unictype/property-composite])
+gl_LIBUNISTRING_MODULE([0.9.4], [unictype/property-composite])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_COMPOSITE
--- a/modules/unictype/property-currency-symbol
+++ b/modules/unictype/property-currency-symbol
@@ -13,7 +13,7 @@
 
 configure.ac:
 AC_REQUIRE([AC_C_INLINE])
-gl_LIBUNISTRING_MODULE([0.9], [unictype/property-currency-symbol])
+gl_LIBUNISTRING_MODULE([0.9.4], [unictype/property-currency-symbol])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_CURRENCY_SYMBOL
--- a/modules/unictype/property-dash
+++ b/modules/unictype/property-dash
@@ -11,7 +11,7 @@
 
 configure.ac:
 AC_REQUIRE([AC_C_INLINE])
-gl_LIBUNISTRING_MODULE([0.9], [unictype/property-dash])
+gl_LIBUNISTRING_MODULE([0.9.4], [unictype/property-dash])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_DASH
--- a/modules/unictype/property-decimal-digit
+++ b/modules/unictype/property-decimal-digit
@@ -13,7 +13,7 @@
 
 configure.ac:
 AC_REQUIRE([AC_C_INLINE])
-gl_LIBUNISTRING_MODULE([0.9], [unictype/property-decimal-digit])
+gl_LIBUNISTRING_MODULE([0.9.4], [unictype/property-decimal-digit])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_DECIMAL_DIGIT
--- a/modules/unictype/property-deprecated
+++ b/modules/unictype/property-deprecated
@@ -11,7 +11,7 @@
 
 configure.ac:
 AC_REQUIRE([AC_C_INLINE])
-gl_LIBUNISTRING_MODULE([0.9], [unictype/property-deprecated])
+gl_LIBUNISTRING_MODULE([0.9.4], [unictype/property-deprecated])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_DEPRECATED
--- a/modules/unictype/property-diacritic
+++ b/modules/unictype/property-diacritic
@@ -11,7 +11,7 @@
 
 configure.ac:
 AC_REQUIRE([AC_C_INLINE])
-gl_LIBUNISTRING_MODULE([0.9], [unictype/property-diacritic])
+gl_LIBUNISTRING_MODULE([0.9.4], [unictype/property-diacritic])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_DIACRITIC
--- a/modules/unictype/property-extender
+++ b/modules/unictype/property-extender
@@ -11,7 +11,7 @@
 
 configure.ac:
 AC_REQUIRE([AC_C_INLINE])
-gl_LIBUNISTRING_MODULE([0.9], [unictype/property-extender])
+gl_LIBUNISTRING_MODULE([0.9.4], [unictype/property-extender])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_EXTENDER
--- a/modules/unictype/property-grapheme-base
+++ b/modules/unictype/property-grapheme-base
@@ -11,7 +11,7 @@
 
 configure.ac:
 AC_REQUIRE([AC_C_INLINE])
-gl_LIBUNISTRING_MODULE([0.9], [unictype/property-grapheme-base])
+gl_LIBUNISTRING_MODULE([0.9.4], [unictype/property-grapheme-base])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_GRAPHEME_BASE
--- a/modules/unictype/property-grapheme-extend
+++ b/modules/unictype/property-grapheme-extend
@@ -11,7 +11,7 @@
 
 configure.ac:
 AC_REQUIRE([AC_C_INLINE])
-gl_LIBUNISTRING_MODULE([0.9], [unictype/property-grapheme-extend])
+gl_LIBUNISTRING_MODULE([0.9.4], [unictype/property-grapheme-extend])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_GRAPHEME_EXTEND
--- a/modules/unictype/property-grapheme-link
+++ b/modules/unictype/property-grapheme-link
@@ -11,7 +11,7 @@
 
 configure.ac:
 AC_REQUIRE([AC_C_INLINE])
-gl_LIBUNISTRING_MODULE([0.9], [unictype/property-grapheme-link])
+gl_LIBUNISTRING_MODULE([0.9.4], [unictype/property-grapheme-link])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_GRAPHEME_LINK
--- a/modules/unictype/property-id-continue
+++ b/modules/unictype/property-id-continue
@@ -11,7 +11,7 @@
 
 configure.ac:
 AC_REQUIRE([AC_C_INLINE])
-gl_LIBUNISTRING_MODULE([0.9], [unictype/property-id-continue])
+gl_LIBUNISTRING_MODULE([0.9.4], [unictype/property-id-continue])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_ID_CONTINUE
--- a/modules/unictype/property-id-start
+++ b/modules/unictype/property-id-start
@@ -11,7 +11,7 @@
 
 configure.ac:
 AC_REQUIRE([AC_C_INLINE])
-gl_LIBUNISTRING_MODULE([0.9], [unictype/property-id-start])
+gl_LIBUNISTRING_MODULE([0.9.4], [unictype/property-id-start])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_ID_START
--- a/modules/unictype/property-ideographic
+++ b/modules/unictype/property-ideographic
@@ -11,7 +11,7 @@
 
 configure.ac:
 AC_REQUIRE([AC_C_INLINE])
-gl_LIBUNISTRING_MODULE([0.9], [unictype/property-ideographic])
+gl_LIBUNISTRING_MODULE([0.9.4], [unictype/property-ideographic])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_IDEOGRAPHIC
--- a/modules/unictype/property-ignorable-control
+++ b/modules/unictype/property-ignorable-control
@@ -11,7 +11,7 @@
 
 configure.ac:
 AC_REQUIRE([AC_C_INLINE])
-gl_LIBUNISTRING_MODULE([0.9], [unictype/property-ignorable-control])
+gl_LIBUNISTRING_MODULE([0.9.4], [unictype/property-ignorable-control])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_IGNORABLE_CONTROL
--- a/modules/unictype/property-logical-order-exception
+++ b/modules/unictype/property-logical-order-exception
@@ -11,7 +11,7 @@
 
 configure.ac:
 AC_REQUIRE([AC_C_INLINE])
-gl_LIBUNISTRING_MODULE([0.9], [unictype/property-logical-order-exception])
+gl_LIBUNISTRING_MODULE([0.9.4], [unictype/property-logical-order-exception])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_LOGICAL_ORDER_EXCEPTION
--- a/modules/unictype/property-lowercase
+++ b/modules/unictype/property-lowercase
@@ -11,7 +11,7 @@
 
 configure.ac:
 AC_REQUIRE([AC_C_INLINE])
-gl_LIBUNISTRING_MODULE([0.9], [unictype/property-lowercase])
+gl_LIBUNISTRING_MODULE([0.9.4], [unictype/property-lowercase])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_LOWERCASE
--- a/modules/unictype/property-numeric
+++ b/modules/unictype/property-numeric
@@ -11,7 +11,7 @@
 
 configure.ac:
 AC_REQUIRE([AC_C_INLINE])
-gl_LIBUNISTRING_MODULE([0.9], [unictype/property-numeric])
+gl_LIBUNISTRING_MODULE([0.9.4], [unictype/property-numeric])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_NUMERIC
--- a/modules/unictype/property-other-alphabetic
+++ b/modules/unictype/property-other-alphabetic
@@ -11,7 +11,7 @@
 
 configure.ac:
 AC_REQUIRE([AC_C_INLINE])
-gl_LIBUNISTRING_MODULE([0.9], [unictype/property-other-alphabetic])
+gl_LIBUNISTRING_MODULE([0.9.4], [unictype/property-other-alphabetic])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_OTHER_ALPHABETIC
--- a/modules/unictype/property-punctuation
+++ b/modules/unictype/property-punctuation
@@ -13,7 +13,7 @@
 
 configure.ac:
 AC_REQUIRE([AC_C_INLINE])
-gl_LIBUNISTRING_MODULE([0.9], [unictype/property-punctuation])
+gl_LIBUNISTRING_MODULE([0.9.4], [unictype/property-punctuation])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_PUNCTUATION
--- a/modules/unictype/property-sentence-terminal
+++ b/modules/unictype/property-sentence-terminal
@@ -11,7 +11,7 @@
 
 configure.ac:
 AC_REQUIRE([AC_C_INLINE])
-gl_LIBUNISTRING_MODULE([0.9], [unictype/property-sentence-terminal])
+gl_LIBUNISTRING_MODULE([0.9.4], [unictype/property-sentence-terminal])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_SENTENCE_TERMINAL
--- a/modules/unictype/property-terminal-punctuation
+++ b/modules/unictype/property-terminal-punctuation
@@ -11,7 +11,7 @@
 
 configure.ac:
 AC_REQUIRE([AC_C_INLINE])
-gl_LIBUNISTRING_MODULE([0.9], [unictype/property-terminal-punctuation])
+gl_LIBUNISTRING_MODULE([0.9.4], [unictype/property-terminal-punctuation])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_TERMINAL_PUNCTUATION
--- a/modules/unictype/property-unassigned-code-value
+++ b/modules/unictype/property-unassigned-code-value
@@ -11,7 +11,7 @@
 
 configure.ac:
 AC_REQUIRE([AC_C_INLINE])
-gl_LIBUNISTRING_MODULE([0.9], [unictype/property-unassigned-code-value])
+gl_LIBUNISTRING_MODULE([0.9.4], [unictype/property-unassigned-code-value])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_UNASSIGNED_CODE_VALUE
--- a/modules/unictype/property-unified-ideograph
+++ b/modules/unictype/property-unified-ideograph
@@ -11,7 +11,7 @@
 
 configure.ac:
 AC_REQUIRE([AC_C_INLINE])
-gl_LIBUNISTRING_MODULE([0.9], [unictype/property-unified-ideograph])
+gl_LIBUNISTRING_MODULE([0.9.4], [unictype/property-unified-ideograph])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_UNIFIED_IDEOGRAPH
--- a/modules/unictype/property-uppercase
+++ b/modules/unictype/property-uppercase
@@ -11,7 +11,7 @@
 
 configure.ac:
 AC_REQUIRE([AC_C_INLINE])
-gl_LIBUNISTRING_MODULE([0.9], [unictype/property-uppercase])
+gl_LIBUNISTRING_MODULE([0.9.4], [unictype/property-uppercase])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_UPPERCASE
--- a/modules/unictype/property-xid-continue
+++ b/modules/unictype/property-xid-continue
@@ -11,7 +11,7 @@
 
 configure.ac:
 AC_REQUIRE([AC_C_INLINE])
-gl_LIBUNISTRING_MODULE([0.9], [unictype/property-xid-continue])
+gl_LIBUNISTRING_MODULE([0.9.4], [unictype/property-xid-continue])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_XID_CONTINUE
--- a/modules/unictype/property-xid-start
+++ b/modules/unictype/property-xid-start
@@ -11,7 +11,7 @@
 
 configure.ac:
 AC_REQUIRE([AC_C_INLINE])
-gl_LIBUNISTRING_MODULE([0.9], [unictype/property-xid-start])
+gl_LIBUNISTRING_MODULE([0.9.4], [unictype/property-xid-start])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_XID_START
--- a/modules/unictype/property-zero-width
+++ b/modules/unictype/property-zero-width
@@ -11,7 +11,7 @@
 
 configure.ac:
 AC_REQUIRE([AC_C_INLINE])
-gl_LIBUNISTRING_MODULE([0.9], [unictype/property-zero-width])
+gl_LIBUNISTRING_MODULE([0.9.4], [unictype/property-zero-width])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_ZERO_WIDTH
--- a/modules/unictype/scripts
+++ b/modules/unictype/scripts
@@ -11,7 +11,7 @@
 gperf
 
 configure.ac:
-gl_LIBUNISTRING_MODULE([0.9], [unictype/scripts])
+gl_LIBUNISTRING_MODULE([0.9.4], [unictype/scripts])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNICTYPE_SCRIPTS
--- a/modules/unictype/syntax-java-ident
+++ b/modules/unictype/syntax-java-ident
@@ -11,7 +11,7 @@
 
 configure.ac:
 AC_REQUIRE([AC_C_INLINE])
-gl_LIBUNISTRING_MODULE([0.9], [unictype/syntax-java-ident])
+gl_LIBUNISTRING_MODULE([0.9.4], [unictype/syntax-java-ident])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNICTYPE_SYNTAX_JAVA_IDENT
--- a/modules/unilbrk/u16-possible-linebreaks
+++ b/modules/unilbrk/u16-possible-linebreaks
@@ -12,7 +12,7 @@
 streq
 
 configure.ac:
-gl_LIBUNISTRING_MODULE([0.9], [unilbrk/u16-possible-linebreaks])
+gl_LIBUNISTRING_MODULE([0.9.4], [unilbrk/u16-possible-linebreaks])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNILBRK_U16_POSSIBLE_LINEBREAKS
--- a/modules/unilbrk/u32-possible-linebreaks
+++ b/modules/unilbrk/u32-possible-linebreaks
@@ -11,7 +11,7 @@
 streq
 
 configure.ac:
-gl_LIBUNISTRING_MODULE([0.9], [unilbrk/u32-possible-linebreaks])
+gl_LIBUNISTRING_MODULE([0.9.4], [unilbrk/u32-possible-linebreaks])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNILBRK_U32_POSSIBLE_LINEBREAKS
--- a/modules/unilbrk/u8-possible-linebreaks
+++ b/modules/unilbrk/u8-possible-linebreaks
@@ -12,7 +12,7 @@
 streq
 
 configure.ac:
-gl_LIBUNISTRING_MODULE([0.9], [unilbrk/u8-possible-linebreaks])
+gl_LIBUNISTRING_MODULE([0.9.4], [unilbrk/u8-possible-linebreaks])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNILBRK_U8_POSSIBLE_LINEBREAKS
--- a/modules/unilbrk/ulc-possible-linebreaks
+++ b/modules/unilbrk/ulc-possible-linebreaks
@@ -12,7 +12,7 @@
 c-ctype
 
 configure.ac:
-gl_LIBUNISTRING_MODULE([0.9], [unilbrk/ulc-possible-linebreaks])
+gl_LIBUNISTRING_MODULE([0.9.4], [unilbrk/ulc-possible-linebreaks])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNILBRK_ULC_POSSIBLE_LINEBREAKS
--- a/modules/uninorm/canonical-decomposition
+++ b/modules/uninorm/canonical-decomposition
@@ -9,7 +9,7 @@
 uninorm/decomposition-table
 
 configure.ac:
-gl_LIBUNISTRING_MODULE([0.9], [uninorm/canonical-decomposition])
+gl_LIBUNISTRING_MODULE([0.9.4], [uninorm/canonical-decomposition])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNINORM_CANONICAL_DECOMPOSITION
--- a/modules/uninorm/composition
+++ b/modules/uninorm/composition
@@ -10,7 +10,7 @@
 gperf
 
 configure.ac:
-gl_LIBUNISTRING_MODULE([0.9], [uninorm/composition])
+gl_LIBUNISTRING_MODULE([0.9.4], [uninorm/composition])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNINORM_COMPOSITION
--- a/modules/uninorm/decomposing-form
+++ b/modules/uninorm/decomposing-form
@@ -9,7 +9,7 @@
 uninorm/base
 
 configure.ac:
-gl_LIBUNISTRING_MODULE([0.9], [uninorm/decomposing-form])
+gl_LIBUNISTRING_MODULE([0.9.4], [uninorm/decomposing-form])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNINORM_DECOMPOSING_FORM
--- a/modules/uninorm/decomposition
+++ b/modules/uninorm/decomposition
@@ -9,7 +9,7 @@
 uninorm/decomposition-table
 
 configure.ac:
-gl_LIBUNISTRING_MODULE([0.9], [uninorm/decomposition])
+gl_LIBUNISTRING_MODULE([0.9.4], [uninorm/decomposition])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNINORM_DECOMPOSITION
--- a/modules/uninorm/filter
+++ b/modules/uninorm/filter
@@ -12,7 +12,7 @@
 malloc-posix
 
 configure.ac:
-gl_LIBUNISTRING_MODULE([0.9], [uninorm/filter])
+gl_LIBUNISTRING_MODULE([0.9.4], [uninorm/filter])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNINORM_FILTER
--- a/modules/uninorm/nfc
+++ b/modules/uninorm/nfc
@@ -12,7 +12,7 @@
 uninorm/nfd
 
 configure.ac:
-gl_LIBUNISTRING_MODULE([0.9], [uninorm/nfc])
+gl_LIBUNISTRING_MODULE([0.9.4], [uninorm/nfc])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNINORM_NFC
--- a/modules/uninorm/nfd
+++ b/modules/uninorm/nfd
@@ -10,7 +10,7 @@
 uninorm/canonical-decomposition
 
 configure.ac:
-gl_LIBUNISTRING_MODULE([0.9], [uninorm/nfd])
+gl_LIBUNISTRING_MODULE([0.9.4], [uninorm/nfd])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNINORM_NFD
--- a/modules/uninorm/nfkc
+++ b/modules/uninorm/nfkc
@@ -12,7 +12,7 @@
 uninorm/nfkd
 
 configure.ac:
-gl_LIBUNISTRING_MODULE([0.9], [uninorm/nfkc])
+gl_LIBUNISTRING_MODULE([0.9.4], [uninorm/nfkc])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNINORM_NFKC
--- a/modules/uninorm/nfkd
+++ b/modules/uninorm/nfkd
@@ -10,7 +10,7 @@
 uninorm/compat-decomposition
 
 configure.ac:
-gl_LIBUNISTRING_MODULE([0.9], [uninorm/nfkd])
+gl_LIBUNISTRING_MODULE([0.9.4], [uninorm/nfkd])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNINORM_NFKD
--- a/modules/uninorm/u16-normalize
+++ b/modules/uninorm/u16-normalize
@@ -16,7 +16,7 @@
 
 configure.ac:
 gl_MODULE_INDICATOR_FOR_TESTS([uninorm/u16-normalize])
-gl_LIBUNISTRING_MODULE([0.9], [uninorm/u16-normalize])
+gl_LIBUNISTRING_MODULE([0.9.4], [uninorm/u16-normalize])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNINORM_U16_NORMALIZE
--- a/modules/uninorm/u16-normcmp
+++ b/modules/uninorm/u16-normcmp
@@ -12,7 +12,7 @@
 minmax
 
 configure.ac:
-gl_LIBUNISTRING_MODULE([0.9], [uninorm/u16-normcmp])
+gl_LIBUNISTRING_MODULE([0.9.4], [uninorm/u16-normcmp])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNINORM_U16_NORMCMP
--- a/modules/uninorm/u16-normcoll
+++ b/modules/uninorm/u16-normcoll
@@ -11,7 +11,7 @@
 memcmp2
 
 configure.ac:
-gl_LIBUNISTRING_MODULE([0.9], [uninorm/u16-normcoll])
+gl_LIBUNISTRING_MODULE([0.9.4], [uninorm/u16-normcoll])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNINORM_U16_NORMCOLL
--- a/modules/uninorm/u16-normxfrm
+++ b/modules/uninorm/u16-normxfrm
@@ -13,7 +13,7 @@
 amemxfrm
 
 configure.ac:
-gl_LIBUNISTRING_MODULE([0.9], [uninorm/u16-normxfrm])
+gl_LIBUNISTRING_MODULE([0.9.4], [uninorm/u16-normxfrm])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNINORM_U16_NORMXFRM
--- a/modules/uninorm/u32-normalize
+++ b/modules/uninorm/u32-normalize
@@ -16,7 +16,7 @@
 
 configure.ac:
 gl_MODULE_INDICATOR_FOR_TESTS([uninorm/u32-normalize])
-gl_LIBUNISTRING_MODULE([0.9], [uninorm/u32-normalize])
+gl_LIBUNISTRING_MODULE([0.9.4], [uninorm/u32-normalize])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNINORM_U32_NORMALIZE
--- a/modules/uninorm/u32-normcmp
+++ b/modules/uninorm/u32-normcmp
@@ -12,7 +12,7 @@
 minmax
 
 configure.ac:
-gl_LIBUNISTRING_MODULE([0.9], [uninorm/u32-normcmp])
+gl_LIBUNISTRING_MODULE([0.9.4], [uninorm/u32-normcmp])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNINORM_U32_NORMCMP
--- a/modules/uninorm/u32-normcoll
+++ b/modules/uninorm/u32-normcoll
@@ -11,7 +11,7 @@
 memcmp2
 
 configure.ac:
-gl_LIBUNISTRING_MODULE([0.9], [uninorm/u32-normcoll])
+gl_LIBUNISTRING_MODULE([0.9.4], [uninorm/u32-normcoll])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNINORM_U32_NORMCOLL
--- a/modules/uninorm/u32-normxfrm
+++ b/modules/uninorm/u32-normxfrm
@@ -13,7 +13,7 @@
 amemxfrm
 
 configure.ac:
-gl_LIBUNISTRING_MODULE([0.9], [uninorm/u32-normxfrm])
+gl_LIBUNISTRING_MODULE([0.9.4], [uninorm/u32-normxfrm])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNINORM_U32_NORMXFRM
--- a/modules/uninorm/u8-normalize
+++ b/modules/uninorm/u8-normalize
@@ -16,7 +16,7 @@
 
 configure.ac:
 gl_MODULE_INDICATOR_FOR_TESTS([uninorm/u8-normalize])
-gl_LIBUNISTRING_MODULE([0.9], [uninorm/u8-normalize])
+gl_LIBUNISTRING_MODULE([0.9.4], [uninorm/u8-normalize])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNINORM_U8_NORMALIZE
--- a/modules/uninorm/u8-normcmp
+++ b/modules/uninorm/u8-normcmp
@@ -12,7 +12,7 @@
 minmax
 
 configure.ac:
-gl_LIBUNISTRING_MODULE([0.9], [uninorm/u8-normcmp])
+gl_LIBUNISTRING_MODULE([0.9.4], [uninorm/u8-normcmp])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNINORM_U8_NORMCMP
--- a/modules/uninorm/u8-normcoll
+++ b/modules/uninorm/u8-normcoll
@@ -11,7 +11,7 @@
 memcmp2
 
 configure.ac:
-gl_LIBUNISTRING_MODULE([0.9], [uninorm/u8-normcoll])
+gl_LIBUNISTRING_MODULE([0.9.4], [uninorm/u8-normcoll])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNINORM_U8_NORMCOLL
--- a/modules/uninorm/u8-normxfrm
+++ b/modules/uninorm/u8-normxfrm
@@ -13,7 +13,7 @@
 amemxfrm
 
 configure.ac:
-gl_LIBUNISTRING_MODULE([0.9], [uninorm/u8-normxfrm])
+gl_LIBUNISTRING_MODULE([0.9.4], [uninorm/u8-normxfrm])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNINORM_U8_NORMXFRM
--- a/modules/uniwbrk/u16-wordbreaks
+++ b/modules/uniwbrk/u16-wordbreaks
@@ -12,7 +12,7 @@
 unistr/u16-mbtouc-unsafe
 
 configure.ac:
-gl_LIBUNISTRING_MODULE([0.9], [uniwbrk/u16-wordbreaks])
+gl_LIBUNISTRING_MODULE([0.9.4], [uniwbrk/u16-wordbreaks])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNIWBRK_U16_WORDBREAKS
--- a/modules/uniwbrk/u32-wordbreaks
+++ b/modules/uniwbrk/u32-wordbreaks
@@ -12,7 +12,7 @@
 unistr/u32-mbtouc-unsafe
 
 configure.ac:
-gl_LIBUNISTRING_MODULE([0.9], [uniwbrk/u32-wordbreaks])
+gl_LIBUNISTRING_MODULE([0.9.4], [uniwbrk/u32-wordbreaks])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNIWBRK_U32_WORDBREAKS
--- a/modules/uniwbrk/u8-wordbreaks
+++ b/modules/uniwbrk/u8-wordbreaks
@@ -12,7 +12,7 @@
 unistr/u8-mbtouc-unsafe
 
 configure.ac:
-gl_LIBUNISTRING_MODULE([0.9], [uniwbrk/u8-wordbreaks])
+gl_LIBUNISTRING_MODULE([0.9.4], [uniwbrk/u8-wordbreaks])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNIWBRK_U8_WORDBREAKS
--- a/modules/uniwbrk/ulc-wordbreaks
+++ b/modules/uniwbrk/ulc-wordbreaks
@@ -13,7 +13,7 @@
 localcharset
 
 configure.ac:
-gl_LIBUNISTRING_MODULE([0.9], [uniwbrk/ulc-wordbreaks])
+gl_LIBUNISTRING_MODULE([0.9.4], [uniwbrk/ulc-wordbreaks])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNIWBRK_ULC_WORDBREAKS
--- a/modules/uniwbrk/wordbreak-property
+++ b/modules/uniwbrk/wordbreak-property
@@ -9,7 +9,7 @@
 uniwbrk/base
 
 configure.ac:
-gl_LIBUNISTRING_MODULE([0.9], [uniwbrk/wordbreak-property])
+gl_LIBUNISTRING_MODULE([0.9.4], [uniwbrk/wordbreak-property])
 
 Makefile.am:
 if LIBUNISTRING_COMPILE_UNIWBRK_WORDBREAK_PROPERTY
--- a/tests/unicase/test-cased.c
+++ b/tests/unicase/test-cased.c
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Test the Unicode character type functions.
-   Copyright (C) 2007, 2009, 2010 Free Software Foundation, Inc.
+   Copyright (C) 2007 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -40,7 +40,7 @@
     { 0x038E, 0x03A1 },
     { 0x03A3, 0x03F5 },
     { 0x03F7, 0x0481 },
-    { 0x048A, 0x0523 },
+    { 0x048A, 0x0525 },
     { 0x0531, 0x0556 },
     { 0x0561, 0x0587 },
     { 0x10A0, 0x10C5 },
@@ -64,8 +64,6 @@
     { 0x1FE0, 0x1FEC },
     { 0x1FF2, 0x1FF4 },
     { 0x1FF6, 0x1FFC },
-    { 0x2071, 0x2071 },
-    { 0x207F, 0x207F },
     { 0x2090, 0x2094 },
     { 0x2102, 0x2102 },
     { 0x2107, 0x2107 },
@@ -86,9 +84,8 @@
     { 0x24B6, 0x24E9 },
     { 0x2C00, 0x2C2E },
     { 0x2C30, 0x2C5E },
-    { 0x2C60, 0x2C6F },
-    { 0x2C71, 0x2C7D },
-    { 0x2C80, 0x2CE4 },
+    { 0x2C60, 0x2CE4 },
+    { 0x2CEB, 0x2CEE },
     { 0x2D00, 0x2D25 },
     { 0xA640, 0xA65F },
     { 0xA662, 0xA66D },
--- a/tests/unicase/test-ignorable.c
+++ b/tests/unicase/test-ignorable.c
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Test the Unicode character type functions.
-   Copyright (C) 2007, 2009, 2010 Free Software Foundation, Inc.
+   Copyright (C) 2007 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -55,11 +55,12 @@
     { 0x07A6, 0x07B0 },
     { 0x07EB, 0x07F5 },
     { 0x07FA, 0x07FA },
-    { 0x0901, 0x0902 },
+    { 0x0816, 0x082D },
+    { 0x0900, 0x0902 },
     { 0x093C, 0x093C },
     { 0x0941, 0x0948 },
     { 0x094D, 0x094D },
-    { 0x0951, 0x0954 },
+    { 0x0951, 0x0955 },
     { 0x0962, 0x0963 },
     { 0x0971, 0x0971 },
     { 0x0981, 0x0981 },
@@ -135,6 +136,7 @@
     { 0x1082, 0x1082 },
     { 0x1085, 0x1086 },
     { 0x108D, 0x108D },
+    { 0x109D, 0x109D },
     { 0x10FC, 0x10FC },
     { 0x135F, 0x135F },
     { 0x1712, 0x1714 },
@@ -155,6 +157,14 @@
     { 0x1932, 0x1932 },
     { 0x1939, 0x193B },
     { 0x1A17, 0x1A18 },
+    { 0x1A56, 0x1A56 },
+    { 0x1A58, 0x1A5E },
+    { 0x1A60, 0x1A60 },
+    { 0x1A62, 0x1A62 },
+    { 0x1A65, 0x1A6C },
+    { 0x1A73, 0x1A7C },
+    { 0x1A7F, 0x1A7F },
+    { 0x1AA7, 0x1AA7 },
     { 0x1B00, 0x1B03 },
     { 0x1B34, 0x1B34 },
     { 0x1B36, 0x1B3A },
@@ -167,8 +177,12 @@
     { 0x1C2C, 0x1C33 },
     { 0x1C36, 0x1C37 },
     { 0x1C78, 0x1C7D },
+    { 0x1CD0, 0x1CD2 },
+    { 0x1CD4, 0x1CE0 },
+    { 0x1CE2, 0x1CE8 },
+    { 0x1CED, 0x1CED },
     { 0x1DC0, 0x1DE6 },
-    { 0x1DFE, 0x1DFF },
+    { 0x1DFD, 0x1DFF },
     { 0x1FBD, 0x1FBD },
     { 0x1FBF, 0x1FC1 },
     { 0x1FCD, 0x1FCF },
@@ -182,7 +196,10 @@
     { 0x202A, 0x202E },
     { 0x2060, 0x2064 },
     { 0x206A, 0x206F },
+    { 0x2071, 0x2071 },
+    { 0x207F, 0x207F },
     { 0x20D0, 0x20F0 },
+    { 0x2CEF, 0x2CF1 },
     { 0x2D6F, 0x2D6F },
     { 0x2DE0, 0x2DFF },
     { 0x2E2F, 0x2E2F },
@@ -193,10 +210,12 @@
     { 0x3099, 0x309E },
     { 0x30FC, 0x30FE },
     { 0xA015, 0xA015 },
+    { 0xA4F8, 0xA4FD },
     { 0xA60C, 0xA60C },
     { 0xA66F, 0xA672 },
     { 0xA67C, 0xA67D },
     { 0xA67F, 0xA67F },
+    { 0xA6F0, 0xA6F1 },
     { 0xA700, 0xA721 },
     { 0xA788, 0xA78A },
     { 0xA802, 0xA802 },
@@ -204,13 +223,29 @@
     { 0xA80B, 0xA80B },
     { 0xA825, 0xA826 },
     { 0xA8C4, 0xA8C4 },
+    { 0xA8E0, 0xA8F1 },
     { 0xA926, 0xA92D },
     { 0xA947, 0xA951 },
+    { 0xA980, 0xA982 },
+    { 0xA9B3, 0xA9B3 },
+    { 0xA9B6, 0xA9B9 },
+    { 0xA9BC, 0xA9BC },
+    { 0xA9CF, 0xA9CF },
     { 0xAA29, 0xAA2E },
     { 0xAA31, 0xAA32 },
     { 0xAA35, 0xAA36 },
     { 0xAA43, 0xAA43 },
     { 0xAA4C, 0xAA4C },
+    { 0xAA70, 0xAA70 },
+    { 0xAAB0, 0xAAB0 },
+    { 0xAAB2, 0xAAB4 },
+    { 0xAAB7, 0xAAB8 },
+    { 0xAABE, 0xAABF },
+    { 0xAAC1, 0xAAC1 },
+    { 0xAADD, 0xAADD },
+    { 0xABE5, 0xABE5 },
+    { 0xABE8, 0xABE8 },
+    { 0xABED, 0xABED },
     { 0xFB1E, 0xFB1E },
     { 0xFE00, 0xFE0F },
     { 0xFE13, 0xFE13 },
@@ -233,6 +268,10 @@
     { 0x10A0C, 0x10A0F },
     { 0x10A38, 0x10A3A },
     { 0x10A3F, 0x10A3F },
+    { 0x11080, 0x11081 },
+    { 0x110B3, 0x110B6 },
+    { 0x110B9, 0x110BA },
+    { 0x110BD, 0x110BD },
     { 0x1D167, 0x1D169 },
     { 0x1D173, 0x1D182 },
     { 0x1D185, 0x1D18B },
--- a/tests/unicase/test-uc_tolower.c
+++ b/tests/unicase/test-uc_tolower.c
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Test the Unicode character mapping functions.
-   Copyright (C) 2009, 2010 Free Software Foundation, Inc.
+   Copyright (C) 2009 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -15,7 +15,7 @@
    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
-/* Generated automatically by gen-case.c for Unicode 5.1.0.  */
+/* Generated automatically by gen-case.c for Unicode 5.2.0.  */
 
 #include "test-mapping-part1.h"
 
@@ -443,6 +443,7 @@
     { 0x051E, 0x051F },
     { 0x0520, 0x0521 },
     { 0x0522, 0x0523 },
+    { 0x0524, 0x0525 },
     { 0x0531, 0x0561 },
     { 0x0532, 0x0562 },
     { 0x0533, 0x0563 },
@@ -843,8 +844,11 @@
     { 0x2C6D, 0x0251 },
     { 0x2C6E, 0x0271 },
     { 0x2C6F, 0x0250 },
+    { 0x2C70, 0x0252 },
     { 0x2C72, 0x2C73 },
     { 0x2C75, 0x2C76 },
+    { 0x2C7E, 0x023F },
+    { 0x2C7F, 0x0240 },
     { 0x2C80, 0x2C81 },
     { 0x2C82, 0x2C83 },
     { 0x2C84, 0x2C85 },
@@ -895,6 +899,8 @@
     { 0x2CDE, 0x2CDF },
     { 0x2CE0, 0x2CE1 },
     { 0x2CE2, 0x2CE3 },
+    { 0x2CEB, 0x2CEC },
+    { 0x2CED, 0x2CEE },
     { 0xA640, 0xA641 },
     { 0xA642, 0xA643 },
     { 0xA644, 0xA645 },
--- a/tests/unicase/test-uc_totitle.c
+++ b/tests/unicase/test-uc_totitle.c
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Test the Unicode character mapping functions.
-   Copyright (C) 2009, 2010 Free Software Foundation, Inc.
+   Copyright (C) 2009 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -15,7 +15,7 @@
    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
-/* Generated automatically by gen-case.c for Unicode 5.1.0.  */
+/* Generated automatically by gen-case.c for Unicode 5.2.0.  */
 
 #include "test-mapping-part1.h"
 
@@ -218,6 +218,8 @@
     { 0x0231, 0x0230 },
     { 0x0233, 0x0232 },
     { 0x023C, 0x023B },
+    { 0x023F, 0x2C7E },
+    { 0x0240, 0x2C7F },
     { 0x0242, 0x0241 },
     { 0x0247, 0x0246 },
     { 0x0249, 0x0248 },
@@ -226,6 +228,7 @@
     { 0x024F, 0x024E },
     { 0x0250, 0x2C6F },
     { 0x0251, 0x2C6D },
+    { 0x0252, 0x2C70 },
     { 0x0253, 0x0181 },
     { 0x0254, 0x0186 },
     { 0x0256, 0x0189 },
@@ -456,6 +459,7 @@
     { 0x051F, 0x051E },
     { 0x0521, 0x0520 },
     { 0x0523, 0x0522 },
+    { 0x0525, 0x0524 },
     { 0x0561, 0x0531 },
     { 0x0562, 0x0532 },
     { 0x0563, 0x0533 },
@@ -866,6 +870,8 @@
     { 0x2CDF, 0x2CDE },
     { 0x2CE1, 0x2CE0 },
     { 0x2CE3, 0x2CE2 },
+    { 0x2CEC, 0x2CEB },
+    { 0x2CEE, 0x2CED },
     { 0x2D00, 0x10A0 },
     { 0x2D01, 0x10A1 },
     { 0x2D02, 0x10A2 },
--- a/tests/unicase/test-uc_toupper.c
+++ b/tests/unicase/test-uc_toupper.c
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Test the Unicode character mapping functions.
-   Copyright (C) 2009, 2010 Free Software Foundation, Inc.
+   Copyright (C) 2009 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -15,7 +15,7 @@
    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
-/* Generated automatically by gen-case.c for Unicode 5.1.0.  */
+/* Generated automatically by gen-case.c for Unicode 5.2.0.  */
 
 #include "test-mapping-part1.h"
 
@@ -218,6 +218,8 @@
     { 0x0231, 0x0230 },
     { 0x0233, 0x0232 },
     { 0x023C, 0x023B },
+    { 0x023F, 0x2C7E },
+    { 0x0240, 0x2C7F },
     { 0x0242, 0x0241 },
     { 0x0247, 0x0246 },
     { 0x0249, 0x0248 },
@@ -226,6 +228,7 @@
     { 0x024F, 0x024E },
     { 0x0250, 0x2C6F },
     { 0x0251, 0x2C6D },
+    { 0x0252, 0x2C70 },
     { 0x0253, 0x0181 },
     { 0x0254, 0x0186 },
     { 0x0256, 0x0189 },
@@ -456,6 +459,7 @@
     { 0x051F, 0x051E },
     { 0x0521, 0x0520 },
     { 0x0523, 0x0522 },
+    { 0x0525, 0x0524 },
     { 0x0561, 0x0531 },
     { 0x0562, 0x0532 },
     { 0x0563, 0x0533 },
@@ -866,6 +870,8 @@
     { 0x2CDF, 0x2CDE },
     { 0x2CE1, 0x2CE0 },
     { 0x2CE3, 0x2CE2 },
+    { 0x2CEC, 0x2CEB },
+    { 0x2CEE, 0x2CED },
     { 0x2D00, 0x10A0 },
     { 0x2D01, 0x10A1 },
     { 0x2D02, 0x10A2 },
--- a/tests/unictype/test-categ_C.c
+++ b/tests/unictype/test-categ_C.c
@@ -25,7 +25,7 @@
     { 0x038B, 0x038B },
     { 0x038D, 0x038D },
     { 0x03A2, 0x03A2 },
-    { 0x0524, 0x0530 },
+    { 0x0526, 0x0530 },
     { 0x0557, 0x0558 },
     { 0x0560, 0x0560 },
     { 0x0588, 0x0588 },
@@ -40,11 +40,13 @@
     { 0x070E, 0x070F },
     { 0x074B, 0x074C },
     { 0x07B2, 0x07BF },
-    { 0x07FB, 0x0900 },
+    { 0x07FB, 0x07FF },
+    { 0x082E, 0x082F },
+    { 0x083F, 0x08FF },
     { 0x093A, 0x093B },
-    { 0x094E, 0x094F },
-    { 0x0955, 0x0957 },
-    { 0x0973, 0x097A },
+    { 0x094F, 0x094F },
+    { 0x0956, 0x0957 },
+    { 0x0973, 0x0978 },
     { 0x0980, 0x0980 },
     { 0x0984, 0x0984 },
     { 0x098D, 0x098E },
@@ -59,7 +61,7 @@
     { 0x09D8, 0x09DB },
     { 0x09DE, 0x09DE },
     { 0x09E4, 0x09E5 },
-    { 0x09FB, 0x0A00 },
+    { 0x09FC, 0x0A00 },
     { 0x0A04, 0x0A04 },
     { 0x0A0B, 0x0A0E },
     { 0x0A11, 0x0A12 },
@@ -197,13 +199,9 @@
     { 0x0F98, 0x0F98 },
     { 0x0FBD, 0x0FBD },
     { 0x0FCD, 0x0FCD },
-    { 0x0FD5, 0x0FFF },
-    { 0x109A, 0x109D },
+    { 0x0FD9, 0x0FFF },
     { 0x10C6, 0x10CF },
     { 0x10FD, 0x10FF },
-    { 0x115A, 0x115E },
-    { 0x11A3, 0x11A7 },
-    { 0x11FA, 0x11FF },
     { 0x1249, 0x1249 },
     { 0x124E, 0x124F },
     { 0x1257, 0x1257 },
@@ -222,8 +220,7 @@
     { 0x135B, 0x135E },
     { 0x137D, 0x137F },
     { 0x139A, 0x139F },
-    { 0x13F5, 0x1400 },
-    { 0x1677, 0x167F },
+    { 0x13F5, 0x13FF },
     { 0x169D, 0x169F },
     { 0x16F1, 0x16FF },
     { 0x170D, 0x170D },
@@ -240,26 +237,32 @@
     { 0x180F, 0x180F },
     { 0x181A, 0x181F },
     { 0x1878, 0x187F },
-    { 0x18AB, 0x18FF },
+    { 0x18AB, 0x18AF },
+    { 0x18F6, 0x18FF },
     { 0x191D, 0x191F },
     { 0x192C, 0x192F },
     { 0x193C, 0x193F },
     { 0x1941, 0x1943 },
     { 0x196E, 0x196F },
     { 0x1975, 0x197F },
-    { 0x19AA, 0x19AF },
+    { 0x19AC, 0x19AF },
     { 0x19CA, 0x19CF },
-    { 0x19DA, 0x19DD },
+    { 0x19DB, 0x19DD },
     { 0x1A1C, 0x1A1D },
-    { 0x1A20, 0x1AFF },
+    { 0x1A5F, 0x1A5F },
+    { 0x1A7D, 0x1A7E },
+    { 0x1A8A, 0x1A8F },
+    { 0x1A9A, 0x1A9F },
+    { 0x1AAE, 0x1AFF },
     { 0x1B4C, 0x1B4F },
     { 0x1B7D, 0x1B7F },
     { 0x1BAB, 0x1BAD },
     { 0x1BBA, 0x1BFF },
     { 0x1C38, 0x1C3A },
     { 0x1C4A, 0x1C4C },
-    { 0x1C80, 0x1CFF },
-    { 0x1DE7, 0x1DFD },
+    { 0x1C80, 0x1CCF },
+    { 0x1CF3, 0x1CFF },
+    { 0x1DE7, 0x1DFC },
     { 0x1F16, 0x1F17 },
     { 0x1F1E, 0x1F1F },
     { 0x1F46, 0x1F47 },
@@ -282,23 +285,22 @@
     { 0x2072, 0x2073 },
     { 0x208F, 0x208F },
     { 0x2095, 0x209F },
-    { 0x20B6, 0x20CF },
+    { 0x20B9, 0x20CF },
     { 0x20F1, 0x20FF },
-    { 0x2150, 0x2152 },
-    { 0x2189, 0x218F },
-    { 0x23E8, 0x23FF },
+    { 0x218A, 0x218F },
+    { 0x23E9, 0x23FF },
     { 0x2427, 0x243F },
     { 0x244B, 0x245F },
-    { 0x269E, 0x269F },
-    { 0x26BD, 0x26BF },
-    { 0x26C4, 0x2700 },
+    { 0x26CE, 0x26CE },
+    { 0x26E2, 0x26E2 },
+    { 0x26E4, 0x26E7 },
+    { 0x2700, 0x2700 },
     { 0x2705, 0x2705 },
     { 0x270A, 0x270B },
     { 0x2728, 0x2728 },
     { 0x274C, 0x274C },
     { 0x274E, 0x274E },
     { 0x2753, 0x2755 },
-    { 0x2757, 0x2757 },
     { 0x275F, 0x2760 },
     { 0x2795, 0x2797 },
     { 0x27B0, 0x27B0 },
@@ -306,12 +308,10 @@
     { 0x27CB, 0x27CB },
     { 0x27CD, 0x27CF },
     { 0x2B4D, 0x2B4F },
-    { 0x2B55, 0x2BFF },
+    { 0x2B5A, 0x2BFF },
     { 0x2C2F, 0x2C2F },
     { 0x2C5F, 0x2C5F },
-    { 0x2C70, 0x2C70 },
-    { 0x2C7E, 0x2C7F },
-    { 0x2CEB, 0x2CF8 },
+    { 0x2CF2, 0x2CF8 },
     { 0x2D26, 0x2D2F },
     { 0x2D66, 0x2D6E },
     { 0x2D70, 0x2D7F },
@@ -324,7 +324,7 @@
     { 0x2DCF, 0x2DCF },
     { 0x2DD7, 0x2DD7 },
     { 0x2DDF, 0x2DDF },
-    { 0x2E31, 0x2E7F },
+    { 0x2E32, 0x2E7F },
     { 0x2E9A, 0x2E9A },
     { 0x2EF4, 0x2EFF },
     { 0x2FD6, 0x2FEF },
@@ -337,30 +337,41 @@
     { 0x31B8, 0x31BF },
     { 0x31E4, 0x31EF },
     { 0x321F, 0x321F },
-    { 0x3244, 0x324F },
     { 0x32FF, 0x32FF },
     { 0x4DB6, 0x4DBF },
-    { 0x9FC4, 0x9FFF },
+    { 0x9FCC, 0x9FFF },
     { 0xA48D, 0xA48F },
-    { 0xA4C7, 0xA4FF },
+    { 0xA4C7, 0xA4CF },
     { 0xA62C, 0xA63F },
     { 0xA660, 0xA661 },
     { 0xA674, 0xA67B },
-    { 0xA698, 0xA6FF },
+    { 0xA698, 0xA69F },
+    { 0xA6F8, 0xA6FF },
     { 0xA78D, 0xA7FA },
-    { 0xA82C, 0xA83F },
+    { 0xA82C, 0xA82F },
+    { 0xA83A, 0xA83F },
     { 0xA878, 0xA87F },
     { 0xA8C5, 0xA8CD },
-    { 0xA8DA, 0xA8FF },
+    { 0xA8DA, 0xA8DF },
+    { 0xA8FC, 0xA8FF },
     { 0xA954, 0xA95E },
-    { 0xA960, 0xA9FF },
+    { 0xA97D, 0xA97F },
+    { 0xA9CE, 0xA9CE },
+    { 0xA9DA, 0xA9DD },
+    { 0xA9E0, 0xA9FF },
     { 0xAA37, 0xAA3F },
     { 0xAA4E, 0xAA4F },
     { 0xAA5A, 0xAA5B },
-    { 0xAA60, 0xABFF },
-    { 0xD7A4, 0xF8FF },
+    { 0xAA7C, 0xAA7F },
+    { 0xAAC3, 0xAADA },
+    { 0xAAE0, 0xABBF },
+    { 0xABEE, 0xABEF },
+    { 0xABFA, 0xABFF },
+    { 0xD7A4, 0xD7AF },
+    { 0xD7C7, 0xD7CA },
+    { 0xD7FC, 0xF8FF },
     { 0xFA2E, 0xFA2F },
-    { 0xFA6B, 0xFA6F },
+    { 0xFA6E, 0xFA6F },
     { 0xFADA, 0xFAFF },
     { 0xFB07, 0xFB12 },
     { 0xFB18, 0xFB1C },
@@ -416,8 +427,9 @@
     { 0x10836, 0x10836 },
     { 0x10839, 0x1083B },
     { 0x1083D, 0x1083E },
-    { 0x10840, 0x108FF },
-    { 0x1091A, 0x1091E },
+    { 0x10856, 0x10856 },
+    { 0x10860, 0x108FF },
+    { 0x1091C, 0x1091E },
     { 0x1093A, 0x1093E },
     { 0x10940, 0x109FF },
     { 0x10A04, 0x10A04 },
@@ -427,10 +439,20 @@
     { 0x10A34, 0x10A37 },
     { 0x10A3B, 0x10A3E },
     { 0x10A48, 0x10A4F },
-    { 0x10A59, 0x11FFF },
+    { 0x10A59, 0x10A5F },
+    { 0x10A80, 0x10AFF },
+    { 0x10B36, 0x10B38 },
+    { 0x10B56, 0x10B57 },
+    { 0x10B73, 0x10B77 },
+    { 0x10B80, 0x10BFF },
+    { 0x10C49, 0x10E5F },
+    { 0x10E7F, 0x1107F },
+    { 0x110BD, 0x110BD },
+    { 0x110C2, 0x11FFF },
     { 0x1236F, 0x123FF },
     { 0x12463, 0x1246F },
-    { 0x12474, 0x1CFFF },
+    { 0x12474, 0x12FFF },
+    { 0x1342F, 0x1CFFF },
     { 0x1D0F6, 0x1D0FF },
     { 0x1D127, 0x1D128 },
     { 0x1D173, 0x1D17A },
@@ -460,8 +482,27 @@
     { 0x1D7CC, 0x1D7CD },
     { 0x1D800, 0x1EFFF },
     { 0x1F02C, 0x1F02F },
-    { 0x1F094, 0x1FFFF },
-    { 0x2A6D7, 0x2F7FF },
+    { 0x1F094, 0x1F0FF },
+    { 0x1F10B, 0x1F10F },
+    { 0x1F12F, 0x1F130 },
+    { 0x1F132, 0x1F13C },
+    { 0x1F13E, 0x1F13E },
+    { 0x1F140, 0x1F141 },
+    { 0x1F143, 0x1F145 },
+    { 0x1F147, 0x1F149 },
+    { 0x1F14F, 0x1F156 },
+    { 0x1F158, 0x1F15E },
+    { 0x1F160, 0x1F178 },
+    { 0x1F17A, 0x1F17A },
+    { 0x1F17D, 0x1F17E },
+    { 0x1F180, 0x1F189 },
+    { 0x1F18E, 0x1F18F },
+    { 0x1F191, 0x1F1FF },
+    { 0x1F201, 0x1F20F },
+    { 0x1F232, 0x1F23F },
+    { 0x1F249, 0x1FFFF },
+    { 0x2A6D7, 0x2A6FF },
+    { 0x2B735, 0x2F7FF },
     { 0x2FA1E, 0xE00FF },
     { 0xE01F0, 0x10FFFF }
 
--- a/tests/unictype/test-categ_Cf.c
+++ b/tests/unictype/test-categ_Cf.c
@@ -28,6 +28,7 @@
     { 0x206A, 0x206F },
     { 0xFEFF, 0xFEFF },
     { 0xFFF9, 0xFFFB },
+    { 0x110BD, 0x110BD },
     { 0x1D173, 0x1D17A },
     { 0xE0001, 0xE0001 },
     { 0xE0020, 0xE007F }
--- a/tests/unictype/test-categ_Cn.c
+++ b/tests/unictype/test-categ_Cn.c
@@ -22,7 +22,7 @@
     { 0x038B, 0x038B },
     { 0x038D, 0x038D },
     { 0x03A2, 0x03A2 },
-    { 0x0524, 0x0530 },
+    { 0x0526, 0x0530 },
     { 0x0557, 0x0558 },
     { 0x0560, 0x0560 },
     { 0x0588, 0x0588 },
@@ -37,11 +37,13 @@
     { 0x070E, 0x070E },
     { 0x074B, 0x074C },
     { 0x07B2, 0x07BF },
-    { 0x07FB, 0x0900 },
+    { 0x07FB, 0x07FF },
+    { 0x082E, 0x082F },
+    { 0x083F, 0x08FF },
     { 0x093A, 0x093B },
-    { 0x094E, 0x094F },
-    { 0x0955, 0x0957 },
-    { 0x0973, 0x097A },
+    { 0x094F, 0x094F },
+    { 0x0956, 0x0957 },
+    { 0x0973, 0x0978 },
     { 0x0980, 0x0980 },
     { 0x0984, 0x0984 },
     { 0x098D, 0x098E },
@@ -56,7 +58,7 @@
     { 0x09D8, 0x09DB },
     { 0x09DE, 0x09DE },
     { 0x09E4, 0x09E5 },
-    { 0x09FB, 0x0A00 },
+    { 0x09FC, 0x0A00 },
     { 0x0A04, 0x0A04 },
     { 0x0A0B, 0x0A0E },
     { 0x0A11, 0x0A12 },
@@ -194,13 +196,9 @@
     { 0x0F98, 0x0F98 },
     { 0x0FBD, 0x0FBD },
     { 0x0FCD, 0x0FCD },
-    { 0x0FD5, 0x0FFF },
-    { 0x109A, 0x109D },
+    { 0x0FD9, 0x0FFF },
     { 0x10C6, 0x10CF },
     { 0x10FD, 0x10FF },
-    { 0x115A, 0x115E },
-    { 0x11A3, 0x11A7 },
-    { 0x11FA, 0x11FF },
     { 0x1249, 0x1249 },
     { 0x124E, 0x124F },
     { 0x1257, 0x1257 },
@@ -219,8 +217,7 @@
     { 0x135B, 0x135E },
     { 0x137D, 0x137F },
     { 0x139A, 0x139F },
-    { 0x13F5, 0x1400 },
-    { 0x1677, 0x167F },
+    { 0x13F5, 0x13FF },
     { 0x169D, 0x169F },
     { 0x16F1, 0x16FF },
     { 0x170D, 0x170D },
@@ -236,26 +233,32 @@
     { 0x180F, 0x180F },
     { 0x181A, 0x181F },
     { 0x1878, 0x187F },
-    { 0x18AB, 0x18FF },
+    { 0x18AB, 0x18AF },
+    { 0x18F6, 0x18FF },
     { 0x191D, 0x191F },
     { 0x192C, 0x192F },
     { 0x193C, 0x193F },
     { 0x1941, 0x1943 },
     { 0x196E, 0x196F },
     { 0x1975, 0x197F },
-    { 0x19AA, 0x19AF },
+    { 0x19AC, 0x19AF },
     { 0x19CA, 0x19CF },
-    { 0x19DA, 0x19DD },
+    { 0x19DB, 0x19DD },
     { 0x1A1C, 0x1A1D },
-    { 0x1A20, 0x1AFF },
+    { 0x1A5F, 0x1A5F },
+    { 0x1A7D, 0x1A7E },
+    { 0x1A8A, 0x1A8F },
+    { 0x1A9A, 0x1A9F },
+    { 0x1AAE, 0x1AFF },
     { 0x1B4C, 0x1B4F },
     { 0x1B7D, 0x1B7F },
     { 0x1BAB, 0x1BAD },
     { 0x1BBA, 0x1BFF },
     { 0x1C38, 0x1C3A },
     { 0x1C4A, 0x1C4C },
-    { 0x1C80, 0x1CFF },
-    { 0x1DE7, 0x1DFD },
+    { 0x1C80, 0x1CCF },
+    { 0x1CF3, 0x1CFF },
+    { 0x1DE7, 0x1DFC },
     { 0x1F16, 0x1F17 },
     { 0x1F1E, 0x1F1F },
     { 0x1F46, 0x1F47 },
@@ -276,23 +279,22 @@
     { 0x2072, 0x2073 },
     { 0x208F, 0x208F },
     { 0x2095, 0x209F },
-    { 0x20B6, 0x20CF },
+    { 0x20B9, 0x20CF },
     { 0x20F1, 0x20FF },
-    { 0x2150, 0x2152 },
-    { 0x2189, 0x218F },
-    { 0x23E8, 0x23FF },
+    { 0x218A, 0x218F },
+    { 0x23E9, 0x23FF },
     { 0x2427, 0x243F },
     { 0x244B, 0x245F },
-    { 0x269E, 0x269F },
-    { 0x26BD, 0x26BF },
-    { 0x26C4, 0x2700 },
+    { 0x26CE, 0x26CE },
+    { 0x26E2, 0x26E2 },
+    { 0x26E4, 0x26E7 },
+    { 0x2700, 0x2700 },
     { 0x2705, 0x2705 },
     { 0x270A, 0x270B },
     { 0x2728, 0x2728 },
     { 0x274C, 0x274C },
     { 0x274E, 0x274E },
     { 0x2753, 0x2755 },
-    { 0x2757, 0x2757 },
     { 0x275F, 0x2760 },
     { 0x2795, 0x2797 },
     { 0x27B0, 0x27B0 },
@@ -300,12 +302,10 @@
     { 0x27CB, 0x27CB },
     { 0x27CD, 0x27CF },
     { 0x2B4D, 0x2B4F },
-    { 0x2B55, 0x2BFF },
+    { 0x2B5A, 0x2BFF },
     { 0x2C2F, 0x2C2F },
     { 0x2C5F, 0x2C5F },
-    { 0x2C70, 0x2C70 },
-    { 0x2C7E, 0x2C7F },
-    { 0x2CEB, 0x2CF8 },
+    { 0x2CF2, 0x2CF8 },
     { 0x2D26, 0x2D2F },
     { 0x2D66, 0x2D6E },
     { 0x2D70, 0x2D7F },
@@ -318,7 +318,7 @@
     { 0x2DCF, 0x2DCF },
     { 0x2DD7, 0x2DD7 },
     { 0x2DDF, 0x2DDF },
-    { 0x2E31, 0x2E7F },
+    { 0x2E32, 0x2E7F },
     { 0x2E9A, 0x2E9A },
     { 0x2EF4, 0x2EFF },
     { 0x2FD6, 0x2FEF },
@@ -331,30 +331,41 @@
     { 0x31B8, 0x31BF },
     { 0x31E4, 0x31EF },
     { 0x321F, 0x321F },
-    { 0x3244, 0x324F },
     { 0x32FF, 0x32FF },
     { 0x4DB6, 0x4DBF },
-    { 0x9FC4, 0x9FFF },
+    { 0x9FCC, 0x9FFF },
     { 0xA48D, 0xA48F },
-    { 0xA4C7, 0xA4FF },
+    { 0xA4C7, 0xA4CF },
     { 0xA62C, 0xA63F },
     { 0xA660, 0xA661 },
     { 0xA674, 0xA67B },
-    { 0xA698, 0xA6FF },
+    { 0xA698, 0xA69F },
+    { 0xA6F8, 0xA6FF },
     { 0xA78D, 0xA7FA },
-    { 0xA82C, 0xA83F },
+    { 0xA82C, 0xA82F },
+    { 0xA83A, 0xA83F },
     { 0xA878, 0xA87F },
     { 0xA8C5, 0xA8CD },
-    { 0xA8DA, 0xA8FF },
+    { 0xA8DA, 0xA8DF },
+    { 0xA8FC, 0xA8FF },
     { 0xA954, 0xA95E },
-    { 0xA960, 0xA9FF },
+    { 0xA97D, 0xA97F },
+    { 0xA9CE, 0xA9CE },
+    { 0xA9DA, 0xA9DD },
+    { 0xA9E0, 0xA9FF },
     { 0xAA37, 0xAA3F },
     { 0xAA4E, 0xAA4F },
     { 0xAA5A, 0xAA5B },
-    { 0xAA60, 0xABFF },
-    { 0xD7A4, 0xD7FF },
+    { 0xAA7C, 0xAA7F },
+    { 0xAAC3, 0xAADA },
+    { 0xAAE0, 0xABBF },
+    { 0xABEE, 0xABEF },
+    { 0xABFA, 0xABFF },
+    { 0xD7A4, 0xD7AF },
+    { 0xD7C7, 0xD7CA },
+    { 0xD7FC, 0xD7FF },
     { 0xFA2E, 0xFA2F },
-    { 0xFA6B, 0xFA6F },
+    { 0xFA6E, 0xFA6F },
     { 0xFADA, 0xFAFF },
     { 0xFB07, 0xFB12 },
     { 0xFB18, 0xFB1C },
@@ -411,8 +422,9 @@
     { 0x10836, 0x10836 },
     { 0x10839, 0x1083B },
     { 0x1083D, 0x1083E },
-    { 0x10840, 0x108FF },
-    { 0x1091A, 0x1091E },
+    { 0x10856, 0x10856 },
+    { 0x10860, 0x108FF },
+    { 0x1091C, 0x1091E },
     { 0x1093A, 0x1093E },
     { 0x10940, 0x109FF },
     { 0x10A04, 0x10A04 },
@@ -422,10 +434,19 @@
     { 0x10A34, 0x10A37 },
     { 0x10A3B, 0x10A3E },
     { 0x10A48, 0x10A4F },
-    { 0x10A59, 0x11FFF },
+    { 0x10A59, 0x10A5F },
+    { 0x10A80, 0x10AFF },
+    { 0x10B36, 0x10B38 },
+    { 0x10B56, 0x10B57 },
+    { 0x10B73, 0x10B77 },
+    { 0x10B80, 0x10BFF },
+    { 0x10C49, 0x10E5F },
+    { 0x10E7F, 0x1107F },
+    { 0x110C2, 0x11FFF },
     { 0x1236F, 0x123FF },
     { 0x12463, 0x1246F },
-    { 0x12474, 0x1CFFF },
+    { 0x12474, 0x12FFF },
+    { 0x1342F, 0x1CFFF },
     { 0x1D0F6, 0x1D0FF },
     { 0x1D127, 0x1D128 },
     { 0x1D1DE, 0x1D1FF },
@@ -454,8 +475,27 @@
     { 0x1D7CC, 0x1D7CD },
     { 0x1D800, 0x1EFFF },
     { 0x1F02C, 0x1F02F },
-    { 0x1F094, 0x1FFFF },
-    { 0x2A6D7, 0x2F7FF },
+    { 0x1F094, 0x1F0FF },
+    { 0x1F10B, 0x1F10F },
+    { 0x1F12F, 0x1F130 },
+    { 0x1F132, 0x1F13C },
+    { 0x1F13E, 0x1F13E },
+    { 0x1F140, 0x1F141 },
+    { 0x1F143, 0x1F145 },
+    { 0x1F147, 0x1F149 },
+    { 0x1F14F, 0x1F156 },
+    { 0x1F158, 0x1F15E },
+    { 0x1F160, 0x1F178 },
+    { 0x1F17A, 0x1F17A },
+    { 0x1F17D, 0x1F17E },
+    { 0x1F180, 0x1F189 },
+    { 0x1F18E, 0x1F18F },
+    { 0x1F191, 0x1F1FF },
+    { 0x1F201, 0x1F20F },
+    { 0x1F232, 0x1F23F },
+    { 0x1F249, 0x1FFFF },
+    { 0x2A6D7, 0x2A6FF },
+    { 0x2B735, 0x2F7FF },
     { 0x2FA1E, 0xE0000 },
     { 0xE0002, 0xE001F },
     { 0xE0080, 0xE00FF },
--- a/tests/unictype/test-categ_L.c
+++ b/tests/unictype/test-categ_L.c
@@ -38,7 +38,7 @@
     { 0x038E, 0x03A1 },
     { 0x03A3, 0x03F5 },
     { 0x03F7, 0x0481 },
-    { 0x048A, 0x0523 },
+    { 0x048A, 0x0525 },
     { 0x0531, 0x0556 },
     { 0x0559, 0x0559 },
     { 0x0561, 0x0587 },
@@ -59,12 +59,16 @@
     { 0x07CA, 0x07EA },
     { 0x07F4, 0x07F5 },
     { 0x07FA, 0x07FA },
+    { 0x0800, 0x0815 },
+    { 0x081A, 0x081A },
+    { 0x0824, 0x0824 },
+    { 0x0828, 0x0828 },
     { 0x0904, 0x0939 },
     { 0x093D, 0x093D },
     { 0x0950, 0x0950 },
     { 0x0958, 0x0961 },
     { 0x0971, 0x0972 },
-    { 0x097B, 0x097F },
+    { 0x0979, 0x097F },
     { 0x0985, 0x098C },
     { 0x098F, 0x0990 },
     { 0x0993, 0x09A8 },
@@ -180,10 +184,7 @@
     { 0x10A0, 0x10C5 },
     { 0x10D0, 0x10FA },
     { 0x10FC, 0x10FC },
-    { 0x1100, 0x1159 },
-    { 0x115F, 0x11A2 },
-    { 0x11A8, 0x11F9 },
-    { 0x1200, 0x1248 },
+    { 0x1100, 0x1248 },
     { 0x124A, 0x124D },
     { 0x1250, 0x1256 },
     { 0x1258, 0x1258 },
@@ -202,7 +203,7 @@
     { 0x1380, 0x138F },
     { 0x13A0, 0x13F4 },
     { 0x1401, 0x166C },
-    { 0x166F, 0x1676 },
+    { 0x166F, 0x167F },
     { 0x1681, 0x169A },
     { 0x16A0, 0x16EA },
     { 0x1700, 0x170C },
@@ -217,12 +218,15 @@
     { 0x1820, 0x1877 },
     { 0x1880, 0x18A8 },
     { 0x18AA, 0x18AA },
+    { 0x18B0, 0x18F5 },
     { 0x1900, 0x191C },
     { 0x1950, 0x196D },
     { 0x1970, 0x1974 },
-    { 0x1980, 0x19A9 },
+    { 0x1980, 0x19AB },
     { 0x19C1, 0x19C7 },
     { 0x1A00, 0x1A16 },
+    { 0x1A20, 0x1A54 },
+    { 0x1AA7, 0x1AA7 },
     { 0x1B05, 0x1B33 },
     { 0x1B45, 0x1B4B },
     { 0x1B83, 0x1BA0 },
@@ -230,6 +234,8 @@
     { 0x1C00, 0x1C23 },
     { 0x1C4D, 0x1C4F },
     { 0x1C5A, 0x1C7D },
+    { 0x1CE9, 0x1CEC },
+    { 0x1CEE, 0x1CF1 },
     { 0x1D00, 0x1DBF },
     { 0x1E00, 0x1F15 },
     { 0x1F18, 0x1F1D },
@@ -269,9 +275,8 @@
     { 0x2183, 0x2184 },
     { 0x2C00, 0x2C2E },
     { 0x2C30, 0x2C5E },
-    { 0x2C60, 0x2C6F },
-    { 0x2C71, 0x2C7D },
-    { 0x2C80, 0x2CE4 },
+    { 0x2C60, 0x2CE4 },
+    { 0x2CEB, 0x2CEE },
     { 0x2D00, 0x2D25 },
     { 0x2D30, 0x2D65 },
     { 0x2D6F, 0x2D6F },
@@ -297,14 +302,16 @@
     { 0x31A0, 0x31B7 },
     { 0x31F0, 0x31FF },
     { 0x3400, 0x4DB5 },
-    { 0x4E00, 0x9FC3 },
+    { 0x4E00, 0x9FCB },
     { 0xA000, 0xA48C },
+    { 0xA4D0, 0xA4FD },
     { 0xA500, 0xA60C },
     { 0xA610, 0xA61F },
     { 0xA62A, 0xA62B },
     { 0xA640, 0xA65F },
     { 0xA662, 0xA66E },
     { 0xA67F, 0xA697 },
+    { 0xA6A0, 0xA6E5 },
     { 0xA717, 0xA71F },
     { 0xA722, 0xA788 },
     { 0xA78B, 0xA78C },
@@ -314,14 +321,31 @@
     { 0xA80C, 0xA822 },
     { 0xA840, 0xA873 },
     { 0xA882, 0xA8B3 },
+    { 0xA8F2, 0xA8F7 },
+    { 0xA8FB, 0xA8FB },
     { 0xA90A, 0xA925 },
     { 0xA930, 0xA946 },
+    { 0xA960, 0xA97C },
+    { 0xA984, 0xA9B2 },
+    { 0xA9CF, 0xA9CF },
     { 0xAA00, 0xAA28 },
     { 0xAA40, 0xAA42 },
     { 0xAA44, 0xAA4B },
+    { 0xAA60, 0xAA76 },
+    { 0xAA7A, 0xAA7A },
+    { 0xAA80, 0xAAAF },
+    { 0xAAB1, 0xAAB1 },
+    { 0xAAB5, 0xAAB6 },
+    { 0xAAB9, 0xAABD },
+    { 0xAAC0, 0xAAC0 },
+    { 0xAAC2, 0xAAC2 },
+    { 0xAADB, 0xAADD },
+    { 0xABC0, 0xABE2 },
     { 0xAC00, 0xD7A3 },
+    { 0xD7B0, 0xD7C6 },
+    { 0xD7CB, 0xD7FB },
     { 0xF900, 0xFA2D },
-    { 0xFA30, 0xFA6A },
+    { 0xFA30, 0xFA6D },
     { 0xFA70, 0xFAD9 },
     { 0xFB00, 0xFB06 },
     { 0xFB13, 0xFB17 },
@@ -367,14 +391,21 @@
     { 0x1080A, 0x10835 },
     { 0x10837, 0x10838 },
     { 0x1083C, 0x1083C },
-    { 0x1083F, 0x1083F },
+    { 0x1083F, 0x10855 },
     { 0x10900, 0x10915 },
     { 0x10920, 0x10939 },
     { 0x10A00, 0x10A00 },
     { 0x10A10, 0x10A13 },
     { 0x10A15, 0x10A17 },
     { 0x10A19, 0x10A33 },
+    { 0x10A60, 0x10A7C },
+    { 0x10B00, 0x10B35 },
+    { 0x10B40, 0x10B55 },
+    { 0x10B60, 0x10B72 },
+    { 0x10C00, 0x10C48 },
+    { 0x11083, 0x110AF },
     { 0x12000, 0x1236E },
+    { 0x13000, 0x1342E },
     { 0x1D400, 0x1D454 },
     { 0x1D456, 0x1D49C },
     { 0x1D49E, 0x1D49F },
@@ -406,6 +437,7 @@
     { 0x1D7AA, 0x1D7C2 },
     { 0x1D7C4, 0x1D7CB },
     { 0x20000, 0x2A6D6 },
+    { 0x2A700, 0x2B734 },
     { 0x2F800, 0x2FA1D }
 
 #define PREDICATE(c) uc_is_general_category (c, UC_CATEGORY_L)
--- a/tests/unictype/test-categ_Ll.c
+++ b/tests/unictype/test-categ_Ll.c
@@ -282,6 +282,7 @@
     { 0x051F, 0x051F },
     { 0x0521, 0x0521 },
     { 0x0523, 0x0523 },
+    { 0x0525, 0x0525 },
     { 0x0561, 0x0587 },
     { 0x1D00, 0x1D2B },
     { 0x1D62, 0x1D77 },
@@ -430,8 +431,6 @@
     { 0x1FE0, 0x1FE7 },
     { 0x1FF2, 0x1FF4 },
     { 0x1FF6, 0x1FF7 },
-    { 0x2071, 0x2071 },
-    { 0x207F, 0x207F },
     { 0x210A, 0x210A },
     { 0x210E, 0x210F },
     { 0x2113, 0x2113 },
@@ -501,6 +500,8 @@
     { 0x2CDF, 0x2CDF },
     { 0x2CE1, 0x2CE1 },
     { 0x2CE3, 0x2CE4 },
+    { 0x2CEC, 0x2CEC },
+    { 0x2CEE, 0x2CEE },
     { 0x2D00, 0x2D25 },
     { 0xA641, 0xA641 },
     { 0xA643, 0xA643 },
--- a/tests/unictype/test-categ_Lm.c
+++ b/tests/unictype/test-categ_Lm.c
@@ -29,16 +29,22 @@
     { 0x06E5, 0x06E6 },
     { 0x07F4, 0x07F5 },
     { 0x07FA, 0x07FA },
+    { 0x081A, 0x081A },
+    { 0x0824, 0x0824 },
+    { 0x0828, 0x0828 },
     { 0x0971, 0x0971 },
     { 0x0E46, 0x0E46 },
     { 0x0EC6, 0x0EC6 },
     { 0x10FC, 0x10FC },
     { 0x17D7, 0x17D7 },
     { 0x1843, 0x1843 },
+    { 0x1AA7, 0x1AA7 },
     { 0x1C78, 0x1C7D },
     { 0x1D2C, 0x1D61 },
     { 0x1D78, 0x1D78 },
     { 0x1D9B, 0x1DBF },
+    { 0x2071, 0x2071 },
+    { 0x207F, 0x207F },
     { 0x2090, 0x2094 },
     { 0x2C7D, 0x2C7D },
     { 0x2D6F, 0x2D6F },
@@ -49,11 +55,15 @@
     { 0x309D, 0x309E },
     { 0x30FC, 0x30FE },
     { 0xA015, 0xA015 },
+    { 0xA4F8, 0xA4FD },
     { 0xA60C, 0xA60C },
     { 0xA67F, 0xA67F },
     { 0xA717, 0xA71F },
     { 0xA770, 0xA770 },
     { 0xA788, 0xA788 },
+    { 0xA9CF, 0xA9CF },
+    { 0xAA70, 0xAA70 },
+    { 0xAADD, 0xAADD },
     { 0xFF70, 0xFF70 },
     { 0xFF9E, 0xFF9F }
 
--- a/tests/unictype/test-categ_Lo.c
+++ b/tests/unictype/test-categ_Lo.c
@@ -35,12 +35,13 @@
     { 0x074D, 0x07A5 },
     { 0x07B1, 0x07B1 },
     { 0x07CA, 0x07EA },
+    { 0x0800, 0x0815 },
     { 0x0904, 0x0939 },
     { 0x093D, 0x093D },
     { 0x0950, 0x0950 },
     { 0x0958, 0x0961 },
     { 0x0972, 0x0972 },
-    { 0x097B, 0x097F },
+    { 0x0979, 0x097F },
     { 0x0985, 0x098C },
     { 0x098F, 0x0990 },
     { 0x0993, 0x09A8 },
@@ -153,10 +154,7 @@
     { 0x1075, 0x1081 },
     { 0x108E, 0x108E },
     { 0x10D0, 0x10FA },
-    { 0x1100, 0x1159 },
-    { 0x115F, 0x11A2 },
-    { 0x11A8, 0x11F9 },
-    { 0x1200, 0x1248 },
+    { 0x1100, 0x1248 },
     { 0x124A, 0x124D },
     { 0x1250, 0x1256 },
     { 0x1258, 0x1258 },
@@ -175,7 +173,7 @@
     { 0x1380, 0x138F },
     { 0x13A0, 0x13F4 },
     { 0x1401, 0x166C },
-    { 0x166F, 0x1676 },
+    { 0x166F, 0x167F },
     { 0x1681, 0x169A },
     { 0x16A0, 0x16EA },
     { 0x1700, 0x170C },
@@ -190,12 +188,14 @@
     { 0x1844, 0x1877 },
     { 0x1880, 0x18A8 },
     { 0x18AA, 0x18AA },
+    { 0x18B0, 0x18F5 },
     { 0x1900, 0x191C },
     { 0x1950, 0x196D },
     { 0x1970, 0x1974 },
-    { 0x1980, 0x19A9 },
+    { 0x1980, 0x19AB },
     { 0x19C1, 0x19C7 },
     { 0x1A00, 0x1A16 },
+    { 0x1A20, 0x1A54 },
     { 0x1B05, 0x1B33 },
     { 0x1B45, 0x1B4B },
     { 0x1B83, 0x1BA0 },
@@ -203,6 +203,8 @@
     { 0x1C00, 0x1C23 },
     { 0x1C4D, 0x1C4F },
     { 0x1C5A, 0x1C77 },
+    { 0x1CE9, 0x1CEC },
+    { 0x1CEE, 0x1CF1 },
     { 0x2135, 0x2138 },
     { 0x2D30, 0x2D65 },
     { 0x2D80, 0x2D96 },
@@ -225,27 +227,46 @@
     { 0x31A0, 0x31B7 },
     { 0x31F0, 0x31FF },
     { 0x3400, 0x4DB5 },
-    { 0x4E00, 0x9FC3 },
+    { 0x4E00, 0x9FCB },
     { 0xA000, 0xA014 },
     { 0xA016, 0xA48C },
+    { 0xA4D0, 0xA4F7 },
     { 0xA500, 0xA60B },
     { 0xA610, 0xA61F },
     { 0xA62A, 0xA62B },
     { 0xA66E, 0xA66E },
+    { 0xA6A0, 0xA6E5 },
     { 0xA7FB, 0xA801 },
     { 0xA803, 0xA805 },
     { 0xA807, 0xA80A },
     { 0xA80C, 0xA822 },
     { 0xA840, 0xA873 },
     { 0xA882, 0xA8B3 },
+    { 0xA8F2, 0xA8F7 },
+    { 0xA8FB, 0xA8FB },
     { 0xA90A, 0xA925 },
     { 0xA930, 0xA946 },
+    { 0xA960, 0xA97C },
+    { 0xA984, 0xA9B2 },
     { 0xAA00, 0xAA28 },
     { 0xAA40, 0xAA42 },
     { 0xAA44, 0xAA4B },
+    { 0xAA60, 0xAA6F },
+    { 0xAA71, 0xAA76 },
+    { 0xAA7A, 0xAA7A },
+    { 0xAA80, 0xAAAF },
+    { 0xAAB1, 0xAAB1 },
+    { 0xAAB5, 0xAAB6 },
+    { 0xAAB9, 0xAABD },
+    { 0xAAC0, 0xAAC0 },
+    { 0xAAC2, 0xAAC2 },
+    { 0xAADB, 0xAADC },
+    { 0xABC0, 0xABE2 },
     { 0xAC00, 0xD7A3 },
+    { 0xD7B0, 0xD7C6 },
+    { 0xD7CB, 0xD7FB },
     { 0xF900, 0xFA2D },
-    { 0xFA30, 0xFA6A },
+    { 0xFA30, 0xFA6D },
     { 0xFA70, 0xFAD9 },
     { 0xFB1D, 0xFB1D },
     { 0xFB1F, 0xFB28 },
@@ -289,15 +310,23 @@
     { 0x1080A, 0x10835 },
     { 0x10837, 0x10838 },
     { 0x1083C, 0x1083C },
-    { 0x1083F, 0x1083F },
+    { 0x1083F, 0x10855 },
     { 0x10900, 0x10915 },
     { 0x10920, 0x10939 },
     { 0x10A00, 0x10A00 },
     { 0x10A10, 0x10A13 },
     { 0x10A15, 0x10A17 },
     { 0x10A19, 0x10A33 },
+    { 0x10A60, 0x10A7C },
+    { 0x10B00, 0x10B35 },
+    { 0x10B40, 0x10B55 },
+    { 0x10B60, 0x10B72 },
+    { 0x10C00, 0x10C48 },
+    { 0x11083, 0x110AF },
     { 0x12000, 0x1236E },
+    { 0x13000, 0x1342E },
     { 0x20000, 0x2A6D6 },
+    { 0x2A700, 0x2B734 },
     { 0x2F800, 0x2FA1D }
 
 #define PREDICATE(c) uc_is_general_category (c, UC_CATEGORY_Lo)
--- a/tests/unictype/test-categ_Lu.c
+++ b/tests/unictype/test-categ_Lu.c
@@ -281,6 +281,7 @@
     { 0x051E, 0x051E },
     { 0x0520, 0x0520 },
     { 0x0522, 0x0522 },
+    { 0x0524, 0x0524 },
     { 0x0531, 0x0556 },
     { 0x10A0, 0x10C5 },
     { 0x1E00, 0x1E00 },
@@ -442,10 +443,10 @@
     { 0x2C67, 0x2C67 },
     { 0x2C69, 0x2C69 },
     { 0x2C6B, 0x2C6B },
-    { 0x2C6D, 0x2C6F },
+    { 0x2C6D, 0x2C70 },
     { 0x2C72, 0x2C72 },
     { 0x2C75, 0x2C75 },
-    { 0x2C80, 0x2C80 },
+    { 0x2C7E, 0x2C80 },
     { 0x2C82, 0x2C82 },
     { 0x2C84, 0x2C84 },
     { 0x2C86, 0x2C86 },
@@ -495,6 +496,8 @@
     { 0x2CDE, 0x2CDE },
     { 0x2CE0, 0x2CE0 },
     { 0x2CE2, 0x2CE2 },
+    { 0x2CEB, 0x2CEB },
+    { 0x2CED, 0x2CED },
     { 0xA640, 0xA640 },
     { 0xA642, 0xA642 },
     { 0xA644, 0xA644 },
--- a/tests/unictype/test-categ_M.c
+++ b/tests/unictype/test-categ_M.c
@@ -35,10 +35,14 @@
     { 0x0730, 0x074A },
     { 0x07A6, 0x07B0 },
     { 0x07EB, 0x07F3 },
-    { 0x0901, 0x0903 },
+    { 0x0816, 0x0819 },
+    { 0x081B, 0x0823 },
+    { 0x0825, 0x0827 },
+    { 0x0829, 0x082D },
+    { 0x0900, 0x0903 },
     { 0x093C, 0x093C },
-    { 0x093E, 0x094D },
-    { 0x0951, 0x0954 },
+    { 0x093E, 0x094E },
+    { 0x0951, 0x0955 },
     { 0x0962, 0x0963 },
     { 0x0981, 0x0983 },
     { 0x09BC, 0x09BC },
@@ -123,6 +127,7 @@
     { 0x1071, 0x1074 },
     { 0x1082, 0x108D },
     { 0x108F, 0x108F },
+    { 0x109A, 0x109D },
     { 0x135F, 0x135F },
     { 0x1712, 0x1714 },
     { 0x1732, 0x1734 },
@@ -137,31 +142,51 @@
     { 0x19B0, 0x19C0 },
     { 0x19C8, 0x19C9 },
     { 0x1A17, 0x1A1B },
+    { 0x1A55, 0x1A5E },
+    { 0x1A60, 0x1A7C },
+    { 0x1A7F, 0x1A7F },
     { 0x1B00, 0x1B04 },
     { 0x1B34, 0x1B44 },
     { 0x1B6B, 0x1B73 },
     { 0x1B80, 0x1B82 },
     { 0x1BA1, 0x1BAA },
     { 0x1C24, 0x1C37 },
+    { 0x1CD0, 0x1CD2 },
+    { 0x1CD4, 0x1CE8 },
+    { 0x1CED, 0x1CED },
+    { 0x1CF2, 0x1CF2 },
     { 0x1DC0, 0x1DE6 },
-    { 0x1DFE, 0x1DFF },
+    { 0x1DFD, 0x1DFF },
     { 0x20D0, 0x20F0 },
+    { 0x2CEF, 0x2CF1 },
     { 0x2DE0, 0x2DFF },
     { 0x302A, 0x302F },
     { 0x3099, 0x309A },
     { 0xA66F, 0xA672 },
     { 0xA67C, 0xA67D },
+    { 0xA6F0, 0xA6F1 },
     { 0xA802, 0xA802 },
     { 0xA806, 0xA806 },
     { 0xA80B, 0xA80B },
     { 0xA823, 0xA827 },
     { 0xA880, 0xA881 },
     { 0xA8B4, 0xA8C4 },
+    { 0xA8E0, 0xA8F1 },
     { 0xA926, 0xA92D },
     { 0xA947, 0xA953 },
+    { 0xA980, 0xA983 },
+    { 0xA9B3, 0xA9C0 },
     { 0xAA29, 0xAA36 },
     { 0xAA43, 0xAA43 },
     { 0xAA4C, 0xAA4D },
+    { 0xAA7B, 0xAA7B },
+    { 0xAAB0, 0xAAB0 },
+    { 0xAAB2, 0xAAB4 },
+    { 0xAAB7, 0xAAB8 },
+    { 0xAABE, 0xAABF },
+    { 0xAAC1, 0xAAC1 },
+    { 0xABE3, 0xABEA },
+    { 0xABEC, 0xABED },
     { 0xFB1E, 0xFB1E },
     { 0xFE00, 0xFE0F },
     { 0xFE20, 0xFE26 },
@@ -171,6 +196,8 @@
     { 0x10A0C, 0x10A0F },
     { 0x10A38, 0x10A3A },
     { 0x10A3F, 0x10A3F },
+    { 0x11080, 0x11082 },
+    { 0x110B0, 0x110BA },
     { 0x1D165, 0x1D169 },
     { 0x1D16D, 0x1D172 },
     { 0x1D17B, 0x1D182 },
--- a/tests/unictype/test-categ_Mc.c
+++ b/tests/unictype/test-categ_Mc.c
@@ -20,6 +20,7 @@
     { 0x0903, 0x0903 },
     { 0x093E, 0x0940 },
     { 0x0949, 0x094C },
+    { 0x094E, 0x094E },
     { 0x0982, 0x0983 },
     { 0x09BE, 0x09C0 },
     { 0x09C7, 0x09C8 },
@@ -71,6 +72,7 @@
     { 0x1083, 0x1084 },
     { 0x1087, 0x108C },
     { 0x108F, 0x108F },
+    { 0x109A, 0x109C },
     { 0x17B6, 0x17B6 },
     { 0x17BE, 0x17C5 },
     { 0x17C7, 0x17C8 },
@@ -81,6 +83,11 @@
     { 0x19B0, 0x19C0 },
     { 0x19C8, 0x19C9 },
     { 0x1A19, 0x1A1B },
+    { 0x1A55, 0x1A55 },
+    { 0x1A57, 0x1A57 },
+    { 0x1A61, 0x1A61 },
+    { 0x1A63, 0x1A64 },
+    { 0x1A6D, 0x1A72 },
     { 0x1B04, 0x1B04 },
     { 0x1B35, 0x1B35 },
     { 0x1B3B, 0x1B3B },
@@ -92,14 +99,28 @@
     { 0x1BAA, 0x1BAA },
     { 0x1C24, 0x1C2B },
     { 0x1C34, 0x1C35 },
+    { 0x1CE1, 0x1CE1 },
+    { 0x1CF2, 0x1CF2 },
     { 0xA823, 0xA824 },
     { 0xA827, 0xA827 },
     { 0xA880, 0xA881 },
     { 0xA8B4, 0xA8C3 },
     { 0xA952, 0xA953 },
+    { 0xA983, 0xA983 },
+    { 0xA9B4, 0xA9B5 },
+    { 0xA9BA, 0xA9BB },
+    { 0xA9BD, 0xA9C0 },
     { 0xAA2F, 0xAA30 },
     { 0xAA33, 0xAA34 },
     { 0xAA4D, 0xAA4D },
+    { 0xAA7B, 0xAA7B },
+    { 0xABE3, 0xABE4 },
+    { 0xABE6, 0xABE7 },
+    { 0xABE9, 0xABEA },
+    { 0xABEC, 0xABEC },
+    { 0x11082, 0x11082 },
+    { 0x110B0, 0x110B2 },
+    { 0x110B7, 0x110B8 },
     { 0x1D165, 0x1D166 },
     { 0x1D16D, 0x1D172 }
 
--- a/tests/unictype/test-categ_Mn.c
+++ b/tests/unictype/test-categ_Mn.c
@@ -35,11 +35,15 @@
     { 0x0730, 0x074A },
     { 0x07A6, 0x07B0 },
     { 0x07EB, 0x07F3 },
-    { 0x0901, 0x0902 },
+    { 0x0816, 0x0819 },
+    { 0x081B, 0x0823 },
+    { 0x0825, 0x0827 },
+    { 0x0829, 0x082D },
+    { 0x0900, 0x0902 },
     { 0x093C, 0x093C },
     { 0x0941, 0x0948 },
     { 0x094D, 0x094D },
-    { 0x0951, 0x0954 },
+    { 0x0951, 0x0955 },
     { 0x0962, 0x0963 },
     { 0x0981, 0x0981 },
     { 0x09BC, 0x09BC },
@@ -113,6 +117,7 @@
     { 0x1082, 0x1082 },
     { 0x1085, 0x1086 },
     { 0x108D, 0x108D },
+    { 0x109D, 0x109D },
     { 0x135F, 0x135F },
     { 0x1712, 0x1714 },
     { 0x1732, 0x1734 },
@@ -129,6 +134,13 @@
     { 0x1932, 0x1932 },
     { 0x1939, 0x193B },
     { 0x1A17, 0x1A18 },
+    { 0x1A56, 0x1A56 },
+    { 0x1A58, 0x1A5E },
+    { 0x1A60, 0x1A60 },
+    { 0x1A62, 0x1A62 },
+    { 0x1A65, 0x1A6C },
+    { 0x1A73, 0x1A7C },
+    { 0x1A7F, 0x1A7F },
     { 0x1B00, 0x1B03 },
     { 0x1B34, 0x1B34 },
     { 0x1B36, 0x1B3A },
@@ -140,28 +152,47 @@
     { 0x1BA8, 0x1BA9 },
     { 0x1C2C, 0x1C33 },
     { 0x1C36, 0x1C37 },
+    { 0x1CD0, 0x1CD2 },
+    { 0x1CD4, 0x1CE0 },
+    { 0x1CE2, 0x1CE8 },
+    { 0x1CED, 0x1CED },
     { 0x1DC0, 0x1DE6 },
-    { 0x1DFE, 0x1DFF },
+    { 0x1DFD, 0x1DFF },
     { 0x20D0, 0x20DC },
     { 0x20E1, 0x20E1 },
     { 0x20E5, 0x20F0 },
+    { 0x2CEF, 0x2CF1 },
     { 0x2DE0, 0x2DFF },
     { 0x302A, 0x302F },
     { 0x3099, 0x309A },
     { 0xA66F, 0xA66F },
     { 0xA67C, 0xA67D },
+    { 0xA6F0, 0xA6F1 },
     { 0xA802, 0xA802 },
     { 0xA806, 0xA806 },
     { 0xA80B, 0xA80B },
     { 0xA825, 0xA826 },
     { 0xA8C4, 0xA8C4 },
+    { 0xA8E0, 0xA8F1 },
     { 0xA926, 0xA92D },
     { 0xA947, 0xA951 },
+    { 0xA980, 0xA982 },
+    { 0xA9B3, 0xA9B3 },
+    { 0xA9B6, 0xA9B9 },
+    { 0xA9BC, 0xA9BC },
     { 0xAA29, 0xAA2E },
     { 0xAA31, 0xAA32 },
     { 0xAA35, 0xAA36 },
     { 0xAA43, 0xAA43 },
     { 0xAA4C, 0xAA4C },
+    { 0xAAB0, 0xAAB0 },
+    { 0xAAB2, 0xAAB4 },
+    { 0xAAB7, 0xAAB8 },
+    { 0xAABE, 0xAABF },
+    { 0xAAC1, 0xAAC1 },
+    { 0xABE5, 0xABE5 },
+    { 0xABE8, 0xABE8 },
+    { 0xABED, 0xABED },
     { 0xFB1E, 0xFB1E },
     { 0xFE00, 0xFE0F },
     { 0xFE20, 0xFE26 },
@@ -171,6 +202,9 @@
     { 0x10A0C, 0x10A0F },
     { 0x10A38, 0x10A3A },
     { 0x10A3F, 0x10A3F },
+    { 0x11080, 0x11081 },
+    { 0x110B3, 0x110B6 },
+    { 0x110B9, 0x110BA },
     { 0x1D167, 0x1D169 },
     { 0x1D17B, 0x1D182 },
     { 0x1D185, 0x1D18B },
--- a/tests/unictype/test-categ_N.c
+++ b/tests/unictype/test-categ_N.c
@@ -46,7 +46,9 @@
     { 0x17F0, 0x17F9 },
     { 0x1810, 0x1819 },
     { 0x1946, 0x194F },
-    { 0x19D0, 0x19D9 },
+    { 0x19D0, 0x19DA },
+    { 0x1A80, 0x1A89 },
+    { 0x1A90, 0x1A99 },
     { 0x1B50, 0x1B59 },
     { 0x1BB0, 0x1BB9 },
     { 0x1C40, 0x1C49 },
@@ -54,8 +56,8 @@
     { 0x2070, 0x2070 },
     { 0x2074, 0x2079 },
     { 0x2080, 0x2089 },
-    { 0x2153, 0x2182 },
-    { 0x2185, 0x2188 },
+    { 0x2150, 0x2182 },
+    { 0x2185, 0x2189 },
     { 0x2460, 0x249B },
     { 0x24EA, 0x24FF },
     { 0x2776, 0x2793 },
@@ -69,9 +71,13 @@
     { 0x3280, 0x3289 },
     { 0x32B1, 0x32BF },
     { 0xA620, 0xA629 },
+    { 0xA6E6, 0xA6EF },
+    { 0xA830, 0xA835 },
     { 0xA8D0, 0xA8D9 },
     { 0xA900, 0xA909 },
+    { 0xA9D0, 0xA9D9 },
     { 0xAA50, 0xAA59 },
+    { 0xABF0, 0xABF9 },
     { 0xFF10, 0xFF19 },
     { 0x10107, 0x10133 },
     { 0x10140, 0x10178 },
@@ -81,11 +87,17 @@
     { 0x1034A, 0x1034A },
     { 0x103D1, 0x103D5 },
     { 0x104A0, 0x104A9 },
-    { 0x10916, 0x10919 },
+    { 0x10858, 0x1085F },
+    { 0x10916, 0x1091B },
     { 0x10A40, 0x10A47 },
+    { 0x10A7D, 0x10A7E },
+    { 0x10B58, 0x10B5F },
+    { 0x10B78, 0x10B7F },
+    { 0x10E60, 0x10E7E },
     { 0x12400, 0x12462 },
     { 0x1D360, 0x1D371 },
-    { 0x1D7CE, 0x1D7FF }
+    { 0x1D7CE, 0x1D7FF },
+    { 0x1F100, 0x1F10A }
 
 #define PREDICATE(c) uc_is_general_category (c, UC_CATEGORY_N)
 #include "test-predicate-part2.h"
--- a/tests/unictype/test-categ_Nd.c
+++ b/tests/unictype/test-categ_Nd.c
@@ -38,7 +38,9 @@
     { 0x17E0, 0x17E9 },
     { 0x1810, 0x1819 },
     { 0x1946, 0x194F },
-    { 0x19D0, 0x19D9 },
+    { 0x19D0, 0x19DA },
+    { 0x1A80, 0x1A89 },
+    { 0x1A90, 0x1A99 },
     { 0x1B50, 0x1B59 },
     { 0x1BB0, 0x1BB9 },
     { 0x1C40, 0x1C49 },
@@ -46,7 +48,9 @@
     { 0xA620, 0xA629 },
     { 0xA8D0, 0xA8D9 },
     { 0xA900, 0xA909 },
+    { 0xA9D0, 0xA9D9 },
     { 0xAA50, 0xAA59 },
+    { 0xABF0, 0xABF9 },
     { 0xFF10, 0xFF19 },
     { 0x104A0, 0x104A9 },
     { 0x1D7CE, 0x1D7FF }
--- a/tests/unictype/test-categ_Nl.c
+++ b/tests/unictype/test-categ_Nl.c
@@ -23,6 +23,7 @@
     { 0x3007, 0x3007 },
     { 0x3021, 0x3029 },
     { 0x3038, 0x303A },
+    { 0xA6E6, 0xA6EF },
     { 0x10140, 0x10174 },
     { 0x10341, 0x10341 },
     { 0x1034A, 0x1034A },
--- a/tests/unictype/test-categ_No.c
+++ b/tests/unictype/test-categ_No.c
@@ -30,7 +30,8 @@
     { 0x2070, 0x2070 },
     { 0x2074, 0x2079 },
     { 0x2080, 0x2089 },
-    { 0x2153, 0x215F },
+    { 0x2150, 0x215F },
+    { 0x2189, 0x2189 },
     { 0x2460, 0x249B },
     { 0x24EA, 0x24FF },
     { 0x2776, 0x2793 },
@@ -40,13 +41,20 @@
     { 0x3251, 0x325F },
     { 0x3280, 0x3289 },
     { 0x32B1, 0x32BF },
+    { 0xA830, 0xA835 },
     { 0x10107, 0x10133 },
     { 0x10175, 0x10178 },
     { 0x1018A, 0x1018A },
     { 0x10320, 0x10323 },
-    { 0x10916, 0x10919 },
+    { 0x10858, 0x1085F },
+    { 0x10916, 0x1091B },
     { 0x10A40, 0x10A47 },
-    { 0x1D360, 0x1D371 }
+    { 0x10A7D, 0x10A7E },
+    { 0x10B58, 0x10B5F },
+    { 0x10B78, 0x10B7F },
+    { 0x10E60, 0x10E7E },
+    { 0x1D360, 0x1D371 },
+    { 0x1F100, 0x1F10A }
 
 #define PREDICATE(c) uc_is_general_category (c, UC_CATEGORY_No)
 #include "test-predicate-part2.h"
--- a/tests/unictype/test-categ_P.c
+++ b/tests/unictype/test-categ_P.c
@@ -48,6 +48,7 @@
     { 0x06D4, 0x06D4 },
     { 0x0700, 0x070D },
     { 0x07F7, 0x07F9 },
+    { 0x0830, 0x083E },
     { 0x0964, 0x0965 },
     { 0x0970, 0x0970 },
     { 0x0DF4, 0x0DF4 },
@@ -60,6 +61,7 @@
     { 0x104A, 0x104F },
     { 0x10FB, 0x10FB },
     { 0x1361, 0x1368 },
+    { 0x1400, 0x1400 },
     { 0x166D, 0x166E },
     { 0x169B, 0x169C },
     { 0x16EB, 0x16ED },
@@ -70,9 +72,12 @@
     { 0x1944, 0x1945 },
     { 0x19DE, 0x19DF },
     { 0x1A1E, 0x1A1F },
+    { 0x1AA0, 0x1AA6 },
+    { 0x1AA8, 0x1AAD },
     { 0x1B5A, 0x1B60 },
     { 0x1C3B, 0x1C3F },
     { 0x1C7E, 0x1C7F },
+    { 0x1CD3, 0x1CD3 },
     { 0x2010, 0x2027 },
     { 0x2030, 0x2043 },
     { 0x2045, 0x2051 },
@@ -89,7 +94,7 @@
     { 0x2CF9, 0x2CFC },
     { 0x2CFE, 0x2CFF },
     { 0x2E00, 0x2E2E },
-    { 0x2E30, 0x2E30 },
+    { 0x2E30, 0x2E31 },
     { 0x3001, 0x3003 },
     { 0x3008, 0x3011 },
     { 0x3014, 0x301F },
@@ -97,14 +102,21 @@
     { 0x303D, 0x303D },
     { 0x30A0, 0x30A0 },
     { 0x30FB, 0x30FB },
+    { 0xA4FE, 0xA4FF },
     { 0xA60D, 0xA60F },
     { 0xA673, 0xA673 },
     { 0xA67E, 0xA67E },
+    { 0xA6F2, 0xA6F7 },
     { 0xA874, 0xA877 },
     { 0xA8CE, 0xA8CF },
+    { 0xA8F8, 0xA8FA },
     { 0xA92E, 0xA92F },
     { 0xA95F, 0xA95F },
+    { 0xA9C1, 0xA9CD },
+    { 0xA9DE, 0xA9DF },
     { 0xAA5C, 0xAA5F },
+    { 0xAADE, 0xAADF },
+    { 0xABEB, 0xABEB },
     { 0xFD3E, 0xFD3F },
     { 0xFE10, 0xFE19 },
     { 0xFE30, 0xFE52 },
@@ -125,9 +137,14 @@
     { 0x10100, 0x10101 },
     { 0x1039F, 0x1039F },
     { 0x103D0, 0x103D0 },
+    { 0x10857, 0x10857 },
     { 0x1091F, 0x1091F },
     { 0x1093F, 0x1093F },
     { 0x10A50, 0x10A58 },
+    { 0x10A7F, 0x10A7F },
+    { 0x10B39, 0x10B3F },
+    { 0x110BB, 0x110BC },
+    { 0x110BE, 0x110C1 },
     { 0x12470, 0x12473 }
 
 #define PREDICATE(c) uc_is_general_category (c, UC_CATEGORY_P)
--- a/tests/unictype/test-categ_Pd.c
+++ b/tests/unictype/test-categ_Pd.c
@@ -20,6 +20,7 @@
     { 0x002D, 0x002D },
     { 0x058A, 0x058A },
     { 0x05BE, 0x05BE },
+    { 0x1400, 0x1400 },
     { 0x1806, 0x1806 },
     { 0x2010, 0x2015 },
     { 0x2E17, 0x2E17 },
--- a/tests/unictype/test-categ_Po.c
+++ b/tests/unictype/test-categ_Po.c
@@ -44,6 +44,7 @@
     { 0x06D4, 0x06D4 },
     { 0x0700, 0x070D },
     { 0x07F7, 0x07F9 },
+    { 0x0830, 0x083E },
     { 0x0964, 0x0965 },
     { 0x0970, 0x0970 },
     { 0x0DF4, 0x0DF4 },
@@ -65,9 +66,12 @@
     { 0x1944, 0x1945 },
     { 0x19DE, 0x19DF },
     { 0x1A1E, 0x1A1F },
+    { 0x1AA0, 0x1AA6 },
+    { 0x1AA8, 0x1AAD },
     { 0x1B5A, 0x1B60 },
     { 0x1C3B, 0x1C3F },
     { 0x1C7E, 0x1C7F },
+    { 0x1CD3, 0x1CD3 },
     { 0x2016, 0x2017 },
     { 0x2020, 0x2027 },
     { 0x2030, 0x2038 },
@@ -86,18 +90,25 @@
     { 0x2E1B, 0x2E1B },
     { 0x2E1E, 0x2E1F },
     { 0x2E2A, 0x2E2E },
-    { 0x2E30, 0x2E30 },
+    { 0x2E30, 0x2E31 },
     { 0x3001, 0x3003 },
     { 0x303D, 0x303D },
     { 0x30FB, 0x30FB },
+    { 0xA4FE, 0xA4FF },
     { 0xA60D, 0xA60F },
     { 0xA673, 0xA673 },
     { 0xA67E, 0xA67E },
+    { 0xA6F2, 0xA6F7 },
     { 0xA874, 0xA877 },
     { 0xA8CE, 0xA8CF },
+    { 0xA8F8, 0xA8FA },
     { 0xA92E, 0xA92F },
     { 0xA95F, 0xA95F },
+    { 0xA9C1, 0xA9CD },
+    { 0xA9DE, 0xA9DF },
     { 0xAA5C, 0xAA5F },
+    { 0xAADE, 0xAADF },
+    { 0xABEB, 0xABEB },
     { 0xFE10, 0xFE16 },
     { 0xFE19, 0xFE19 },
     { 0xFE30, 0xFE30 },
@@ -121,9 +132,14 @@
     { 0x10100, 0x10101 },
     { 0x1039F, 0x1039F },
     { 0x103D0, 0x103D0 },
+    { 0x10857, 0x10857 },
     { 0x1091F, 0x1091F },
     { 0x1093F, 0x1093F },
     { 0x10A50, 0x10A58 },
+    { 0x10A7F, 0x10A7F },
+    { 0x10B39, 0x10B3F },
+    { 0x110BB, 0x110BC },
+    { 0x110BE, 0x110C1 },
     { 0x12470, 0x12473 }
 
 #define PREDICATE(c) uc_is_general_category (c, UC_CATEGORY_Po)
--- a/tests/unictype/test-categ_S.c
+++ b/tests/unictype/test-categ_S.c
@@ -48,7 +48,7 @@
     { 0x06FD, 0x06FE },
     { 0x07F6, 0x07F6 },
     { 0x09F2, 0x09F3 },
-    { 0x09FA, 0x09FA },
+    { 0x09FA, 0x09FB },
     { 0x0AF1, 0x0AF1 },
     { 0x0B70, 0x0B70 },
     { 0x0BF3, 0x0BFA },
@@ -65,6 +65,7 @@
     { 0x0FBE, 0x0FC5 },
     { 0x0FC7, 0x0FCC },
     { 0x0FCE, 0x0FCF },
+    { 0x0FD5, 0x0FD8 },
     { 0x109E, 0x109F },
     { 0x1360, 0x1360 },
     { 0x1390, 0x1399 },
@@ -83,7 +84,7 @@
     { 0x2052, 0x2052 },
     { 0x207A, 0x207C },
     { 0x208A, 0x208C },
-    { 0x20A0, 0x20B5 },
+    { 0x20A0, 0x20B8 },
     { 0x2100, 0x2101 },
     { 0x2103, 0x2106 },
     { 0x2108, 0x2109 },
@@ -99,21 +100,21 @@
     { 0x214A, 0x214D },
     { 0x214F, 0x214F },
     { 0x2190, 0x2328 },
-    { 0x232B, 0x23E7 },
+    { 0x232B, 0x23E8 },
     { 0x2400, 0x2426 },
     { 0x2440, 0x244A },
     { 0x249C, 0x24E9 },
-    { 0x2500, 0x269D },
-    { 0x26A0, 0x26BC },
-    { 0x26C0, 0x26C3 },
+    { 0x2500, 0x26CD },
+    { 0x26CF, 0x26E1 },
+    { 0x26E3, 0x26E3 },
+    { 0x26E8, 0x26FF },
     { 0x2701, 0x2704 },
     { 0x2706, 0x2709 },
     { 0x270C, 0x2727 },
     { 0x2729, 0x274B },
     { 0x274D, 0x274D },
     { 0x274F, 0x2752 },
-    { 0x2756, 0x2756 },
-    { 0x2758, 0x275E },
+    { 0x2756, 0x275E },
     { 0x2761, 0x2767 },
     { 0x2794, 0x2794 },
     { 0x2798, 0x27AF },
@@ -126,7 +127,7 @@
     { 0x2999, 0x29D7 },
     { 0x29DC, 0x29FB },
     { 0x29FE, 0x2B4C },
-    { 0x2B50, 0x2B54 },
+    { 0x2B50, 0x2B59 },
     { 0x2CE5, 0x2CEA },
     { 0x2E80, 0x2E99 },
     { 0x2E9B, 0x2EF3 },
@@ -142,8 +143,7 @@
     { 0x3196, 0x319F },
     { 0x31C0, 0x31E3 },
     { 0x3200, 0x321E },
-    { 0x322A, 0x3243 },
-    { 0x3250, 0x3250 },
+    { 0x322A, 0x3250 },
     { 0x3260, 0x327F },
     { 0x328A, 0x32B0 },
     { 0x32C0, 0x32FE },
@@ -154,6 +154,8 @@
     { 0xA720, 0xA721 },
     { 0xA789, 0xA78A },
     { 0xA828, 0xA82B },
+    { 0xA836, 0xA839 },
+    { 0xAA77, 0xAA79 },
     { 0xFB29, 0xFB29 },
     { 0xFDFC, 0xFDFD },
     { 0xFE62, 0xFE62 },
@@ -195,7 +197,24 @@
     { 0x1D7A9, 0x1D7A9 },
     { 0x1D7C3, 0x1D7C3 },
     { 0x1F000, 0x1F02B },
-    { 0x1F030, 0x1F093 }
+    { 0x1F030, 0x1F093 },
+    { 0x1F110, 0x1F12E },
+    { 0x1F131, 0x1F131 },
+    { 0x1F13D, 0x1F13D },
+    { 0x1F13F, 0x1F13F },
+    { 0x1F142, 0x1F142 },
+    { 0x1F146, 0x1F146 },
+    { 0x1F14A, 0x1F14E },
+    { 0x1F157, 0x1F157 },
+    { 0x1F15F, 0x1F15F },
+    { 0x1F179, 0x1F179 },
+    { 0x1F17B, 0x1F17C },
+    { 0x1F17F, 0x1F17F },
+    { 0x1F18A, 0x1F18D },
+    { 0x1F190, 0x1F190 },
+    { 0x1F200, 0x1F200 },
+    { 0x1F210, 0x1F231 },
+    { 0x1F240, 0x1F248 }
 
 #define PREDICATE(c) uc_is_general_category (c, UC_CATEGORY_S)
 #include "test-predicate-part2.h"
--- a/tests/unictype/test-categ_Sc.c
+++ b/tests/unictype/test-categ_Sc.c
@@ -21,11 +21,13 @@
     { 0x00A2, 0x00A5 },
     { 0x060B, 0x060B },
     { 0x09F2, 0x09F3 },
+    { 0x09FB, 0x09FB },
     { 0x0AF1, 0x0AF1 },
     { 0x0BF9, 0x0BF9 },
     { 0x0E3F, 0x0E3F },
     { 0x17DB, 0x17DB },
-    { 0x20A0, 0x20B5 },
+    { 0x20A0, 0x20B8 },
+    { 0xA838, 0xA838 },
     { 0xFDFC, 0xFDFC },
     { 0xFE69, 0xFE69 },
     { 0xFF04, 0xFF04 },
--- a/tests/unictype/test-categ_So.c
+++ b/tests/unictype/test-categ_So.c
@@ -43,6 +43,7 @@
     { 0x0FBE, 0x0FC5 },
     { 0x0FC7, 0x0FCC },
     { 0x0FCE, 0x0FCF },
+    { 0x0FD5, 0x0FD8 },
     { 0x109E, 0x109F },
     { 0x1360, 0x1360 },
     { 0x1390, 0x1399 },
@@ -79,7 +80,7 @@
     { 0x232B, 0x237B },
     { 0x237D, 0x239A },
     { 0x23B4, 0x23DB },
-    { 0x23E2, 0x23E7 },
+    { 0x23E2, 0x23E8 },
     { 0x2400, 0x2426 },
     { 0x2440, 0x244A },
     { 0x249C, 0x24E9 },
@@ -87,17 +88,17 @@
     { 0x25B8, 0x25C0 },
     { 0x25C2, 0x25F7 },
     { 0x2600, 0x266E },
-    { 0x2670, 0x269D },
-    { 0x26A0, 0x26BC },
-    { 0x26C0, 0x26C3 },
+    { 0x2670, 0x26CD },
+    { 0x26CF, 0x26E1 },
+    { 0x26E3, 0x26E3 },
+    { 0x26E8, 0x26FF },
     { 0x2701, 0x2704 },
     { 0x2706, 0x2709 },
     { 0x270C, 0x2727 },
     { 0x2729, 0x274B },
     { 0x274D, 0x274D },
     { 0x274F, 0x2752 },
-    { 0x2756, 0x2756 },
-    { 0x2758, 0x275E },
+    { 0x2756, 0x275E },
     { 0x2761, 0x2767 },
     { 0x2794, 0x2794 },
     { 0x2798, 0x27AF },
@@ -105,7 +106,7 @@
     { 0x2800, 0x28FF },
     { 0x2B00, 0x2B2F },
     { 0x2B45, 0x2B46 },
-    { 0x2B50, 0x2B54 },
+    { 0x2B50, 0x2B59 },
     { 0x2CE5, 0x2CEA },
     { 0x2E80, 0x2E99 },
     { 0x2E9B, 0x2EF3 },
@@ -120,8 +121,7 @@
     { 0x3196, 0x319F },
     { 0x31C0, 0x31E3 },
     { 0x3200, 0x321E },
-    { 0x322A, 0x3243 },
-    { 0x3250, 0x3250 },
+    { 0x322A, 0x3250 },
     { 0x3260, 0x327F },
     { 0x328A, 0x32B0 },
     { 0x32C0, 0x32FE },
@@ -129,6 +129,9 @@
     { 0x4DC0, 0x4DFF },
     { 0xA490, 0xA4C6 },
     { 0xA828, 0xA82B },
+    { 0xA836, 0xA837 },
+    { 0xA839, 0xA839 },
+    { 0xAA77, 0xAA79 },
     { 0xFDFD, 0xFDFD },
     { 0xFFE4, 0xFFE4 },
     { 0xFFE8, 0xFFE8 },
@@ -150,7 +153,24 @@
     { 0x1D245, 0x1D245 },
     { 0x1D300, 0x1D356 },
     { 0x1F000, 0x1F02B },
-    { 0x1F030, 0x1F093 }
+    { 0x1F030, 0x1F093 },
+    { 0x1F110, 0x1F12E },
+    { 0x1F131, 0x1F131 },
+    { 0x1F13D, 0x1F13D },
+    { 0x1F13F, 0x1F13F },
+    { 0x1F142, 0x1F142 },
+    { 0x1F146, 0x1F146 },
+    { 0x1F14A, 0x1F14E },
+    { 0x1F157, 0x1F157 },
+    { 0x1F15F, 0x1F15F },
+    { 0x1F179, 0x1F179 },
+    { 0x1F17B, 0x1F17C },
+    { 0x1F17F, 0x1F17F },
+    { 0x1F18A, 0x1F18D },
+    { 0x1F190, 0x1F190 },
+    { 0x1F200, 0x1F200 },
+    { 0x1F210, 0x1F231 },
+    { 0x1F240, 0x1F248 }
 
 #define PREDICATE(c) uc_is_general_category (c, UC_CATEGORY_So)
 #include "test-predicate-part2.h"
--- a/tests/unictype/test-ctype_alnum.c
+++ b/tests/unictype/test-ctype_alnum.c
@@ -40,7 +40,7 @@
     { 0x038E, 0x03A1 },
     { 0x03A3, 0x03F5 },
     { 0x03F7, 0x0481 },
-    { 0x048A, 0x0523 },
+    { 0x048A, 0x0525 },
     { 0x0531, 0x0556 },
     { 0x0559, 0x0559 },
     { 0x0561, 0x0587 },
@@ -61,13 +61,17 @@
     { 0x07C0, 0x07EA },
     { 0x07F4, 0x07F5 },
     { 0x07FA, 0x07FA },
+    { 0x0800, 0x0815 },
+    { 0x081A, 0x081A },
+    { 0x0824, 0x0824 },
+    { 0x0828, 0x0828 },
     { 0x0904, 0x0939 },
     { 0x093D, 0x093D },
     { 0x0950, 0x0950 },
     { 0x0958, 0x0961 },
     { 0x0966, 0x096F },
     { 0x0971, 0x0972 },
-    { 0x097B, 0x097F },
+    { 0x0979, 0x097F },
     { 0x0985, 0x098C },
     { 0x098F, 0x0990 },
     { 0x0993, 0x09A8 },
@@ -195,10 +199,7 @@
     { 0x10A0, 0x10C5 },
     { 0x10D0, 0x10FA },
     { 0x10FC, 0x10FC },
-    { 0x1100, 0x1159 },
-    { 0x115F, 0x11A2 },
-    { 0x11A8, 0x11F9 },
-    { 0x1200, 0x1248 },
+    { 0x1100, 0x1248 },
     { 0x124A, 0x124D },
     { 0x1250, 0x1256 },
     { 0x1258, 0x1258 },
@@ -217,7 +218,7 @@
     { 0x1380, 0x138F },
     { 0x13A0, 0x13F4 },
     { 0x1401, 0x166C },
-    { 0x166F, 0x1676 },
+    { 0x166F, 0x167F },
     { 0x1681, 0x169A },
     { 0x16A0, 0x16EA },
     { 0x16EE, 0x16F0 },
@@ -235,13 +236,18 @@
     { 0x1820, 0x1877 },
     { 0x1880, 0x18A8 },
     { 0x18AA, 0x18AA },
+    { 0x18B0, 0x18F5 },
     { 0x1900, 0x191C },
     { 0x1946, 0x196D },
     { 0x1970, 0x1974 },
-    { 0x1980, 0x19A9 },
+    { 0x1980, 0x19AB },
     { 0x19C1, 0x19C7 },
-    { 0x19D0, 0x19D9 },
+    { 0x19D0, 0x19DA },
     { 0x1A00, 0x1A16 },
+    { 0x1A20, 0x1A54 },
+    { 0x1A80, 0x1A89 },
+    { 0x1A90, 0x1A99 },
+    { 0x1AA7, 0x1AA7 },
     { 0x1B05, 0x1B33 },
     { 0x1B45, 0x1B4B },
     { 0x1B50, 0x1B59 },
@@ -250,6 +256,8 @@
     { 0x1C00, 0x1C23 },
     { 0x1C40, 0x1C49 },
     { 0x1C4D, 0x1C7D },
+    { 0x1CE9, 0x1CEC },
+    { 0x1CEE, 0x1CF1 },
     { 0x1D00, 0x1DBF },
     { 0x1E00, 0x1F15 },
     { 0x1F18, 0x1F1D },
@@ -289,9 +297,8 @@
     { 0x249C, 0x24E9 },
     { 0x2C00, 0x2C2E },
     { 0x2C30, 0x2C5E },
-    { 0x2C60, 0x2C6F },
-    { 0x2C71, 0x2C7D },
-    { 0x2C80, 0x2CE4 },
+    { 0x2C60, 0x2CE4 },
+    { 0x2CEB, 0x2CEE },
     { 0x2D00, 0x2D25 },
     { 0x2D30, 0x2D65 },
     { 0x2D6F, 0x2D6F },
@@ -318,13 +325,15 @@
     { 0x31A0, 0x31B7 },
     { 0x31F0, 0x31FF },
     { 0x3400, 0x4DB5 },
-    { 0x4E00, 0x9FC3 },
+    { 0x4E00, 0x9FCB },
     { 0xA000, 0xA48C },
+    { 0xA4D0, 0xA4FD },
     { 0xA500, 0xA60C },
     { 0xA610, 0xA62B },
     { 0xA640, 0xA65F },
     { 0xA662, 0xA66E },
     { 0xA67F, 0xA697 },
+    { 0xA6A0, 0xA6EF },
     { 0xA717, 0xA71F },
     { 0xA722, 0xA788 },
     { 0xA78B, 0xA78C },
@@ -335,15 +344,33 @@
     { 0xA840, 0xA873 },
     { 0xA882, 0xA8B3 },
     { 0xA8D0, 0xA8D9 },
+    { 0xA8F2, 0xA8F7 },
+    { 0xA8FB, 0xA8FB },
     { 0xA900, 0xA925 },
     { 0xA930, 0xA946 },
+    { 0xA960, 0xA97C },
+    { 0xA984, 0xA9B2 },
+    { 0xA9CF, 0xA9D9 },
     { 0xAA00, 0xAA28 },
     { 0xAA40, 0xAA42 },
     { 0xAA44, 0xAA4B },
     { 0xAA50, 0xAA59 },
+    { 0xAA60, 0xAA76 },
+    { 0xAA7A, 0xAA7A },
+    { 0xAA80, 0xAAAF },
+    { 0xAAB1, 0xAAB1 },
+    { 0xAAB5, 0xAAB6 },
+    { 0xAAB9, 0xAABD },
+    { 0xAAC0, 0xAAC0 },
+    { 0xAAC2, 0xAAC2 },
+    { 0xAADB, 0xAADD },
+    { 0xABC0, 0xABE2 },
+    { 0xABF0, 0xABF9 },
     { 0xAC00, 0xD7A3 },
+    { 0xD7B0, 0xD7C6 },
+    { 0xD7CB, 0xD7FB },
     { 0xF900, 0xFA2D },
-    { 0xFA30, 0xFA6A },
+    { 0xFA30, 0xFA6D },
     { 0xFA70, 0xFAD9 },
     { 0xFB00, 0xFB06 },
     { 0xFB13, 0xFB17 },
@@ -392,15 +419,22 @@
     { 0x1080A, 0x10835 },
     { 0x10837, 0x10838 },
     { 0x1083C, 0x1083C },
-    { 0x1083F, 0x1083F },
+    { 0x1083F, 0x10855 },
     { 0x10900, 0x10915 },
     { 0x10920, 0x10939 },
     { 0x10A00, 0x10A00 },
     { 0x10A10, 0x10A13 },
     { 0x10A15, 0x10A17 },
     { 0x10A19, 0x10A33 },
+    { 0x10A60, 0x10A7C },
+    { 0x10B00, 0x10B35 },
+    { 0x10B40, 0x10B55 },
+    { 0x10B60, 0x10B72 },
+    { 0x10C00, 0x10C48 },
+    { 0x11083, 0x110AF },
     { 0x12000, 0x1236E },
     { 0x12400, 0x12462 },
+    { 0x13000, 0x1342E },
     { 0x1D400, 0x1D454 },
     { 0x1D456, 0x1D49C },
     { 0x1D49E, 0x1D49F },
@@ -432,7 +466,20 @@
     { 0x1D7AA, 0x1D7C2 },
     { 0x1D7C4, 0x1D7CB },
     { 0x1D7CE, 0x1D7FF },
+    { 0x1F110, 0x1F12C },
+    { 0x1F131, 0x1F131 },
+    { 0x1F13D, 0x1F13D },
+    { 0x1F13F, 0x1F13F },
+    { 0x1F142, 0x1F142 },
+    { 0x1F146, 0x1F146 },
+    { 0x1F157, 0x1F157 },
+    { 0x1F15F, 0x1F15F },
+    { 0x1F179, 0x1F179 },
+    { 0x1F17B, 0x1F17C },
+    { 0x1F17F, 0x1F17F },
+    { 0x1F18A, 0x1F18A },
     { 0x20000, 0x2A6D6 },
+    { 0x2A700, 0x2B734 },
     { 0x2F800, 0x2FA1D }
 
 #define PREDICATE(c) uc_is_alnum (c)
--- a/tests/unictype/test-ctype_alpha.c
+++ b/tests/unictype/test-ctype_alpha.c
@@ -39,7 +39,7 @@
     { 0x038E, 0x03A1 },
     { 0x03A3, 0x03F5 },
     { 0x03F7, 0x0481 },
-    { 0x048A, 0x0523 },
+    { 0x048A, 0x0525 },
     { 0x0531, 0x0556 },
     { 0x0559, 0x0559 },
     { 0x0561, 0x0587 },
@@ -60,13 +60,17 @@
     { 0x07C0, 0x07EA },
     { 0x07F4, 0x07F5 },
     { 0x07FA, 0x07FA },
+    { 0x0800, 0x0815 },
+    { 0x081A, 0x081A },
+    { 0x0824, 0x0824 },
+    { 0x0828, 0x0828 },
     { 0x0904, 0x0939 },
     { 0x093D, 0x093D },
     { 0x0950, 0x0950 },
     { 0x0958, 0x0961 },
     { 0x0966, 0x096F },
     { 0x0971, 0x0972 },
-    { 0x097B, 0x097F },
+    { 0x0979, 0x097F },
     { 0x0985, 0x098C },
     { 0x098F, 0x0990 },
     { 0x0993, 0x09A8 },
@@ -194,10 +198,7 @@
     { 0x10A0, 0x10C5 },
     { 0x10D0, 0x10FA },
     { 0x10FC, 0x10FC },
-    { 0x1100, 0x1159 },
-    { 0x115F, 0x11A2 },
-    { 0x11A8, 0x11F9 },
-    { 0x1200, 0x1248 },
+    { 0x1100, 0x1248 },
     { 0x124A, 0x124D },
     { 0x1250, 0x1256 },
     { 0x1258, 0x1258 },
@@ -216,7 +217,7 @@
     { 0x1380, 0x138F },
     { 0x13A0, 0x13F4 },
     { 0x1401, 0x166C },
-    { 0x166F, 0x1676 },
+    { 0x166F, 0x167F },
     { 0x1681, 0x169A },
     { 0x16A0, 0x16EA },
     { 0x16EE, 0x16F0 },
@@ -234,13 +235,18 @@
     { 0x1820, 0x1877 },
     { 0x1880, 0x18A8 },
     { 0x18AA, 0x18AA },
+    { 0x18B0, 0x18F5 },
     { 0x1900, 0x191C },
     { 0x1946, 0x196D },
     { 0x1970, 0x1974 },
-    { 0x1980, 0x19A9 },
+    { 0x1980, 0x19AB },
     { 0x19C1, 0x19C7 },
-    { 0x19D0, 0x19D9 },
+    { 0x19D0, 0x19DA },
     { 0x1A00, 0x1A16 },
+    { 0x1A20, 0x1A54 },
+    { 0x1A80, 0x1A89 },
+    { 0x1A90, 0x1A99 },
+    { 0x1AA7, 0x1AA7 },
     { 0x1B05, 0x1B33 },
     { 0x1B45, 0x1B4B },
     { 0x1B50, 0x1B59 },
@@ -249,6 +255,8 @@
     { 0x1C00, 0x1C23 },
     { 0x1C40, 0x1C49 },
     { 0x1C4D, 0x1C7D },
+    { 0x1CE9, 0x1CEC },
+    { 0x1CEE, 0x1CF1 },
     { 0x1D00, 0x1DBF },
     { 0x1E00, 0x1F15 },
     { 0x1F18, 0x1F1D },
@@ -288,9 +296,8 @@
     { 0x249C, 0x24E9 },
     { 0x2C00, 0x2C2E },
     { 0x2C30, 0x2C5E },
-    { 0x2C60, 0x2C6F },
-    { 0x2C71, 0x2C7D },
-    { 0x2C80, 0x2CE4 },
+    { 0x2C60, 0x2CE4 },
+    { 0x2CEB, 0x2CEE },
     { 0x2D00, 0x2D25 },
     { 0x2D30, 0x2D65 },
     { 0x2D6F, 0x2D6F },
@@ -317,13 +324,15 @@
     { 0x31A0, 0x31B7 },
     { 0x31F0, 0x31FF },
     { 0x3400, 0x4DB5 },
-    { 0x4E00, 0x9FC3 },
+    { 0x4E00, 0x9FCB },
     { 0xA000, 0xA48C },
+    { 0xA4D0, 0xA4FD },
     { 0xA500, 0xA60C },
     { 0xA610, 0xA62B },
     { 0xA640, 0xA65F },
     { 0xA662, 0xA66E },
     { 0xA67F, 0xA697 },
+    { 0xA6A0, 0xA6EF },
     { 0xA717, 0xA71F },
     { 0xA722, 0xA788 },
     { 0xA78B, 0xA78C },
@@ -334,15 +343,33 @@
     { 0xA840, 0xA873 },
     { 0xA882, 0xA8B3 },
     { 0xA8D0, 0xA8D9 },
+    { 0xA8F2, 0xA8F7 },
+    { 0xA8FB, 0xA8FB },
     { 0xA900, 0xA925 },
     { 0xA930, 0xA946 },
+    { 0xA960, 0xA97C },
+    { 0xA984, 0xA9B2 },
+    { 0xA9CF, 0xA9D9 },
     { 0xAA00, 0xAA28 },
     { 0xAA40, 0xAA42 },
     { 0xAA44, 0xAA4B },
     { 0xAA50, 0xAA59 },
+    { 0xAA60, 0xAA76 },
+    { 0xAA7A, 0xAA7A },
+    { 0xAA80, 0xAAAF },
+    { 0xAAB1, 0xAAB1 },
+    { 0xAAB5, 0xAAB6 },
+    { 0xAAB9, 0xAABD },
+    { 0xAAC0, 0xAAC0 },
+    { 0xAAC2, 0xAAC2 },
+    { 0xAADB, 0xAADD },
+    { 0xABC0, 0xABE2 },
+    { 0xABF0, 0xABF9 },
     { 0xAC00, 0xD7A3 },
+    { 0xD7B0, 0xD7C6 },
+    { 0xD7CB, 0xD7FB },
     { 0xF900, 0xFA2D },
-    { 0xFA30, 0xFA6A },
+    { 0xFA30, 0xFA6D },
     { 0xFA70, 0xFAD9 },
     { 0xFB00, 0xFB06 },
     { 0xFB13, 0xFB17 },
@@ -391,15 +418,22 @@
     { 0x1080A, 0x10835 },
     { 0x10837, 0x10838 },
     { 0x1083C, 0x1083C },
-    { 0x1083F, 0x1083F },
+    { 0x1083F, 0x10855 },
     { 0x10900, 0x10915 },
     { 0x10920, 0x10939 },
     { 0x10A00, 0x10A00 },
     { 0x10A10, 0x10A13 },
     { 0x10A15, 0x10A17 },
     { 0x10A19, 0x10A33 },
+    { 0x10A60, 0x10A7C },
+    { 0x10B00, 0x10B35 },
+    { 0x10B40, 0x10B55 },
+    { 0x10B60, 0x10B72 },
+    { 0x10C00, 0x10C48 },
+    { 0x11083, 0x110AF },
     { 0x12000, 0x1236E },
     { 0x12400, 0x12462 },
+    { 0x13000, 0x1342E },
     { 0x1D400, 0x1D454 },
     { 0x1D456, 0x1D49C },
     { 0x1D49E, 0x1D49F },
@@ -431,7 +465,20 @@
     { 0x1D7AA, 0x1D7C2 },
     { 0x1D7C4, 0x1D7CB },
     { 0x1D7CE, 0x1D7FF },
+    { 0x1F110, 0x1F12C },
+    { 0x1F131, 0x1F131 },
+    { 0x1F13D, 0x1F13D },
+    { 0x1F13F, 0x1F13F },
+    { 0x1F142, 0x1F142 },
+    { 0x1F146, 0x1F146 },
+    { 0x1F157, 0x1F157 },
+    { 0x1F15F, 0x1F15F },
+    { 0x1F179, 0x1F179 },
+    { 0x1F17B, 0x1F17C },
+    { 0x1F17F, 0x1F17F },
+    { 0x1F18A, 0x1F18A },
     { 0x20000, 0x2A6D6 },
+    { 0x2A700, 0x2B734 },
     { 0x2F800, 0x2FA1D }
 
 #define PREDICATE(c) uc_is_alpha (c)
--- a/tests/unictype/test-ctype_graph.c
+++ b/tests/unictype/test-ctype_graph.c
@@ -23,7 +23,7 @@
     { 0x0384, 0x038A },
     { 0x038C, 0x038C },
     { 0x038E, 0x03A1 },
-    { 0x03A3, 0x0523 },
+    { 0x03A3, 0x0525 },
     { 0x0531, 0x0556 },
     { 0x0559, 0x055F },
     { 0x0561, 0x0587 },
@@ -39,11 +39,13 @@
     { 0x070F, 0x074A },
     { 0x074D, 0x07B1 },
     { 0x07C0, 0x07FA },
-    { 0x0901, 0x0939 },
-    { 0x093C, 0x094D },
-    { 0x0950, 0x0954 },
+    { 0x0800, 0x082D },
+    { 0x0830, 0x083E },
+    { 0x0900, 0x0939 },
+    { 0x093C, 0x094E },
+    { 0x0950, 0x0955 },
     { 0x0958, 0x0972 },
-    { 0x097B, 0x097F },
+    { 0x0979, 0x097F },
     { 0x0981, 0x0983 },
     { 0x0985, 0x098C },
     { 0x098F, 0x0990 },
@@ -57,7 +59,7 @@
     { 0x09D7, 0x09D7 },
     { 0x09DC, 0x09DD },
     { 0x09DF, 0x09E3 },
-    { 0x09E6, 0x09FA },
+    { 0x09E6, 0x09FB },
     { 0x0A01, 0x0A03 },
     { 0x0A05, 0x0A0A },
     { 0x0A0F, 0x0A10 },
@@ -195,14 +197,10 @@
     { 0x0F90, 0x0F97 },
     { 0x0F99, 0x0FBC },
     { 0x0FBE, 0x0FCC },
-    { 0x0FCE, 0x0FD4 },
-    { 0x1000, 0x1099 },
-    { 0x109E, 0x10C5 },
+    { 0x0FCE, 0x0FD8 },
+    { 0x1000, 0x10C5 },
     { 0x10D0, 0x10FC },
-    { 0x1100, 0x1159 },
-    { 0x115F, 0x11A2 },
-    { 0x11A8, 0x11F9 },
-    { 0x1200, 0x1248 },
+    { 0x1100, 0x1248 },
     { 0x124A, 0x124D },
     { 0x1250, 0x1256 },
     { 0x1258, 0x1258 },
@@ -221,7 +219,7 @@
     { 0x135F, 0x137C },
     { 0x1380, 0x1399 },
     { 0x13A0, 0x13F4 },
-    { 0x1401, 0x1676 },
+    { 0x1400, 0x167F },
     { 0x1681, 0x169C },
     { 0x16A0, 0x16F0 },
     { 0x1700, 0x170C },
@@ -238,17 +236,22 @@
     { 0x1810, 0x1819 },
     { 0x1820, 0x1877 },
     { 0x1880, 0x18AA },
+    { 0x18B0, 0x18F5 },
     { 0x1900, 0x191C },
     { 0x1920, 0x192B },
     { 0x1930, 0x193B },
     { 0x1940, 0x1940 },
     { 0x1944, 0x196D },
     { 0x1970, 0x1974 },
-    { 0x1980, 0x19A9 },
+    { 0x1980, 0x19AB },
     { 0x19B0, 0x19C9 },
-    { 0x19D0, 0x19D9 },
+    { 0x19D0, 0x19DA },
     { 0x19DE, 0x1A1B },
-    { 0x1A1E, 0x1A1F },
+    { 0x1A1E, 0x1A5E },
+    { 0x1A60, 0x1A7C },
+    { 0x1A7F, 0x1A89 },
+    { 0x1A90, 0x1A99 },
+    { 0x1AA0, 0x1AAD },
     { 0x1B00, 0x1B4B },
     { 0x1B50, 0x1B7C },
     { 0x1B80, 0x1BAA },
@@ -256,8 +259,9 @@
     { 0x1C00, 0x1C37 },
     { 0x1C3B, 0x1C49 },
     { 0x1C4D, 0x1C7F },
+    { 0x1CD0, 0x1CF2 },
     { 0x1D00, 0x1DE6 },
-    { 0x1DFE, 0x1F15 },
+    { 0x1DFD, 0x1F15 },
     { 0x1F18, 0x1F1D },
     { 0x1F20, 0x1F45 },
     { 0x1F48, 0x1F4D },
@@ -280,36 +284,33 @@
     { 0x206A, 0x2071 },
     { 0x2074, 0x208E },
     { 0x2090, 0x2094 },
-    { 0x20A0, 0x20B5 },
+    { 0x20A0, 0x20B8 },
     { 0x20D0, 0x20F0 },
-    { 0x2100, 0x214F },
-    { 0x2153, 0x2188 },
-    { 0x2190, 0x23E7 },
+    { 0x2100, 0x2189 },
+    { 0x2190, 0x23E8 },
     { 0x2400, 0x2426 },
     { 0x2440, 0x244A },
-    { 0x2460, 0x269D },
-    { 0x26A0, 0x26BC },
-    { 0x26C0, 0x26C3 },
+    { 0x2460, 0x26CD },
+    { 0x26CF, 0x26E1 },
+    { 0x26E3, 0x26E3 },
+    { 0x26E8, 0x26FF },
     { 0x2701, 0x2704 },
     { 0x2706, 0x2709 },
     { 0x270C, 0x2727 },
     { 0x2729, 0x274B },
     { 0x274D, 0x274D },
     { 0x274F, 0x2752 },
-    { 0x2756, 0x2756 },
-    { 0x2758, 0x275E },
+    { 0x2756, 0x275E },
     { 0x2761, 0x2794 },
     { 0x2798, 0x27AF },
     { 0x27B1, 0x27BE },
     { 0x27C0, 0x27CA },
     { 0x27CC, 0x27CC },
     { 0x27D0, 0x2B4C },
-    { 0x2B50, 0x2B54 },
+    { 0x2B50, 0x2B59 },
     { 0x2C00, 0x2C2E },
     { 0x2C30, 0x2C5E },
-    { 0x2C60, 0x2C6F },
-    { 0x2C71, 0x2C7D },
-    { 0x2C80, 0x2CEA },
+    { 0x2C60, 0x2CF1 },
     { 0x2CF9, 0x2D25 },
     { 0x2D30, 0x2D65 },
     { 0x2D6F, 0x2D6F },
@@ -322,7 +323,7 @@
     { 0x2DC8, 0x2DCE },
     { 0x2DD0, 0x2DD6 },
     { 0x2DD8, 0x2DDE },
-    { 0x2DE0, 0x2E30 },
+    { 0x2DE0, 0x2E31 },
     { 0x2E80, 0x2E99 },
     { 0x2E9B, 0x2EF3 },
     { 0x2F00, 0x2FD5 },
@@ -335,30 +336,41 @@
     { 0x3190, 0x31B7 },
     { 0x31C0, 0x31E3 },
     { 0x31F0, 0x321E },
-    { 0x3220, 0x3243 },
-    { 0x3250, 0x32FE },
+    { 0x3220, 0x32FE },
     { 0x3300, 0x4DB5 },
-    { 0x4DC0, 0x9FC3 },
+    { 0x4DC0, 0x9FCB },
     { 0xA000, 0xA48C },
     { 0xA490, 0xA4C6 },
-    { 0xA500, 0xA62B },
+    { 0xA4D0, 0xA62B },
     { 0xA640, 0xA65F },
     { 0xA662, 0xA673 },
     { 0xA67C, 0xA697 },
+    { 0xA6A0, 0xA6F7 },
     { 0xA700, 0xA78C },
     { 0xA7FB, 0xA82B },
+    { 0xA830, 0xA839 },
     { 0xA840, 0xA877 },
     { 0xA880, 0xA8C4 },
     { 0xA8CE, 0xA8D9 },
+    { 0xA8E0, 0xA8FB },
     { 0xA900, 0xA953 },
-    { 0xA95F, 0xA95F },
+    { 0xA95F, 0xA97C },
+    { 0xA980, 0xA9CD },
+    { 0xA9CF, 0xA9D9 },
+    { 0xA9DE, 0xA9DF },
     { 0xAA00, 0xAA36 },
     { 0xAA40, 0xAA4D },
     { 0xAA50, 0xAA59 },
-    { 0xAA5C, 0xAA5F },
+    { 0xAA5C, 0xAA7B },
+    { 0xAA80, 0xAAC2 },
+    { 0xAADB, 0xAADF },
+    { 0xABC0, 0xABED },
+    { 0xABF0, 0xABF9 },
     { 0xAC00, 0xD7A3 },
+    { 0xD7B0, 0xD7C6 },
+    { 0xD7CB, 0xD7FB },
     { 0xE000, 0xFA2D },
-    { 0xFA30, 0xFA6A },
+    { 0xFA30, 0xFA6D },
     { 0xFA70, 0xFAD9 },
     { 0xFB00, 0xFB06 },
     { 0xFB13, 0xFB17 },
@@ -415,8 +427,9 @@
     { 0x1080A, 0x10835 },
     { 0x10837, 0x10838 },
     { 0x1083C, 0x1083C },
-    { 0x1083F, 0x1083F },
-    { 0x10900, 0x10919 },
+    { 0x1083F, 0x10855 },
+    { 0x10857, 0x1085F },
+    { 0x10900, 0x1091B },
     { 0x1091F, 0x10939 },
     { 0x1093F, 0x1093F },
     { 0x10A00, 0x10A03 },
@@ -427,9 +440,18 @@
     { 0x10A38, 0x10A3A },
     { 0x10A3F, 0x10A47 },
     { 0x10A50, 0x10A58 },
+    { 0x10A60, 0x10A7F },
+    { 0x10B00, 0x10B35 },
+    { 0x10B39, 0x10B55 },
+    { 0x10B58, 0x10B72 },
+    { 0x10B78, 0x10B7F },
+    { 0x10C00, 0x10C48 },
+    { 0x10E60, 0x10E7E },
+    { 0x11080, 0x110C1 },
     { 0x12000, 0x1236E },
     { 0x12400, 0x12462 },
     { 0x12470, 0x12473 },
+    { 0x13000, 0x1342E },
     { 0x1D000, 0x1D0F5 },
     { 0x1D100, 0x1D126 },
     { 0x1D129, 0x1D1DD },
@@ -459,7 +481,26 @@
     { 0x1D7CE, 0x1D7FF },
     { 0x1F000, 0x1F02B },
     { 0x1F030, 0x1F093 },
+    { 0x1F100, 0x1F10A },
+    { 0x1F110, 0x1F12E },
+    { 0x1F131, 0x1F131 },
+    { 0x1F13D, 0x1F13D },
+    { 0x1F13F, 0x1F13F },
+    { 0x1F142, 0x1F142 },
+    { 0x1F146, 0x1F146 },
+    { 0x1F14A, 0x1F14E },
+    { 0x1F157, 0x1F157 },
+    { 0x1F15F, 0x1F15F },
+    { 0x1F179, 0x1F179 },
+    { 0x1F17B, 0x1F17C },
+    { 0x1F17F, 0x1F17F },
+    { 0x1F18A, 0x1F18D },
+    { 0x1F190, 0x1F190 },
+    { 0x1F200, 0x1F200 },
+    { 0x1F210, 0x1F231 },
+    { 0x1F240, 0x1F248 },
     { 0x20000, 0x2A6D6 },
+    { 0x2A700, 0x2B734 },
     { 0x2F800, 0x2FA1D },
     { 0xE0001, 0xE0001 },
     { 0xE0020, 0xE007F },
--- a/tests/unictype/test-ctype_lower.c
+++ b/tests/unictype/test-ctype_lower.c
@@ -154,13 +154,13 @@
     { 0x0231, 0x0231 },
     { 0x0233, 0x0233 },
     { 0x023C, 0x023C },
+    { 0x023F, 0x0240 },
     { 0x0242, 0x0242 },
     { 0x0247, 0x0247 },
     { 0x0249, 0x0249 },
     { 0x024B, 0x024B },
     { 0x024D, 0x024D },
-    { 0x024F, 0x0251 },
-    { 0x0253, 0x0254 },
+    { 0x024F, 0x0254 },
     { 0x0256, 0x0257 },
     { 0x0259, 0x0259 },
     { 0x025B, 0x025B },
@@ -294,6 +294,7 @@
     { 0x051F, 0x051F },
     { 0x0521, 0x0521 },
     { 0x0523, 0x0523 },
+    { 0x0525, 0x0525 },
     { 0x0561, 0x0586 },
     { 0x1D79, 0x1D79 },
     { 0x1D7D, 0x1D7D },
@@ -504,6 +505,8 @@
     { 0x2CDF, 0x2CDF },
     { 0x2CE1, 0x2CE1 },
     { 0x2CE3, 0x2CE3 },
+    { 0x2CEC, 0x2CEC },
+    { 0x2CEE, 0x2CEE },
     { 0x2D00, 0x2D25 },
     { 0xA641, 0xA641 },
     { 0xA643, 0xA643 },
--- a/tests/unictype/test-ctype_print.c
+++ b/tests/unictype/test-ctype_print.c
@@ -23,7 +23,7 @@
     { 0x0384, 0x038A },
     { 0x038C, 0x038C },
     { 0x038E, 0x03A1 },
-    { 0x03A3, 0x0523 },
+    { 0x03A3, 0x0525 },
     { 0x0531, 0x0556 },
     { 0x0559, 0x055F },
     { 0x0561, 0x0587 },
@@ -39,11 +39,13 @@
     { 0x070F, 0x074A },
     { 0x074D, 0x07B1 },
     { 0x07C0, 0x07FA },
-    { 0x0901, 0x0939 },
-    { 0x093C, 0x094D },
-    { 0x0950, 0x0954 },
+    { 0x0800, 0x082D },
+    { 0x0830, 0x083E },
+    { 0x0900, 0x0939 },
+    { 0x093C, 0x094E },
+    { 0x0950, 0x0955 },
     { 0x0958, 0x0972 },
-    { 0x097B, 0x097F },
+    { 0x0979, 0x097F },
     { 0x0981, 0x0983 },
     { 0x0985, 0x098C },
     { 0x098F, 0x0990 },
@@ -57,7 +59,7 @@
     { 0x09D7, 0x09D7 },
     { 0x09DC, 0x09DD },
     { 0x09DF, 0x09E3 },
-    { 0x09E6, 0x09FA },
+    { 0x09E6, 0x09FB },
     { 0x0A01, 0x0A03 },
     { 0x0A05, 0x0A0A },
     { 0x0A0F, 0x0A10 },
@@ -195,14 +197,10 @@
     { 0x0F90, 0x0F97 },
     { 0x0F99, 0x0FBC },
     { 0x0FBE, 0x0FCC },
-    { 0x0FCE, 0x0FD4 },
-    { 0x1000, 0x1099 },
-    { 0x109E, 0x10C5 },
+    { 0x0FCE, 0x0FD8 },
+    { 0x1000, 0x10C5 },
     { 0x10D0, 0x10FC },
-    { 0x1100, 0x1159 },
-    { 0x115F, 0x11A2 },
-    { 0x11A8, 0x11F9 },
-    { 0x1200, 0x1248 },
+    { 0x1100, 0x1248 },
     { 0x124A, 0x124D },
     { 0x1250, 0x1256 },
     { 0x1258, 0x1258 },
@@ -221,8 +219,7 @@
     { 0x135F, 0x137C },
     { 0x1380, 0x1399 },
     { 0x13A0, 0x13F4 },
-    { 0x1401, 0x1676 },
-    { 0x1680, 0x169C },
+    { 0x1400, 0x169C },
     { 0x16A0, 0x16F0 },
     { 0x1700, 0x170C },
     { 0x170E, 0x1714 },
@@ -238,17 +235,22 @@
     { 0x1810, 0x1819 },
     { 0x1820, 0x1877 },
     { 0x1880, 0x18AA },
+    { 0x18B0, 0x18F5 },
     { 0x1900, 0x191C },
     { 0x1920, 0x192B },
     { 0x1930, 0x193B },
     { 0x1940, 0x1940 },
     { 0x1944, 0x196D },
     { 0x1970, 0x1974 },
-    { 0x1980, 0x19A9 },
+    { 0x1980, 0x19AB },
     { 0x19B0, 0x19C9 },
-    { 0x19D0, 0x19D9 },
+    { 0x19D0, 0x19DA },
     { 0x19DE, 0x1A1B },
-    { 0x1A1E, 0x1A1F },
+    { 0x1A1E, 0x1A5E },
+    { 0x1A60, 0x1A7C },
+    { 0x1A7F, 0x1A89 },
+    { 0x1A90, 0x1A99 },
+    { 0x1AA0, 0x1AAD },
     { 0x1B00, 0x1B4B },
     { 0x1B50, 0x1B7C },
     { 0x1B80, 0x1BAA },
@@ -256,8 +258,9 @@
     { 0x1C00, 0x1C37 },
     { 0x1C3B, 0x1C49 },
     { 0x1C4D, 0x1C7F },
+    { 0x1CD0, 0x1CF2 },
     { 0x1D00, 0x1DE6 },
-    { 0x1DFE, 0x1F15 },
+    { 0x1DFD, 0x1F15 },
     { 0x1F18, 0x1F1D },
     { 0x1F20, 0x1F45 },
     { 0x1F48, 0x1F4D },
@@ -278,36 +281,33 @@
     { 0x206A, 0x2071 },
     { 0x2074, 0x208E },
     { 0x2090, 0x2094 },
-    { 0x20A0, 0x20B5 },
+    { 0x20A0, 0x20B8 },
     { 0x20D0, 0x20F0 },
-    { 0x2100, 0x214F },
-    { 0x2153, 0x2188 },
-    { 0x2190, 0x23E7 },
+    { 0x2100, 0x2189 },
+    { 0x2190, 0x23E8 },
     { 0x2400, 0x2426 },
     { 0x2440, 0x244A },
-    { 0x2460, 0x269D },
-    { 0x26A0, 0x26BC },
-    { 0x26C0, 0x26C3 },
+    { 0x2460, 0x26CD },
+    { 0x26CF, 0x26E1 },
+    { 0x26E3, 0x26E3 },
+    { 0x26E8, 0x26FF },
     { 0x2701, 0x2704 },
     { 0x2706, 0x2709 },
     { 0x270C, 0x2727 },
     { 0x2729, 0x274B },
     { 0x274D, 0x274D },
     { 0x274F, 0x2752 },
-    { 0x2756, 0x2756 },
-    { 0x2758, 0x275E },
+    { 0x2756, 0x275E },
     { 0x2761, 0x2794 },
     { 0x2798, 0x27AF },
     { 0x27B1, 0x27BE },
     { 0x27C0, 0x27CA },
     { 0x27CC, 0x27CC },
     { 0x27D0, 0x2B4C },
-    { 0x2B50, 0x2B54 },
+    { 0x2B50, 0x2B59 },
     { 0x2C00, 0x2C2E },
     { 0x2C30, 0x2C5E },
-    { 0x2C60, 0x2C6F },
-    { 0x2C71, 0x2C7D },
-    { 0x2C80, 0x2CEA },
+    { 0x2C60, 0x2CF1 },
     { 0x2CF9, 0x2D25 },
     { 0x2D30, 0x2D65 },
     { 0x2D6F, 0x2D6F },
@@ -320,7 +320,7 @@
     { 0x2DC8, 0x2DCE },
     { 0x2DD0, 0x2DD6 },
     { 0x2DD8, 0x2DDE },
-    { 0x2DE0, 0x2E30 },
+    { 0x2DE0, 0x2E31 },
     { 0x2E80, 0x2E99 },
     { 0x2E9B, 0x2EF3 },
     { 0x2F00, 0x2FD5 },
@@ -333,30 +333,41 @@
     { 0x3190, 0x31B7 },
     { 0x31C0, 0x31E3 },
     { 0x31F0, 0x321E },
-    { 0x3220, 0x3243 },
-    { 0x3250, 0x32FE },
+    { 0x3220, 0x32FE },
     { 0x3300, 0x4DB5 },
-    { 0x4DC0, 0x9FC3 },
+    { 0x4DC0, 0x9FCB },
     { 0xA000, 0xA48C },
     { 0xA490, 0xA4C6 },
-    { 0xA500, 0xA62B },
+    { 0xA4D0, 0xA62B },
     { 0xA640, 0xA65F },
     { 0xA662, 0xA673 },
     { 0xA67C, 0xA697 },
+    { 0xA6A0, 0xA6F7 },
     { 0xA700, 0xA78C },
     { 0xA7FB, 0xA82B },
+    { 0xA830, 0xA839 },
     { 0xA840, 0xA877 },
     { 0xA880, 0xA8C4 },
     { 0xA8CE, 0xA8D9 },
+    { 0xA8E0, 0xA8FB },
     { 0xA900, 0xA953 },
-    { 0xA95F, 0xA95F },
+    { 0xA95F, 0xA97C },
+    { 0xA980, 0xA9CD },
+    { 0xA9CF, 0xA9D9 },
+    { 0xA9DE, 0xA9DF },
     { 0xAA00, 0xAA36 },
     { 0xAA40, 0xAA4D },
     { 0xAA50, 0xAA59 },
-    { 0xAA5C, 0xAA5F },
+    { 0xAA5C, 0xAA7B },
+    { 0xAA80, 0xAAC2 },
+    { 0xAADB, 0xAADF },
+    { 0xABC0, 0xABED },
+    { 0xABF0, 0xABF9 },
     { 0xAC00, 0xD7A3 },
+    { 0xD7B0, 0xD7C6 },
+    { 0xD7CB, 0xD7FB },
     { 0xE000, 0xFA2D },
-    { 0xFA30, 0xFA6A },
+    { 0xFA30, 0xFA6D },
     { 0xFA70, 0xFAD9 },
     { 0xFB00, 0xFB06 },
     { 0xFB13, 0xFB17 },
@@ -413,8 +424,9 @@
     { 0x1080A, 0x10835 },
     { 0x10837, 0x10838 },
     { 0x1083C, 0x1083C },
-    { 0x1083F, 0x1083F },
-    { 0x10900, 0x10919 },
+    { 0x1083F, 0x10855 },
+    { 0x10857, 0x1085F },
+    { 0x10900, 0x1091B },
     { 0x1091F, 0x10939 },
     { 0x1093F, 0x1093F },
     { 0x10A00, 0x10A03 },
@@ -425,9 +437,18 @@
     { 0x10A38, 0x10A3A },
     { 0x10A3F, 0x10A47 },
     { 0x10A50, 0x10A58 },
+    { 0x10A60, 0x10A7F },
+    { 0x10B00, 0x10B35 },
+    { 0x10B39, 0x10B55 },
+    { 0x10B58, 0x10B72 },
+    { 0x10B78, 0x10B7F },
+    { 0x10C00, 0x10C48 },
+    { 0x10E60, 0x10E7E },
+    { 0x11080, 0x110C1 },
     { 0x12000, 0x1236E },
     { 0x12400, 0x12462 },
     { 0x12470, 0x12473 },
+    { 0x13000, 0x1342E },
     { 0x1D000, 0x1D0F5 },
     { 0x1D100, 0x1D126 },
     { 0x1D129, 0x1D1DD },
@@ -457,7 +478,26 @@
     { 0x1D7CE, 0x1D7FF },
     { 0x1F000, 0x1F02B },
     { 0x1F030, 0x1F093 },
+    { 0x1F100, 0x1F10A },
+    { 0x1F110, 0x1F12E },
+    { 0x1F131, 0x1F131 },
+    { 0x1F13D, 0x1F13D },
+    { 0x1F13F, 0x1F13F },
+    { 0x1F142, 0x1F142 },
+    { 0x1F146, 0x1F146 },
+    { 0x1F14A, 0x1F14E },
+    { 0x1F157, 0x1F157 },
+    { 0x1F15F, 0x1F15F },
+    { 0x1F179, 0x1F179 },
+    { 0x1F17B, 0x1F17C },
+    { 0x1F17F, 0x1F17F },
+    { 0x1F18A, 0x1F18D },
+    { 0x1F190, 0x1F190 },
+    { 0x1F200, 0x1F200 },
+    { 0x1F210, 0x1F231 },
+    { 0x1F240, 0x1F248 },
     { 0x20000, 0x2A6D6 },
+    { 0x2A700, 0x2B734 },
     { 0x2F800, 0x2FA1D },
     { 0xE0001, 0xE0001 },
     { 0xE0020, 0xE007F },
--- a/tests/unictype/test-ctype_punct.c
+++ b/tests/unictype/test-ctype_punct.c
@@ -60,10 +60,15 @@
     { 0x07A6, 0x07B0 },
     { 0x07EB, 0x07F3 },
     { 0x07F6, 0x07F9 },
-    { 0x0901, 0x0903 },
+    { 0x0816, 0x0819 },
+    { 0x081B, 0x0823 },
+    { 0x0825, 0x0827 },
+    { 0x0829, 0x082D },
+    { 0x0830, 0x083E },
+    { 0x0900, 0x0903 },
     { 0x093C, 0x093C },
-    { 0x093E, 0x094D },
-    { 0x0951, 0x0954 },
+    { 0x093E, 0x094E },
+    { 0x0951, 0x0955 },
     { 0x0962, 0x0965 },
     { 0x0970, 0x0970 },
     { 0x0981, 0x0983 },
@@ -73,7 +78,7 @@
     { 0x09CB, 0x09CD },
     { 0x09D7, 0x09D7 },
     { 0x09E2, 0x09E3 },
-    { 0x09F2, 0x09FA },
+    { 0x09F2, 0x09FB },
     { 0x0A01, 0x0A03 },
     { 0x0A3C, 0x0A3C },
     { 0x0A3E, 0x0A42 },
@@ -147,7 +152,7 @@
     { 0x0F90, 0x0F97 },
     { 0x0F99, 0x0FBC },
     { 0x0FBE, 0x0FCC },
-    { 0x0FCE, 0x0FD4 },
+    { 0x0FCE, 0x0FD8 },
     { 0x102B, 0x103E },
     { 0x104A, 0x104F },
     { 0x1056, 0x1059 },
@@ -157,10 +162,11 @@
     { 0x1071, 0x1074 },
     { 0x1082, 0x108D },
     { 0x108F, 0x108F },
-    { 0x109E, 0x109F },
+    { 0x109A, 0x109F },
     { 0x10FB, 0x10FB },
     { 0x135F, 0x137C },
     { 0x1390, 0x1399 },
+    { 0x1400, 0x1400 },
     { 0x166D, 0x166E },
     { 0x169B, 0x169C },
     { 0x16EB, 0x16ED },
@@ -183,6 +189,11 @@
     { 0x19DE, 0x19FF },
     { 0x1A17, 0x1A1B },
     { 0x1A1E, 0x1A1F },
+    { 0x1A55, 0x1A5E },
+    { 0x1A60, 0x1A7C },
+    { 0x1A7F, 0x1A7F },
+    { 0x1AA0, 0x1AA6 },
+    { 0x1AA8, 0x1AAD },
     { 0x1B00, 0x1B04 },
     { 0x1B34, 0x1B44 },
     { 0x1B5A, 0x1B7C },
@@ -191,8 +202,11 @@
     { 0x1C24, 0x1C37 },
     { 0x1C3B, 0x1C3F },
     { 0x1C7E, 0x1C7F },
+    { 0x1CD0, 0x1CE8 },
+    { 0x1CED, 0x1CED },
+    { 0x1CF2, 0x1CF2 },
     { 0x1DC0, 0x1DE6 },
-    { 0x1DFE, 0x1DFF },
+    { 0x1DFD, 0x1DFF },
     { 0x1FBD, 0x1FBD },
     { 0x1FBF, 0x1FC1 },
     { 0x1FCD, 0x1FCF },
@@ -206,7 +220,7 @@
     { 0x206A, 0x2070 },
     { 0x2074, 0x207E },
     { 0x2080, 0x208E },
-    { 0x20A0, 0x20B5 },
+    { 0x20A0, 0x20B8 },
     { 0x20D0, 0x20F0 },
     { 0x2100, 0x2101 },
     { 0x2103, 0x2106 },
@@ -220,34 +234,35 @@
     { 0x213A, 0x213B },
     { 0x2140, 0x2144 },
     { 0x214A, 0x214D },
-    { 0x214F, 0x214F },
-    { 0x2153, 0x215F },
-    { 0x2190, 0x23E7 },
+    { 0x214F, 0x215F },
+    { 0x2189, 0x2189 },
+    { 0x2190, 0x23E8 },
     { 0x2400, 0x2426 },
     { 0x2440, 0x244A },
     { 0x2460, 0x249B },
-    { 0x24EA, 0x269D },
-    { 0x26A0, 0x26BC },
-    { 0x26C0, 0x26C3 },
+    { 0x24EA, 0x26CD },
+    { 0x26CF, 0x26E1 },
+    { 0x26E3, 0x26E3 },
+    { 0x26E8, 0x26FF },
     { 0x2701, 0x2704 },
     { 0x2706, 0x2709 },
     { 0x270C, 0x2727 },
     { 0x2729, 0x274B },
     { 0x274D, 0x274D },
     { 0x274F, 0x2752 },
-    { 0x2756, 0x2756 },
-    { 0x2758, 0x275E },
+    { 0x2756, 0x275E },
     { 0x2761, 0x2794 },
     { 0x2798, 0x27AF },
     { 0x27B1, 0x27BE },
     { 0x27C0, 0x27CA },
     { 0x27CC, 0x27CC },
     { 0x27D0, 0x2B4C },
-    { 0x2B50, 0x2B54 },
+    { 0x2B50, 0x2B59 },
     { 0x2CE5, 0x2CEA },
+    { 0x2CEF, 0x2CF1 },
     { 0x2CF9, 0x2CFF },
     { 0x2DE0, 0x2E2E },
-    { 0x2E30, 0x2E30 },
+    { 0x2E30, 0x2E31 },
     { 0x2E80, 0x2E99 },
     { 0x2E9B, 0x2EF3 },
     { 0x2F00, 0x2FD5 },
@@ -263,14 +278,15 @@
     { 0x3190, 0x319F },
     { 0x31C0, 0x31E3 },
     { 0x3200, 0x321E },
-    { 0x3220, 0x3243 },
-    { 0x3250, 0x32FE },
+    { 0x3220, 0x32FE },
     { 0x3300, 0x33FF },
     { 0x4DC0, 0x4DFF },
     { 0xA490, 0xA4C6 },
+    { 0xA4FE, 0xA4FF },
     { 0xA60D, 0xA60F },
     { 0xA66F, 0xA673 },
     { 0xA67C, 0xA67E },
+    { 0xA6F0, 0xA6F7 },
     { 0xA700, 0xA716 },
     { 0xA720, 0xA721 },
     { 0xA789, 0xA78A },
@@ -278,17 +294,32 @@
     { 0xA806, 0xA806 },
     { 0xA80B, 0xA80B },
     { 0xA823, 0xA82B },
+    { 0xA830, 0xA839 },
     { 0xA874, 0xA877 },
     { 0xA880, 0xA881 },
     { 0xA8B4, 0xA8C4 },
     { 0xA8CE, 0xA8CF },
+    { 0xA8E0, 0xA8F1 },
+    { 0xA8F8, 0xA8FA },
     { 0xA926, 0xA92F },
     { 0xA947, 0xA953 },
     { 0xA95F, 0xA95F },
+    { 0xA980, 0xA983 },
+    { 0xA9B3, 0xA9CD },
+    { 0xA9DE, 0xA9DF },
     { 0xAA29, 0xAA36 },
     { 0xAA43, 0xAA43 },
     { 0xAA4C, 0xAA4D },
     { 0xAA5C, 0xAA5F },
+    { 0xAA77, 0xAA79 },
+    { 0xAA7B, 0xAA7B },
+    { 0xAAB0, 0xAAB0 },
+    { 0xAAB2, 0xAAB4 },
+    { 0xAAB7, 0xAAB8 },
+    { 0xAABE, 0xAABF },
+    { 0xAAC1, 0xAAC1 },
+    { 0xAADE, 0xAADF },
+    { 0xABE3, 0xABED },
     { 0xE000, 0xF8FF },
     { 0xFB1E, 0xFB1E },
     { 0xFB29, 0xFB29 },
@@ -316,7 +347,8 @@
     { 0x10320, 0x10323 },
     { 0x1039F, 0x1039F },
     { 0x103D0, 0x103D0 },
-    { 0x10916, 0x10919 },
+    { 0x10857, 0x1085F },
+    { 0x10916, 0x1091B },
     { 0x1091F, 0x1091F },
     { 0x1093F, 0x1093F },
     { 0x10A01, 0x10A03 },
@@ -325,6 +357,13 @@
     { 0x10A38, 0x10A3A },
     { 0x10A3F, 0x10A47 },
     { 0x10A50, 0x10A58 },
+    { 0x10A7D, 0x10A7F },
+    { 0x10B39, 0x10B3F },
+    { 0x10B58, 0x10B5F },
+    { 0x10B78, 0x10B7F },
+    { 0x10E60, 0x10E7E },
+    { 0x11080, 0x11082 },
+    { 0x110B0, 0x110C1 },
     { 0x12470, 0x12473 },
     { 0x1D000, 0x1D0F5 },
     { 0x1D100, 0x1D126 },
@@ -344,6 +383,14 @@
     { 0x1D7C3, 0x1D7C3 },
     { 0x1F000, 0x1F02B },
     { 0x1F030, 0x1F093 },
+    { 0x1F100, 0x1F10A },
+    { 0x1F12D, 0x1F12E },
+    { 0x1F14A, 0x1F14E },
+    { 0x1F18B, 0x1F18D },
+    { 0x1F190, 0x1F190 },
+    { 0x1F200, 0x1F200 },
+    { 0x1F210, 0x1F231 },
+    { 0x1F240, 0x1F248 },
     { 0xE0001, 0xE0001 },
     { 0xE0020, 0xE007F },
     { 0xE0100, 0xE01EF },
--- a/tests/unictype/test-ctype_upper.c
+++ b/tests/unictype/test-ctype_upper.c
@@ -280,6 +280,7 @@
     { 0x051E, 0x051E },
     { 0x0520, 0x0520 },
     { 0x0522, 0x0522 },
+    { 0x0524, 0x0524 },
     { 0x0531, 0x0556 },
     { 0x10A0, 0x10C5 },
     { 0x1E00, 0x1E00 },
@@ -436,10 +437,10 @@
     { 0x2C67, 0x2C67 },
     { 0x2C69, 0x2C69 },
     { 0x2C6B, 0x2C6B },
-    { 0x2C6D, 0x2C6F },
+    { 0x2C6D, 0x2C70 },
     { 0x2C72, 0x2C72 },
     { 0x2C75, 0x2C75 },
-    { 0x2C80, 0x2C80 },
+    { 0x2C7E, 0x2C80 },
     { 0x2C82, 0x2C82 },
     { 0x2C84, 0x2C84 },
     { 0x2C86, 0x2C86 },
@@ -489,6 +490,8 @@
     { 0x2CDE, 0x2CDE },
     { 0x2CE0, 0x2CE0 },
     { 0x2CE2, 0x2CE2 },
+    { 0x2CEB, 0x2CEB },
+    { 0x2CED, 0x2CED },
     { 0xA640, 0xA640 },
     { 0xA642, 0xA642 },
     { 0xA644, 0xA644 },
--- a/tests/unictype/test-decdigit.h
+++ b/tests/unictype/test-decdigit.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Decimal digit values of Unicode characters.  */
-/* Generated automatically by gen-ctype.c for Unicode 5.1.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 5.2.0.  */
     { 0x0030, 0 },
     { 0x0031, 1 },
     { 0x0032, 2 },
@@ -221,6 +221,27 @@
     { 0x19D7, 7 },
     { 0x19D8, 8 },
     { 0x19D9, 9 },
+    { 0x19DA, 1 },
+    { 0x1A80, 0 },
+    { 0x1A81, 1 },
+    { 0x1A82, 2 },
+    { 0x1A83, 3 },
+    { 0x1A84, 4 },
+    { 0x1A85, 5 },
+    { 0x1A86, 6 },
+    { 0x1A87, 7 },
+    { 0x1A88, 8 },
+    { 0x1A89, 9 },
+    { 0x1A90, 0 },
+    { 0x1A91, 1 },
+    { 0x1A92, 2 },
+    { 0x1A93, 3 },
+    { 0x1A94, 4 },
+    { 0x1A95, 5 },
+    { 0x1A96, 6 },
+    { 0x1A97, 7 },
+    { 0x1A98, 8 },
+    { 0x1A99, 9 },
     { 0x1B50, 0 },
     { 0x1B51, 1 },
     { 0x1B52, 2 },
@@ -291,6 +312,16 @@
     { 0xA907, 7 },
     { 0xA908, 8 },
     { 0xA909, 9 },
+    { 0xA9D0, 0 },
+    { 0xA9D1, 1 },
+    { 0xA9D2, 2 },
+    { 0xA9D3, 3 },
+    { 0xA9D4, 4 },
+    { 0xA9D5, 5 },
+    { 0xA9D6, 6 },
+    { 0xA9D7, 7 },
+    { 0xA9D8, 8 },
+    { 0xA9D9, 9 },
     { 0xAA50, 0 },
     { 0xAA51, 1 },
     { 0xAA52, 2 },
@@ -301,6 +332,16 @@
     { 0xAA57, 7 },
     { 0xAA58, 8 },
     { 0xAA59, 9 },
+    { 0xABF0, 0 },
+    { 0xABF1, 1 },
+    { 0xABF2, 2 },
+    { 0xABF3, 3 },
+    { 0xABF4, 4 },
+    { 0xABF5, 5 },
+    { 0xABF6, 6 },
+    { 0xABF7, 7 },
+    { 0xABF8, 8 },
+    { 0xABF9, 9 },
     { 0xFF10, 0 },
     { 0xFF11, 1 },
     { 0xFF12, 2 },
--- a/tests/unictype/test-digit.h
+++ b/tests/unictype/test-digit.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Digit values of Unicode characters.  */
-/* Generated automatically by gen-ctype.c for Unicode 5.1.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 5.2.0.  */
     { 0x0030, 0 },
     { 0x0031, 1 },
     { 0x0032, 2 },
@@ -233,6 +233,27 @@
     { 0x19D7, 7 },
     { 0x19D8, 8 },
     { 0x19D9, 9 },
+    { 0x19DA, 1 },
+    { 0x1A80, 0 },
+    { 0x1A81, 1 },
+    { 0x1A82, 2 },
+    { 0x1A83, 3 },
+    { 0x1A84, 4 },
+    { 0x1A85, 5 },
+    { 0x1A86, 6 },
+    { 0x1A87, 7 },
+    { 0x1A88, 8 },
+    { 0x1A89, 9 },
+    { 0x1A90, 0 },
+    { 0x1A91, 1 },
+    { 0x1A92, 2 },
+    { 0x1A93, 3 },
+    { 0x1A94, 4 },
+    { 0x1A95, 5 },
+    { 0x1A96, 6 },
+    { 0x1A97, 7 },
+    { 0x1A98, 8 },
+    { 0x1A99, 9 },
     { 0x1B50, 0 },
     { 0x1B51, 1 },
     { 0x1B52, 2 },
@@ -385,6 +406,16 @@
     { 0xA907, 7 },
     { 0xA908, 8 },
     { 0xA909, 9 },
+    { 0xA9D0, 0 },
+    { 0xA9D1, 1 },
+    { 0xA9D2, 2 },
+    { 0xA9D3, 3 },
+    { 0xA9D4, 4 },
+    { 0xA9D5, 5 },
+    { 0xA9D6, 6 },
+    { 0xA9D7, 7 },
+    { 0xA9D8, 8 },
+    { 0xA9D9, 9 },
     { 0xAA50, 0 },
     { 0xAA51, 1 },
     { 0xAA52, 2 },
@@ -395,6 +426,16 @@
     { 0xAA57, 7 },
     { 0xAA58, 8 },
     { 0xAA59, 9 },
+    { 0xABF0, 0 },
+    { 0xABF1, 1 },
+    { 0xABF2, 2 },
+    { 0xABF3, 3 },
+    { 0xABF4, 4 },
+    { 0xABF5, 5 },
+    { 0xABF6, 6 },
+    { 0xABF7, 7 },
+    { 0xABF8, 8 },
+    { 0xABF9, 9 },
     { 0xFF10, 0 },
     { 0xFF11, 1 },
     { 0xFF12, 2 },
@@ -419,6 +460,15 @@
     { 0x10A41, 2 },
     { 0x10A42, 3 },
     { 0x10A43, 4 },
+    { 0x10E60, 1 },
+    { 0x10E61, 2 },
+    { 0x10E62, 3 },
+    { 0x10E63, 4 },
+    { 0x10E64, 5 },
+    { 0x10E65, 6 },
+    { 0x10E66, 7 },
+    { 0x10E67, 8 },
+    { 0x10E68, 9 },
     { 0x1D7CE, 0 },
     { 0x1D7CF, 1 },
     { 0x1D7D0, 2 },
@@ -468,4 +518,15 @@
     { 0x1D7FC, 6 },
     { 0x1D7FD, 7 },
     { 0x1D7FE, 8 },
-    { 0x1D7FF, 9 }
+    { 0x1D7FF, 9 },
+    { 0x1F100, 0 },
+    { 0x1F101, 0 },
+    { 0x1F102, 1 },
+    { 0x1F103, 2 },
+    { 0x1F104, 3 },
+    { 0x1F105, 4 },
+    { 0x1F106, 5 },
+    { 0x1F107, 6 },
+    { 0x1F108, 7 },
+    { 0x1F109, 8 },
+    { 0x1F10A, 9 }
--- a/tests/unictype/test-numeric.h
+++ b/tests/unictype/test-numeric.h
@@ -1,6 +1,6 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Numeric values of Unicode characters.  */
-/* Generated automatically by gen-ctype.c for Unicode 5.1.0.  */
+/* Generated automatically by gen-uni-tables.c for Unicode 5.2.0.  */
     { 0x0030, 0, 1 },
     { 0x0031, 1, 1 },
     { 0x0032, 2, 1 },
@@ -67,10 +67,11 @@
     { 0x09ED, 7, 1 },
     { 0x09EE, 8, 1 },
     { 0x09EF, 9, 1 },
-    { 0x09F4, 1, 1 },
-    { 0x09F5, 2, 1 },
-    { 0x09F6, 3, 1 },
-    { 0x09F7, 4, 1 },
+    { 0x09F4, 1, 16 },
+    { 0x09F5, 1, 8 },
+    { 0x09F6, 3, 16 },
+    { 0x09F7, 1, 4 },
+    { 0x09F8, 3, 4 },
     { 0x09F9, 16, 1 },
     { 0x0A66, 0, 1 },
     { 0x0A67, 1, 1 },
@@ -291,6 +292,27 @@
     { 0x19D7, 7, 1 },
     { 0x19D8, 8, 1 },
     { 0x19D9, 9, 1 },
+    { 0x19DA, 1, 1 },
+    { 0x1A80, 0, 1 },
+    { 0x1A81, 1, 1 },
+    { 0x1A82, 2, 1 },
+    { 0x1A83, 3, 1 },
+    { 0x1A84, 4, 1 },
+    { 0x1A85, 5, 1 },
+    { 0x1A86, 6, 1 },
+    { 0x1A87, 7, 1 },
+    { 0x1A88, 8, 1 },
+    { 0x1A89, 9, 1 },
+    { 0x1A90, 0, 1 },
+    { 0x1A91, 1, 1 },
+    { 0x1A92, 2, 1 },
+    { 0x1A93, 3, 1 },
+    { 0x1A94, 4, 1 },
+    { 0x1A95, 5, 1 },
+    { 0x1A96, 6, 1 },
+    { 0x1A97, 7, 1 },
+    { 0x1A98, 8, 1 },
+    { 0x1A99, 9, 1 },
     { 0x1B50, 0, 1 },
     { 0x1B51, 1, 1 },
     { 0x1B52, 2, 1 },
@@ -348,6 +370,9 @@
     { 0x2087, 7, 1 },
     { 0x2088, 8, 1 },
     { 0x2089, 9, 1 },
+    { 0x2150, 1, 7 },
+    { 0x2151, 1, 9 },
+    { 0x2152, 1, 10 },
     { 0x2153, 1, 3 },
     { 0x2154, 2, 3 },
     { 0x2155, 1, 5 },
@@ -400,6 +425,7 @@
     { 0x2186, 50, 1 },
     { 0x2187, 50000, 1 },
     { 0x2188, 100000, 1 },
+    { 0x2189, 0, 1 },
     { 0x2460, 1, 1 },
     { 0x2461, 2, 1 },
     { 0x2462, 3, 1 },
@@ -590,6 +616,22 @@
     { 0xA627, 7, 1 },
     { 0xA628, 8, 1 },
     { 0xA629, 9, 1 },
+    { 0xA6E6, 1, 1 },
+    { 0xA6E7, 2, 1 },
+    { 0xA6E8, 3, 1 },
+    { 0xA6E9, 4, 1 },
+    { 0xA6EA, 5, 1 },
+    { 0xA6EB, 6, 1 },
+    { 0xA6EC, 7, 1 },
+    { 0xA6ED, 8, 1 },
+    { 0xA6EE, 9, 1 },
+    { 0xA6EF, 0, 1 },
+    { 0xA830, 1, 4 },
+    { 0xA831, 1, 2 },
+    { 0xA832, 3, 4 },
+    { 0xA833, 1, 16 },
+    { 0xA834, 1, 8 },
+    { 0xA835, 3, 16 },
     { 0xA8D0, 0, 1 },
     { 0xA8D1, 1, 1 },
     { 0xA8D2, 2, 1 },
@@ -610,6 +652,16 @@
     { 0xA907, 7, 1 },
     { 0xA908, 8, 1 },
     { 0xA909, 9, 1 },
+    { 0xA9D0, 0, 1 },
+    { 0xA9D1, 1, 1 },
+    { 0xA9D2, 2, 1 },
+    { 0xA9D3, 3, 1 },
+    { 0xA9D4, 4, 1 },
+    { 0xA9D5, 5, 1 },
+    { 0xA9D6, 6, 1 },
+    { 0xA9D7, 7, 1 },
+    { 0xA9D8, 8, 1 },
+    { 0xA9D9, 9, 1 },
     { 0xAA50, 0, 1 },
     { 0xAA51, 1, 1 },
     { 0xAA52, 2, 1 },
@@ -620,6 +672,16 @@
     { 0xAA57, 7, 1 },
     { 0xAA58, 8, 1 },
     { 0xAA59, 9, 1 },
+    { 0xABF0, 0, 1 },
+    { 0xABF1, 1, 1 },
+    { 0xABF2, 2, 1 },
+    { 0xABF3, 3, 1 },
+    { 0xABF4, 4, 1 },
+    { 0xABF5, 5, 1 },
+    { 0xABF6, 6, 1 },
+    { 0xABF7, 7, 1 },
+    { 0xABF8, 8, 1 },
+    { 0xABF9, 9, 1 },
     { 0xF96B, 3, 1 },
     { 0xF973, 10, 1 },
     { 0xF978, 2, 1 },
@@ -761,10 +823,20 @@
     { 0x104A7, 7, 1 },
     { 0x104A8, 8, 1 },
     { 0x104A9, 9, 1 },
+    { 0x10858, 1, 1 },
+    { 0x10859, 2, 1 },
+    { 0x1085A, 3, 1 },
+    { 0x1085B, 10, 1 },
+    { 0x1085C, 20, 1 },
+    { 0x1085D, 100, 1 },
+    { 0x1085E, 1000, 1 },
+    { 0x1085F, 10000, 1 },
     { 0x10916, 1, 1 },
     { 0x10917, 10, 1 },
     { 0x10918, 20, 1 },
     { 0x10919, 100, 1 },
+    { 0x1091A, 2, 1 },
+    { 0x1091B, 3, 1 },
     { 0x10A40, 1, 1 },
     { 0x10A41, 2, 1 },
     { 0x10A42, 3, 1 },
@@ -773,6 +845,55 @@
     { 0x10A45, 20, 1 },
     { 0x10A46, 100, 1 },
     { 0x10A47, 1000, 1 },
+    { 0x10A7D, 1, 1 },
+    { 0x10A7E, 50, 1 },
+    { 0x10B58, 1, 1 },
+    { 0x10B59, 2, 1 },
+    { 0x10B5A, 3, 1 },
+    { 0x10B5B, 4, 1 },
+    { 0x10B5C, 10, 1 },
+    { 0x10B5D, 20, 1 },
+    { 0x10B5E, 100, 1 },
+    { 0x10B5F, 1000, 1 },
+    { 0x10B78, 1, 1 },
+    { 0x10B79, 2, 1 },
+    { 0x10B7A, 3, 1 },
+    { 0x10B7B, 4, 1 },
+    { 0x10B7C, 10, 1 },
+    { 0x10B7D, 20, 1 },
+    { 0x10B7E, 100, 1 },
+    { 0x10B7F, 1000, 1 },
+    { 0x10E60, 1, 1 },
+    { 0x10E61, 2, 1 },
+    { 0x10E62, 3, 1 },
+    { 0x10E63, 4, 1 },
+    { 0x10E64, 5, 1 },
+    { 0x10E65, 6, 1 },
+    { 0x10E66, 7, 1 },
+    { 0x10E67, 8, 1 },
+    { 0x10E68, 9, 1 },
+    { 0x10E69, 10, 1 },
+    { 0x10E6A, 20, 1 },
+    { 0x10E6B, 30, 1 },
+    { 0x10E6C, 40, 1 },
+    { 0x10E6D, 50, 1 },
+    { 0x10E6E, 60, 1 },
+    { 0x10E6F, 70, 1 },
+    { 0x10E70, 80, 1 },
+    { 0x10E71, 90, 1 },
+    { 0x10E72, 100, 1 },
+    { 0x10E73, 200, 1 },
+    { 0x10E74, 300, 1 },
+    { 0x10E75, 400, 1 },
+    { 0x10E76, 500, 1 },
+    { 0x10E77, 600, 1 },
+    { 0x10E78, 700, 1 },
+    { 0x10E79, 800, 1 },
+    { 0x10E7A, 900, 1 },
+    { 0x10E7B, 1, 2 },
+    { 0x10E7C, 1, 4 },
+    { 0x10E7D, 1, 3 },
+    { 0x10E7E, 2, 3 },
     { 0x12400, 2, 1 },
     { 0x12401, 3, 1 },
     { 0x12402, 4, 1 },
@@ -936,4 +1057,15 @@
     { 0x1D7FD, 7, 1 },
     { 0x1D7FE, 8, 1 },
     { 0x1D7FF, 9, 1 },
+    { 0x1F100, 0, 1 },
+    { 0x1F101, 0, 1 },
+    { 0x1F102, 1, 1 },
+    { 0x1F103, 2, 1 },
+    { 0x1F104, 3, 1 },
+    { 0x1F105, 4, 1 },
+    { 0x1F106, 5, 1 },
+    { 0x1F107, 6, 1 },
+    { 0x1F108, 7, 1 },
+    { 0x1F109, 8, 1 },
+    { 0x1F10A, 9, 1 },
     { 0x2F890, 9, 1 }
--- a/tests/unictype/test-pr_alphabetic.c
+++ b/tests/unictype/test-pr_alphabetic.c
@@ -39,7 +39,7 @@
     { 0x038E, 0x03A1 },
     { 0x03A3, 0x03F5 },
     { 0x03F7, 0x0481 },
-    { 0x048A, 0x0523 },
+    { 0x048A, 0x0525 },
     { 0x0531, 0x0556 },
     { 0x0559, 0x0559 },
     { 0x0561, 0x0587 },
@@ -64,12 +64,16 @@
     { 0x07CA, 0x07EA },
     { 0x07F4, 0x07F5 },
     { 0x07FA, 0x07FA },
-    { 0x0901, 0x0939 },
+    { 0x0800, 0x0817 },
+    { 0x081A, 0x082C },
+    { 0x0900, 0x0939 },
     { 0x093D, 0x094C },
+    { 0x094E, 0x094E },
     { 0x0950, 0x0950 },
+    { 0x0955, 0x0955 },
     { 0x0958, 0x0963 },
     { 0x0971, 0x0972 },
-    { 0x097B, 0x097F },
+    { 0x0979, 0x097F },
     { 0x0981, 0x0983 },
     { 0x0985, 0x098C },
     { 0x098F, 0x0990 },
@@ -220,13 +224,11 @@
     { 0x1065, 0x1068 },
     { 0x106E, 0x1086 },
     { 0x108E, 0x108E },
+    { 0x109C, 0x109D },
     { 0x10A0, 0x10C5 },
     { 0x10D0, 0x10FA },
     { 0x10FC, 0x10FC },
-    { 0x1100, 0x1159 },
-    { 0x115F, 0x11A2 },
-    { 0x11A8, 0x11F9 },
-    { 0x1200, 0x1248 },
+    { 0x1100, 0x1248 },
     { 0x124A, 0x124D },
     { 0x1250, 0x1256 },
     { 0x1258, 0x1258 },
@@ -246,7 +248,7 @@
     { 0x1380, 0x138F },
     { 0x13A0, 0x13F4 },
     { 0x1401, 0x166C },
-    { 0x166F, 0x1676 },
+    { 0x166F, 0x167F },
     { 0x1681, 0x169A },
     { 0x16A0, 0x16EA },
     { 0x16EE, 0x16F0 },
@@ -263,14 +265,18 @@
     { 0x17DC, 0x17DC },
     { 0x1820, 0x1877 },
     { 0x1880, 0x18AA },
+    { 0x18B0, 0x18F5 },
     { 0x1900, 0x191C },
     { 0x1920, 0x192B },
     { 0x1930, 0x1938 },
     { 0x1950, 0x196D },
     { 0x1970, 0x1974 },
-    { 0x1980, 0x19A9 },
+    { 0x1980, 0x19AB },
     { 0x19B0, 0x19C9 },
     { 0x1A00, 0x1A1B },
+    { 0x1A20, 0x1A5E },
+    { 0x1A61, 0x1A74 },
+    { 0x1AA7, 0x1AA7 },
     { 0x1B00, 0x1B33 },
     { 0x1B35, 0x1B43 },
     { 0x1B45, 0x1B4B },
@@ -279,6 +285,8 @@
     { 0x1C00, 0x1C35 },
     { 0x1C4D, 0x1C4F },
     { 0x1C5A, 0x1C7D },
+    { 0x1CE9, 0x1CEC },
+    { 0x1CEE, 0x1CF2 },
     { 0x1D00, 0x1DBF },
     { 0x1E00, 0x1F15 },
     { 0x1F18, 0x1F1D },
@@ -319,9 +327,8 @@
     { 0x24B6, 0x24E9 },
     { 0x2C00, 0x2C2E },
     { 0x2C30, 0x2C5E },
-    { 0x2C60, 0x2C6F },
-    { 0x2C71, 0x2C7D },
-    { 0x2C80, 0x2CE4 },
+    { 0x2C60, 0x2CE4 },
+    { 0x2CEB, 0x2CEE },
     { 0x2D00, 0x2D25 },
     { 0x2D30, 0x2D65 },
     { 0x2D6F, 0x2D6F },
@@ -349,14 +356,16 @@
     { 0x31A0, 0x31B7 },
     { 0x31F0, 0x31FF },
     { 0x3400, 0x4DB5 },
-    { 0x4E00, 0x9FC3 },
+    { 0x4E00, 0x9FCB },
     { 0xA000, 0xA48C },
+    { 0xA4D0, 0xA4FD },
     { 0xA500, 0xA60C },
     { 0xA610, 0xA61F },
     { 0xA62A, 0xA62B },
     { 0xA640, 0xA65F },
     { 0xA662, 0xA66E },
     { 0xA67F, 0xA697 },
+    { 0xA6A0, 0xA6EF },
     { 0xA717, 0xA71F },
     { 0xA722, 0xA788 },
     { 0xA78B, 0xA78C },
@@ -366,13 +375,27 @@
     { 0xA80C, 0xA827 },
     { 0xA840, 0xA873 },
     { 0xA880, 0xA8C3 },
+    { 0xA8F2, 0xA8F7 },
+    { 0xA8FB, 0xA8FB },
     { 0xA90A, 0xA92A },
     { 0xA930, 0xA952 },
+    { 0xA960, 0xA97C },
+    { 0xA980, 0xA9BF },
+    { 0xA9CF, 0xA9CF },
     { 0xAA00, 0xAA36 },
     { 0xAA40, 0xAA4D },
+    { 0xAA60, 0xAA76 },
+    { 0xAA7A, 0xAA7A },
+    { 0xAA80, 0xAABE },
+    { 0xAAC0, 0xAAC0 },
+    { 0xAAC2, 0xAAC2 },
+    { 0xAADB, 0xAADD },
+    { 0xABC0, 0xABEA },
     { 0xAC00, 0xD7A3 },
+    { 0xD7B0, 0xD7C6 },
+    { 0xD7CB, 0xD7FB },
     { 0xF900, 0xFA2D },
-    { 0xFA30, 0xFA6A },
+    { 0xFA30, 0xFA6D },
     { 0xFA70, 0xFAD9 },
     { 0xFB00, 0xFB06 },
     { 0xFB13, 0xFB17 },
@@ -418,7 +441,7 @@
     { 0x1080A, 0x10835 },
     { 0x10837, 0x10838 },
     { 0x1083C, 0x1083C },
-    { 0x1083F, 0x1083F },
+    { 0x1083F, 0x10855 },
     { 0x10900, 0x10915 },
     { 0x10920, 0x10939 },
     { 0x10A00, 0x10A03 },
@@ -426,8 +449,15 @@
     { 0x10A0C, 0x10A13 },
     { 0x10A15, 0x10A17 },
     { 0x10A19, 0x10A33 },
+    { 0x10A60, 0x10A7C },
+    { 0x10B00, 0x10B35 },
+    { 0x10B40, 0x10B55 },
+    { 0x10B60, 0x10B72 },
+    { 0x10C00, 0x10C48 },
+    { 0x11082, 0x110B8 },
     { 0x12000, 0x1236E },
     { 0x12400, 0x12462 },
+    { 0x13000, 0x1342E },
     { 0x1D400, 0x1D454 },
     { 0x1D456, 0x1D49C },
     { 0x1D49E, 0x1D49F },
@@ -459,6 +489,7 @@
     { 0x1D7AA, 0x1D7C2 },
     { 0x1D7C4, 0x1D7CB },
     { 0x20000, 0x2A6D6 },
+    { 0x2A700, 0x2B734 },
     { 0x2F800, 0x2FA1D }
 
 #define PREDICATE(c) uc_is_property_alphabetic (c)
--- a/tests/unictype/test-pr_bidi_arabic_digit.c
+++ b/tests/unictype/test-pr_bidi_arabic_digit.c
@@ -20,7 +20,8 @@
     { 0x0600, 0x0603 },
     { 0x0660, 0x0669 },
     { 0x066B, 0x066C },
-    { 0x06DD, 0x06DD }
+    { 0x06DD, 0x06DD },
+    { 0x10E60, 0x10E7E }
 
 #define PREDICATE(c) uc_is_property_bidi_arabic_digit (c)
 #include "test-predicate-part2.h"
--- a/tests/unictype/test-pr_bidi_eur_num_terminator.c
+++ b/tests/unictype/test-pr_bidi_eur_num_terminator.c
@@ -23,14 +23,16 @@
     { 0x0609, 0x060A },
     { 0x066A, 0x066A },
     { 0x09F2, 0x09F3 },
+    { 0x09FB, 0x09FB },
     { 0x0AF1, 0x0AF1 },
     { 0x0BF9, 0x0BF9 },
     { 0x0E3F, 0x0E3F },
     { 0x17DB, 0x17DB },
     { 0x2030, 0x2034 },
-    { 0x20A0, 0x20B5 },
+    { 0x20A0, 0x20B8 },
     { 0x212E, 0x212E },
     { 0x2213, 0x2213 },
+    { 0xA838, 0xA839 },
     { 0xFE5F, 0xFE5F },
     { 0xFE69, 0xFE6A },
     { 0xFF03, 0xFF05 },
--- a/tests/unictype/test-pr_bidi_european_digit.c
+++ b/tests/unictype/test-pr_bidi_european_digit.c
@@ -26,7 +26,8 @@
     { 0x2080, 0x2089 },
     { 0x2488, 0x249B },
     { 0xFF10, 0xFF19 },
-    { 0x1D7CE, 0x1D7FF }
+    { 0x1D7CE, 0x1D7FF },
+    { 0x1F100, 0x1F10A }
 
 #define PREDICATE(c) uc_is_property_bidi_european_digit (c)
 #include "test-predicate-part2.h"
--- a/tests/unictype/test-pr_bidi_hebrew_right_to_left.c
+++ b/tests/unictype/test-pr_bidi_hebrew_right_to_left.c
@@ -25,7 +25,11 @@
     { 0x05C8, 0x05FF },
     { 0x07C0, 0x07EA },
     { 0x07F4, 0x07F5 },
-    { 0x07FA, 0x08FF },
+    { 0x07FA, 0x0815 },
+    { 0x081A, 0x081A },
+    { 0x0824, 0x0824 },
+    { 0x0828, 0x0828 },
+    { 0x082E, 0x08FF },
     { 0x200F, 0x200F },
     { 0xFB1D, 0xFB1D },
     { 0xFB1F, 0xFB28 },
@@ -36,7 +40,9 @@
     { 0x10A07, 0x10A0B },
     { 0x10A10, 0x10A37 },
     { 0x10A3B, 0x10A3E },
-    { 0x10A40, 0x10FFF }
+    { 0x10A40, 0x10B38 },
+    { 0x10B40, 0x10E5F },
+    { 0x10E7F, 0x10FFF }
 
 #define PREDICATE(c) uc_is_property_bidi_hebrew_right_to_left (c)
 #include "test-predicate-part2.h"
--- a/tests/unictype/test-pr_bidi_left_to_right.c
+++ b/tests/unictype/test-pr_bidi_left_to_right.c
@@ -37,19 +37,19 @@
     { 0x03F7, 0x0482 },
     { 0x048A, 0x0589 },
     { 0x058B, 0x058F },
-    { 0x0900, 0x0900 },
     { 0x0903, 0x093B },
     { 0x093D, 0x0940 },
     { 0x0949, 0x094C },
     { 0x094E, 0x0950 },
-    { 0x0955, 0x0961 },
+    { 0x0956, 0x0961 },
     { 0x0964, 0x0980 },
     { 0x0982, 0x09BB },
     { 0x09BD, 0x09C0 },
     { 0x09C5, 0x09CC },
     { 0x09CE, 0x09E1 },
     { 0x09E4, 0x09F1 },
-    { 0x09F4, 0x0A00 },
+    { 0x09F4, 0x09FA },
+    { 0x09FC, 0x0A00 },
     { 0x0A03, 0x0A3B },
     { 0x0A3D, 0x0A40 },
     { 0x0A43, 0x0A46 },
@@ -119,9 +119,11 @@
     { 0x1075, 0x1081 },
     { 0x1083, 0x1084 },
     { 0x1087, 0x108C },
-    { 0x108E, 0x135E },
+    { 0x108E, 0x109C },
+    { 0x109E, 0x135E },
     { 0x1360, 0x138F },
-    { 0x139A, 0x167F },
+    { 0x139A, 0x13FF },
+    { 0x1401, 0x167F },
     { 0x1681, 0x169A },
     { 0x169D, 0x1711 },
     { 0x1715, 0x1731 },
@@ -143,7 +145,14 @@
     { 0x1941, 0x1943 },
     { 0x1946, 0x19DD },
     { 0x1A00, 0x1A16 },
-    { 0x1A19, 0x1AFF },
+    { 0x1A19, 0x1A55 },
+    { 0x1A57, 0x1A57 },
+    { 0x1A5F, 0x1A5F },
+    { 0x1A61, 0x1A61 },
+    { 0x1A63, 0x1A64 },
+    { 0x1A6D, 0x1A72 },
+    { 0x1A7D, 0x1A7E },
+    { 0x1A80, 0x1AFF },
     { 0x1B04, 0x1B33 },
     { 0x1B35, 0x1B35 },
     { 0x1B3B, 0x1B3B },
@@ -154,8 +163,12 @@
     { 0x1BA6, 0x1BA7 },
     { 0x1BAA, 0x1C2B },
     { 0x1C34, 0x1C35 },
-    { 0x1C38, 0x1DBF },
-    { 0x1DE7, 0x1DFD },
+    { 0x1C38, 0x1CCF },
+    { 0x1CD3, 0x1CD3 },
+    { 0x1CE1, 0x1CE1 },
+    { 0x1CE9, 0x1CEC },
+    { 0x1CEE, 0x1DBF },
+    { 0x1DE7, 0x1DFC },
     { 0x1E00, 0x1FBC },
     { 0x1FBE, 0x1FBE },
     { 0x1FC2, 0x1FCC },
@@ -167,7 +180,7 @@
     { 0x2071, 0x2073 },
     { 0x207F, 0x207F },
     { 0x208F, 0x209F },
-    { 0x20B6, 0x20CF },
+    { 0x20B9, 0x20CF },
     { 0x20F1, 0x20FF },
     { 0x2102, 0x2102 },
     { 0x2107, 0x2107 },
@@ -181,25 +194,26 @@
     { 0x212F, 0x2139 },
     { 0x213C, 0x213F },
     { 0x2145, 0x2149 },
-    { 0x214E, 0x2152 },
-    { 0x2160, 0x218F },
+    { 0x214E, 0x214F },
+    { 0x2160, 0x2188 },
+    { 0x218A, 0x218F },
     { 0x2336, 0x237A },
     { 0x2395, 0x2395 },
-    { 0x23E8, 0x23FF },
+    { 0x23E9, 0x23FF },
     { 0x2427, 0x243F },
     { 0x244B, 0x245F },
     { 0x249C, 0x24E9 },
-    { 0x269E, 0x269F },
     { 0x26AC, 0x26AC },
-    { 0x26BD, 0x26BF },
-    { 0x26C4, 0x2700 },
+    { 0x26CE, 0x26CE },
+    { 0x26E2, 0x26E2 },
+    { 0x26E4, 0x26E7 },
+    { 0x2700, 0x2700 },
     { 0x2705, 0x2705 },
     { 0x270A, 0x270B },
     { 0x2728, 0x2728 },
     { 0x274C, 0x274C },
     { 0x274E, 0x274E },
     { 0x2753, 0x2755 },
-    { 0x2757, 0x2757 },
     { 0x275F, 0x2760 },
     { 0x2795, 0x2797 },
     { 0x27B0, 0x27B0 },
@@ -208,10 +222,11 @@
     { 0x27CD, 0x27CF },
     { 0x2800, 0x28FF },
     { 0x2B4D, 0x2B4F },
-    { 0x2B55, 0x2CE4 },
-    { 0x2CEB, 0x2CF8 },
+    { 0x2B5A, 0x2CE4 },
+    { 0x2CEB, 0x2CEE },
+    { 0x2CF2, 0x2CF8 },
     { 0x2D00, 0x2DDF },
-    { 0x2E31, 0x2E7F },
+    { 0x2E32, 0x2E7F },
     { 0x2E9A, 0x2E9A },
     { 0x2EF4, 0x2EFF },
     { 0x2FD6, 0x2FEF },
@@ -237,23 +252,38 @@
     { 0xA4C7, 0xA60C },
     { 0xA610, 0xA66E },
     { 0xA674, 0xA67B },
-    { 0xA680, 0xA6FF },
+    { 0xA680, 0xA6EF },
+    { 0xA6F2, 0xA6FF },
     { 0xA722, 0xA787 },
     { 0xA789, 0xA801 },
     { 0xA803, 0xA805 },
     { 0xA807, 0xA80A },
     { 0xA80C, 0xA824 },
     { 0xA827, 0xA827 },
-    { 0xA82C, 0xA873 },
+    { 0xA82C, 0xA837 },
+    { 0xA83A, 0xA873 },
     { 0xA878, 0xA8C3 },
-    { 0xA8C5, 0xA925 },
+    { 0xA8C5, 0xA8DF },
+    { 0xA8F2, 0xA925 },
     { 0xA92E, 0xA946 },
-    { 0xA952, 0xAA28 },
+    { 0xA952, 0xA97F },
+    { 0xA983, 0xA9B2 },
+    { 0xA9B4, 0xA9B5 },
+    { 0xA9BA, 0xA9BB },
+    { 0xA9BD, 0xAA28 },
     { 0xAA2F, 0xAA30 },
     { 0xAA33, 0xAA34 },
     { 0xAA37, 0xAA42 },
     { 0xAA44, 0xAA4B },
-    { 0xAA4D, 0xFB1C },
+    { 0xAA4D, 0xAAAF },
+    { 0xAAB1, 0xAAB1 },
+    { 0xAAB5, 0xAAB6 },
+    { 0xAAB9, 0xAABD },
+    { 0xAAC0, 0xAAC0 },
+    { 0xAAC2, 0xABE4 },
+    { 0xABE6, 0xABE7 },
+    { 0xABE9, 0xABEC },
+    { 0xABEE, 0xFB1C },
     { 0xFF00, 0xFF00 },
     { 0xFF21, 0xFF3A },
     { 0xFF41, 0xFF5A },
@@ -265,16 +295,25 @@
     { 0x1018B, 0x1018F },
     { 0x1019C, 0x101FC },
     { 0x101FE, 0x107FF },
-    { 0x11000, 0x1D166 },
+    { 0x11000, 0x1107F },
+    { 0x11082, 0x110B2 },
+    { 0x110B7, 0x110B8 },
+    { 0x110BB, 0x1D166 },
     { 0x1D16A, 0x1D172 },
     { 0x1D183, 0x1D184 },
     { 0x1D18C, 0x1D1A9 },
     { 0x1D1AE, 0x1D1FF },
     { 0x1D246, 0x1D2FF },
-    { 0x1D357, 0x1D7CD },
+    { 0x1D357, 0x1D6DA },
+    { 0x1D6DC, 0x1D714 },
+    { 0x1D716, 0x1D74E },
+    { 0x1D750, 0x1D788 },
+    { 0x1D78A, 0x1D7C2 },
+    { 0x1D7C4, 0x1D7CD },
     { 0x1D800, 0x1EFFF },
     { 0x1F02C, 0x1F02F },
-    { 0x1F094, 0x1FFFD },
+    { 0x1F094, 0x1F0FF },
+    { 0x1F10B, 0x1FFFD },
     { 0x20000, 0x2FFFD },
     { 0x30000, 0x3FFFD },
     { 0x40000, 0x4FFFD },
--- a/tests/unictype/test-pr_bidi_non_spacing_mark.c
+++ b/tests/unictype/test-pr_bidi_non_spacing_mark.c
@@ -35,11 +35,15 @@
     { 0x0730, 0x074A },
     { 0x07A6, 0x07B0 },
     { 0x07EB, 0x07F3 },
-    { 0x0901, 0x0902 },
+    { 0x0816, 0x0819 },
+    { 0x081B, 0x0823 },
+    { 0x0825, 0x0827 },
+    { 0x0829, 0x082D },
+    { 0x0900, 0x0902 },
     { 0x093C, 0x093C },
     { 0x0941, 0x0948 },
     { 0x094D, 0x094D },
-    { 0x0951, 0x0954 },
+    { 0x0951, 0x0955 },
     { 0x0962, 0x0963 },
     { 0x0981, 0x0981 },
     { 0x09BC, 0x09BC },
@@ -111,6 +115,7 @@
     { 0x1082, 0x1082 },
     { 0x1085, 0x1086 },
     { 0x108D, 0x108D },
+    { 0x109D, 0x109D },
     { 0x135F, 0x135F },
     { 0x1712, 0x1714 },
     { 0x1732, 0x1734 },
@@ -127,6 +132,13 @@
     { 0x1932, 0x1932 },
     { 0x1939, 0x193B },
     { 0x1A17, 0x1A18 },
+    { 0x1A56, 0x1A56 },
+    { 0x1A58, 0x1A5E },
+    { 0x1A60, 0x1A60 },
+    { 0x1A62, 0x1A62 },
+    { 0x1A65, 0x1A6C },
+    { 0x1A73, 0x1A7C },
+    { 0x1A7F, 0x1A7F },
     { 0x1B00, 0x1B03 },
     { 0x1B34, 0x1B34 },
     { 0x1B36, 0x1B3A },
@@ -138,26 +150,45 @@
     { 0x1BA8, 0x1BA9 },
     { 0x1C2C, 0x1C33 },
     { 0x1C36, 0x1C37 },
+    { 0x1CD0, 0x1CD2 },
+    { 0x1CD4, 0x1CE0 },
+    { 0x1CE2, 0x1CE8 },
+    { 0x1CED, 0x1CED },
     { 0x1DC0, 0x1DE6 },
-    { 0x1DFE, 0x1DFF },
+    { 0x1DFD, 0x1DFF },
     { 0x20D0, 0x20F0 },
+    { 0x2CEF, 0x2CF1 },
     { 0x2DE0, 0x2DFF },
     { 0x302A, 0x302F },
     { 0x3099, 0x309A },
     { 0xA66F, 0xA672 },
     { 0xA67C, 0xA67D },
+    { 0xA6F0, 0xA6F1 },
     { 0xA802, 0xA802 },
     { 0xA806, 0xA806 },
     { 0xA80B, 0xA80B },
     { 0xA825, 0xA826 },
     { 0xA8C4, 0xA8C4 },
+    { 0xA8E0, 0xA8F1 },
     { 0xA926, 0xA92D },
     { 0xA947, 0xA951 },
+    { 0xA980, 0xA982 },
+    { 0xA9B3, 0xA9B3 },
+    { 0xA9B6, 0xA9B9 },
+    { 0xA9BC, 0xA9BC },
     { 0xAA29, 0xAA2E },
     { 0xAA31, 0xAA32 },
     { 0xAA35, 0xAA36 },
     { 0xAA43, 0xAA43 },
     { 0xAA4C, 0xAA4C },
+    { 0xAAB0, 0xAAB0 },
+    { 0xAAB2, 0xAAB4 },
+    { 0xAAB7, 0xAAB8 },
+    { 0xAABE, 0xAABF },
+    { 0xAAC1, 0xAAC1 },
+    { 0xABE5, 0xABE5 },
+    { 0xABE8, 0xABE8 },
+    { 0xABED, 0xABED },
     { 0xFB1E, 0xFB1E },
     { 0xFE00, 0xFE0F },
     { 0xFE20, 0xFE26 },
@@ -167,6 +198,9 @@
     { 0x10A0C, 0x10A0F },
     { 0x10A38, 0x10A3A },
     { 0x10A3F, 0x10A3F },
+    { 0x11080, 0x11081 },
+    { 0x110B3, 0x110B6 },
+    { 0x110B9, 0x110BA },
     { 0x1D167, 0x1D169 },
     { 0x1D17B, 0x1D182 },
     { 0x1D185, 0x1D18B },
--- a/tests/unictype/test-pr_bidi_other_neutral.c
+++ b/tests/unictype/test-pr_bidi_other_neutral.c
@@ -52,6 +52,7 @@
     { 0x0CF1, 0x0CF2 },
     { 0x0F3A, 0x0F3D },
     { 0x1390, 0x1399 },
+    { 0x1400, 0x1400 },
     { 0x169B, 0x169C },
     { 0x17F0, 0x17F9 },
     { 0x1800, 0x180A },
@@ -81,26 +82,27 @@
     { 0x213A, 0x213B },
     { 0x2140, 0x2144 },
     { 0x214A, 0x214D },
-    { 0x2153, 0x215F },
+    { 0x2150, 0x215F },
+    { 0x2189, 0x2189 },
     { 0x2190, 0x2211 },
     { 0x2214, 0x2335 },
     { 0x237B, 0x2394 },
-    { 0x2396, 0x23E7 },
+    { 0x2396, 0x23E8 },
     { 0x2400, 0x2426 },
     { 0x2440, 0x244A },
     { 0x2460, 0x2487 },
-    { 0x24EA, 0x269D },
-    { 0x26A0, 0x26AB },
-    { 0x26AD, 0x26BC },
-    { 0x26C0, 0x26C3 },
+    { 0x24EA, 0x26AB },
+    { 0x26AD, 0x26CD },
+    { 0x26CF, 0x26E1 },
+    { 0x26E3, 0x26E3 },
+    { 0x26E8, 0x26FF },
     { 0x2701, 0x2704 },
     { 0x2706, 0x2709 },
     { 0x270C, 0x2727 },
     { 0x2729, 0x274B },
     { 0x274D, 0x274D },
     { 0x274F, 0x2752 },
-    { 0x2756, 0x2756 },
-    { 0x2758, 0x275E },
+    { 0x2756, 0x275E },
     { 0x2761, 0x2794 },
     { 0x2798, 0x27AF },
     { 0x27B1, 0x27BE },
@@ -108,10 +110,10 @@
     { 0x27CC, 0x27CC },
     { 0x27D0, 0x27FF },
     { 0x2900, 0x2B4C },
-    { 0x2B50, 0x2B54 },
+    { 0x2B50, 0x2B59 },
     { 0x2CE5, 0x2CEA },
     { 0x2CF9, 0x2CFF },
-    { 0x2E00, 0x2E30 },
+    { 0x2E00, 0x2E31 },
     { 0x2E80, 0x2E99 },
     { 0x2E9B, 0x2EF3 },
     { 0x2F00, 0x2FD5 },
@@ -165,9 +167,15 @@
     { 0x10140, 0x1018A },
     { 0x10190, 0x1019B },
     { 0x1091F, 0x1091F },
+    { 0x10B39, 0x10B3F },
     { 0x1D200, 0x1D241 },
     { 0x1D245, 0x1D245 },
     { 0x1D300, 0x1D356 },
+    { 0x1D6DB, 0x1D6DB },
+    { 0x1D715, 0x1D715 },
+    { 0x1D74F, 0x1D74F },
+    { 0x1D789, 0x1D789 },
+    { 0x1D7C3, 0x1D7C3 },
     { 0x1F000, 0x1F02B },
     { 0x1F030, 0x1F093 }
 
--- a/tests/unictype/test-pr_combining.c
+++ b/tests/unictype/test-pr_combining.c
@@ -35,10 +35,14 @@
     { 0x0730, 0x074A },
     { 0x07A6, 0x07B0 },
     { 0x07EB, 0x07F3 },
-    { 0x0901, 0x0903 },
+    { 0x0816, 0x0819 },
+    { 0x081B, 0x0823 },
+    { 0x0825, 0x0827 },
+    { 0x0829, 0x082D },
+    { 0x0900, 0x0903 },
     { 0x093C, 0x093C },
-    { 0x093E, 0x094D },
-    { 0x0951, 0x0954 },
+    { 0x093E, 0x094E },
+    { 0x0951, 0x0955 },
     { 0x0962, 0x0963 },
     { 0x0981, 0x0983 },
     { 0x09BC, 0x09BC },
@@ -123,6 +127,7 @@
     { 0x1071, 0x1074 },
     { 0x1082, 0x108D },
     { 0x108F, 0x108F },
+    { 0x109A, 0x109D },
     { 0x135F, 0x135F },
     { 0x1712, 0x1714 },
     { 0x1732, 0x1734 },
@@ -137,31 +142,51 @@
     { 0x19B0, 0x19C0 },
     { 0x19C8, 0x19C9 },
     { 0x1A17, 0x1A1B },
+    { 0x1A55, 0x1A5E },
+    { 0x1A60, 0x1A7C },
+    { 0x1A7F, 0x1A7F },
     { 0x1B00, 0x1B04 },
     { 0x1B34, 0x1B44 },
     { 0x1B6B, 0x1B73 },
     { 0x1B80, 0x1B82 },
     { 0x1BA1, 0x1BAA },
     { 0x1C24, 0x1C37 },
+    { 0x1CD0, 0x1CD2 },
+    { 0x1CD4, 0x1CE8 },
+    { 0x1CED, 0x1CED },
+    { 0x1CF2, 0x1CF2 },
     { 0x1DC0, 0x1DE6 },
-    { 0x1DFE, 0x1DFF },
+    { 0x1DFD, 0x1DFF },
     { 0x20D0, 0x20F0 },
+    { 0x2CEF, 0x2CF1 },
     { 0x2DE0, 0x2DFF },
     { 0x302A, 0x302F },
     { 0x3099, 0x309A },
     { 0xA66F, 0xA672 },
     { 0xA67C, 0xA67D },
+    { 0xA6F0, 0xA6F1 },
     { 0xA802, 0xA802 },
     { 0xA806, 0xA806 },
     { 0xA80B, 0xA80B },
     { 0xA823, 0xA827 },
     { 0xA880, 0xA881 },
     { 0xA8B4, 0xA8C4 },
+    { 0xA8E0, 0xA8F1 },
     { 0xA926, 0xA92D },
     { 0xA947, 0xA953 },
+    { 0xA980, 0xA983 },
+    { 0xA9B3, 0xA9C0 },
     { 0xAA29, 0xAA36 },
     { 0xAA43, 0xAA43 },
     { 0xAA4C, 0xAA4D },
+    { 0xAA7B, 0xAA7B },
+    { 0xAAB0, 0xAAB0 },
+    { 0xAAB2, 0xAAB4 },
+    { 0xAAB7, 0xAAB8 },
+    { 0xAABE, 0xAABF },
+    { 0xAAC1, 0xAAC1 },
+    { 0xABE3, 0xABEA },
+    { 0xABEC, 0xABED },
     { 0xFB1E, 0xFB1E },
     { 0xFE00, 0xFE0F },
     { 0xFE20, 0xFE26 },
@@ -171,6 +196,8 @@
     { 0x10A0C, 0x10A0F },
     { 0x10A38, 0x10A3A },
     { 0x10A3F, 0x10A3F },
+    { 0x11080, 0x11082 },
+    { 0x110B0, 0x110BA },
     { 0x1D165, 0x1D169 },
     { 0x1D16D, 0x1D172 },
     { 0x1D17B, 0x1D182 },
--- a/tests/unictype/test-pr_composite.c
+++ b/tests/unictype/test-pr_composite.c
@@ -173,13 +173,14 @@
     { 0x2116, 0x2116 },
     { 0x2120, 0x2122 },
     { 0x213B, 0x213B },
-    { 0x2153, 0x215F },
+    { 0x2150, 0x215F },
     { 0x2161, 0x2163 },
     { 0x2165, 0x2168 },
     { 0x216A, 0x216B },
     { 0x2171, 0x2173 },
     { 0x2175, 0x2178 },
     { 0x217A, 0x217B },
+    { 0x2189, 0x2189 },
     { 0x219A, 0x219B },
     { 0x21AE, 0x21AE },
     { 0x21CD, 0x21CF },
@@ -284,8 +285,18 @@
     { 0xFE7D, 0xFE7D },
     { 0xFE7F, 0xFE7F },
     { 0xFEF5, 0xFEFC },
+    { 0x1109A, 0x1109A },
+    { 0x1109C, 0x1109C },
+    { 0x110AB, 0x110AB },
     { 0x1D15E, 0x1D164 },
-    { 0x1D1BB, 0x1D1C0 }
+    { 0x1D1BB, 0x1D1C0 },
+    { 0x1F100, 0x1F10A },
+    { 0x1F110, 0x1F12A },
+    { 0x1F12D, 0x1F12E },
+    { 0x1F14A, 0x1F14E },
+    { 0x1F190, 0x1F190 },
+    { 0x1F200, 0x1F200 },
+    { 0x1F240, 0x1F248 }
 
 #define PREDICATE(c) uc_is_property_composite (c)
 #include "test-predicate-part2.h"
--- a/tests/unictype/test-pr_currency_symbol.c
+++ b/tests/unictype/test-pr_currency_symbol.c
@@ -21,11 +21,13 @@
     { 0x00A2, 0x00A5 },
     { 0x060B, 0x060B },
     { 0x09F2, 0x09F3 },
+    { 0x09FB, 0x09FB },
     { 0x0AF1, 0x0AF1 },
     { 0x0BF9, 0x0BF9 },
     { 0x0E3F, 0x0E3F },
     { 0x17DB, 0x17DB },
-    { 0x20A0, 0x20B5 },
+    { 0x20A0, 0x20B8 },
+    { 0xA838, 0xA838 },
     { 0xFDFC, 0xFDFC },
     { 0xFE69, 0xFE69 },
     { 0xFF04, 0xFF04 },
--- a/tests/unictype/test-pr_dash.c
+++ b/tests/unictype/test-pr_dash.c
@@ -20,6 +20,7 @@
     { 0x002D, 0x002D },
     { 0x058A, 0x058A },
     { 0x05BE, 0x05BE },
+    { 0x1400, 0x1400 },
     { 0x1806, 0x1806 },
     { 0x2010, 0x2015 },
     { 0x2053, 0x2053 },
--- a/tests/unictype/test-pr_decimal_digit.c
+++ b/tests/unictype/test-pr_decimal_digit.c
@@ -38,7 +38,9 @@
     { 0x17E0, 0x17E9 },
     { 0x1810, 0x1819 },
     { 0x1946, 0x194F },
-    { 0x19D0, 0x19D9 },
+    { 0x19D0, 0x19DA },
+    { 0x1A80, 0x1A89 },
+    { 0x1A90, 0x1A99 },
     { 0x1B50, 0x1B59 },
     { 0x1BB0, 0x1BB9 },
     { 0x1C40, 0x1C49 },
@@ -46,7 +48,9 @@
     { 0xA620, 0xA629 },
     { 0xA8D0, 0xA8D9 },
     { 0xA900, 0xA909 },
+    { 0xA9D0, 0xA9D9 },
     { 0xAA50, 0xAA59 },
+    { 0xABF0, 0xABF9 },
     { 0xFF10, 0xFF19 },
     { 0x104A0, 0x104A9 },
     { 0x1D7CE, 0x1D7FF }
--- a/tests/unictype/test-pr_deprecated.c
+++ b/tests/unictype/test-pr_deprecated.c
@@ -17,10 +17,12 @@
 
 #include "test-predicate-part1.h"
 
-    { 0x0340, 0x0341 },
-    { 0x17A3, 0x17A3 },
-    { 0x17D3, 0x17D3 },
+    { 0x0149, 0x0149 },
+    { 0x0F77, 0x0F77 },
+    { 0x0F79, 0x0F79 },
+    { 0x17A3, 0x17A4 },
     { 0x206A, 0x206F },
+    { 0x2329, 0x232A },
     { 0xE0001, 0xE0001 },
     { 0xE0020, 0xE007F }
 
--- a/tests/unictype/test-pr_diacritic.c
+++ b/tests/unictype/test-pr_diacritic.c
@@ -44,6 +44,7 @@
     { 0x0730, 0x074A },
     { 0x07A6, 0x07B0 },
     { 0x07EB, 0x07F5 },
+    { 0x0818, 0x0819 },
     { 0x093C, 0x093C },
     { 0x094D, 0x094D },
     { 0x0951, 0x0954 },
@@ -77,24 +78,30 @@
     { 0x1039, 0x103A },
     { 0x1087, 0x108D },
     { 0x108F, 0x108F },
+    { 0x109A, 0x109B },
     { 0x17C9, 0x17D3 },
     { 0x17DD, 0x17DD },
     { 0x1939, 0x193B },
+    { 0x1A75, 0x1A7C },
+    { 0x1A7F, 0x1A7F },
     { 0x1B34, 0x1B34 },
     { 0x1B44, 0x1B44 },
     { 0x1B6B, 0x1B73 },
     { 0x1BAA, 0x1BAA },
     { 0x1C36, 0x1C37 },
     { 0x1C78, 0x1C7D },
+    { 0x1CD0, 0x1CE8 },
+    { 0x1CED, 0x1CED },
     { 0x1D2C, 0x1D6A },
     { 0x1DC4, 0x1DCF },
-    { 0x1DFE, 0x1DFF },
+    { 0x1DFD, 0x1DFF },
     { 0x1FBD, 0x1FBD },
     { 0x1FBF, 0x1FC1 },
     { 0x1FCD, 0x1FCF },
     { 0x1FDD, 0x1FDF },
     { 0x1FED, 0x1FEF },
     { 0x1FFD, 0x1FFE },
+    { 0x2CEF, 0x2CF1 },
     { 0x2E2F, 0x2E2F },
     { 0x302A, 0x302F },
     { 0x3099, 0x309C },
@@ -102,11 +109,18 @@
     { 0xA66F, 0xA66F },
     { 0xA67C, 0xA67D },
     { 0xA67F, 0xA67F },
+    { 0xA6F0, 0xA6F1 },
     { 0xA717, 0xA721 },
     { 0xA788, 0xA788 },
     { 0xA8C4, 0xA8C4 },
+    { 0xA8E0, 0xA8F1 },
     { 0xA92B, 0xA92E },
     { 0xA953, 0xA953 },
+    { 0xA9B3, 0xA9B3 },
+    { 0xA9C0, 0xA9C0 },
+    { 0xAA7B, 0xAA7B },
+    { 0xAABF, 0xAAC2 },
+    { 0xABEC, 0xABED },
     { 0xFB1E, 0xFB1E },
     { 0xFE20, 0xFE26 },
     { 0xFF3E, 0xFF3E },
@@ -114,6 +128,7 @@
     { 0xFF70, 0xFF70 },
     { 0xFF9E, 0xFF9F },
     { 0xFFE3, 0xFFE3 },
+    { 0x110B9, 0x110BA },
     { 0x1D167, 0x1D169 },
     { 0x1D16D, 0x1D172 },
     { 0x1D17B, 0x1D182 },
--- a/tests/unictype/test-pr_extender.c
+++ b/tests/unictype/test-pr_extender.c
@@ -24,6 +24,7 @@
     { 0x0E46, 0x0E46 },
     { 0x0EC6, 0x0EC6 },
     { 0x1843, 0x1843 },
+    { 0x1AA7, 0x1AA7 },
     { 0x1C36, 0x1C36 },
     { 0x1C7B, 0x1C7B },
     { 0x3005, 0x3005 },
@@ -32,6 +33,9 @@
     { 0x30FC, 0x30FE },
     { 0xA015, 0xA015 },
     { 0xA60C, 0xA60C },
+    { 0xA9CF, 0xA9CF },
+    { 0xAA70, 0xAA70 },
+    { 0xAADD, 0xAADD },
     { 0xFF70, 0xFF70 }
 
 #define PREDICATE(c) uc_is_property_extender (c)
--- a/tests/unictype/test-pr_grapheme_base.c
+++ b/tests/unictype/test-pr_grapheme_base.c
@@ -26,7 +26,7 @@
     { 0x038C, 0x038C },
     { 0x038E, 0x03A1 },
     { 0x03A3, 0x0482 },
-    { 0x048A, 0x0523 },
+    { 0x048A, 0x0525 },
     { 0x0531, 0x0556 },
     { 0x0559, 0x055F },
     { 0x0561, 0x0587 },
@@ -52,13 +52,19 @@
     { 0x07B1, 0x07B1 },
     { 0x07C0, 0x07EA },
     { 0x07F4, 0x07FA },
+    { 0x0800, 0x0815 },
+    { 0x081A, 0x081A },
+    { 0x0824, 0x0824 },
+    { 0x0828, 0x0828 },
+    { 0x0830, 0x083E },
     { 0x0903, 0x0939 },
     { 0x093D, 0x0940 },
     { 0x0949, 0x094C },
+    { 0x094E, 0x094E },
     { 0x0950, 0x0950 },
     { 0x0958, 0x0961 },
     { 0x0964, 0x0972 },
-    { 0x097B, 0x097F },
+    { 0x0979, 0x097F },
     { 0x0982, 0x0983 },
     { 0x0985, 0x098C },
     { 0x098F, 0x0990 },
@@ -73,7 +79,7 @@
     { 0x09CE, 0x09CE },
     { 0x09DC, 0x09DD },
     { 0x09DF, 0x09E1 },
-    { 0x09E6, 0x09FA },
+    { 0x09E6, 0x09FB },
     { 0x0A03, 0x0A03 },
     { 0x0A05, 0x0A0A },
     { 0x0A0F, 0x0A10 },
@@ -212,7 +218,7 @@
     { 0x0F88, 0x0F8B },
     { 0x0FBE, 0x0FC5 },
     { 0x0FC7, 0x0FCC },
-    { 0x0FCE, 0x0FD4 },
+    { 0x0FCE, 0x0FD8 },
     { 0x1000, 0x102C },
     { 0x1031, 0x1031 },
     { 0x1038, 0x1038 },
@@ -223,13 +229,10 @@
     { 0x1075, 0x1081 },
     { 0x1083, 0x1084 },
     { 0x1087, 0x108C },
-    { 0x108E, 0x1099 },
+    { 0x108E, 0x109C },
     { 0x109E, 0x10C5 },
     { 0x10D0, 0x10FC },
-    { 0x1100, 0x1159 },
-    { 0x115F, 0x11A2 },
-    { 0x11A8, 0x11F9 },
-    { 0x1200, 0x1248 },
+    { 0x1100, 0x1248 },
     { 0x124A, 0x124D },
     { 0x1250, 0x1256 },
     { 0x1258, 0x1258 },
@@ -248,8 +251,7 @@
     { 0x1360, 0x137C },
     { 0x1380, 0x1399 },
     { 0x13A0, 0x13F4 },
-    { 0x1401, 0x1676 },
-    { 0x1680, 0x169C },
+    { 0x1400, 0x169C },
     { 0x16A0, 0x16F0 },
     { 0x1700, 0x170C },
     { 0x170E, 0x1711 },
@@ -271,6 +273,7 @@
     { 0x1820, 0x1877 },
     { 0x1880, 0x18A8 },
     { 0x18AA, 0x18AA },
+    { 0x18B0, 0x18F5 },
     { 0x1900, 0x191C },
     { 0x1923, 0x1926 },
     { 0x1929, 0x192B },
@@ -279,12 +282,19 @@
     { 0x1940, 0x1940 },
     { 0x1944, 0x196D },
     { 0x1970, 0x1974 },
-    { 0x1980, 0x19A9 },
+    { 0x1980, 0x19AB },
     { 0x19B0, 0x19C9 },
-    { 0x19D0, 0x19D9 },
+    { 0x19D0, 0x19DA },
     { 0x19DE, 0x1A16 },
     { 0x1A19, 0x1A1B },
-    { 0x1A1E, 0x1A1F },
+    { 0x1A1E, 0x1A55 },
+    { 0x1A57, 0x1A57 },
+    { 0x1A61, 0x1A61 },
+    { 0x1A63, 0x1A64 },
+    { 0x1A6D, 0x1A72 },
+    { 0x1A80, 0x1A89 },
+    { 0x1A90, 0x1A99 },
+    { 0x1AA0, 0x1AAD },
     { 0x1B04, 0x1B33 },
     { 0x1B35, 0x1B35 },
     { 0x1B3B, 0x1B3B },
@@ -300,6 +310,10 @@
     { 0x1C34, 0x1C35 },
     { 0x1C3B, 0x1C49 },
     { 0x1C4D, 0x1C7F },
+    { 0x1CD3, 0x1CD3 },
+    { 0x1CE1, 0x1CE1 },
+    { 0x1CE9, 0x1CEC },
+    { 0x1CEE, 0x1CF2 },
     { 0x1D00, 0x1DBF },
     { 0x1E00, 0x1F15 },
     { 0x1F18, 0x1F1D },
@@ -323,35 +337,32 @@
     { 0x2070, 0x2071 },
     { 0x2074, 0x208E },
     { 0x2090, 0x2094 },
-    { 0x20A0, 0x20B5 },
-    { 0x2100, 0x214F },
-    { 0x2153, 0x2188 },
-    { 0x2190, 0x23E7 },
+    { 0x20A0, 0x20B8 },
+    { 0x2100, 0x2189 },
+    { 0x2190, 0x23E8 },
     { 0x2400, 0x2426 },
     { 0x2440, 0x244A },
-    { 0x2460, 0x269D },
-    { 0x26A0, 0x26BC },
-    { 0x26C0, 0x26C3 },
+    { 0x2460, 0x26CD },
+    { 0x26CF, 0x26E1 },
+    { 0x26E3, 0x26E3 },
+    { 0x26E8, 0x26FF },
     { 0x2701, 0x2704 },
     { 0x2706, 0x2709 },
     { 0x270C, 0x2727 },
     { 0x2729, 0x274B },
     { 0x274D, 0x274D },
     { 0x274F, 0x2752 },
-    { 0x2756, 0x2756 },
-    { 0x2758, 0x275E },
+    { 0x2756, 0x275E },
     { 0x2761, 0x2794 },
     { 0x2798, 0x27AF },
     { 0x27B1, 0x27BE },
     { 0x27C0, 0x27CA },
     { 0x27CC, 0x27CC },
     { 0x27D0, 0x2B4C },
-    { 0x2B50, 0x2B54 },
+    { 0x2B50, 0x2B59 },
     { 0x2C00, 0x2C2E },
     { 0x2C30, 0x2C5E },
-    { 0x2C60, 0x2C6F },
-    { 0x2C71, 0x2C7D },
-    { 0x2C80, 0x2CEA },
+    { 0x2C60, 0x2CEE },
     { 0x2CF9, 0x2D25 },
     { 0x2D30, 0x2D65 },
     { 0x2D6F, 0x2D6F },
@@ -364,7 +375,7 @@
     { 0x2DC8, 0x2DCE },
     { 0x2DD0, 0x2DD6 },
     { 0x2DD8, 0x2DDE },
-    { 0x2E00, 0x2E30 },
+    { 0x2E00, 0x2E31 },
     { 0x2E80, 0x2E99 },
     { 0x2E9B, 0x2EF3 },
     { 0x2F00, 0x2FD5 },
@@ -378,30 +389,39 @@
     { 0x3190, 0x31B7 },
     { 0x31C0, 0x31E3 },
     { 0x31F0, 0x321E },
-    { 0x3220, 0x3243 },
-    { 0x3250, 0x32FE },
+    { 0x3220, 0x32FE },
     { 0x3300, 0x4DB5 },
-    { 0x4DC0, 0x9FC3 },
+    { 0x4DC0, 0x9FCB },
     { 0xA000, 0xA48C },
     { 0xA490, 0xA4C6 },
-    { 0xA500, 0xA62B },
+    { 0xA4D0, 0xA62B },
     { 0xA640, 0xA65F },
     { 0xA662, 0xA66E },
     { 0xA673, 0xA673 },
     { 0xA67E, 0xA697 },
+    { 0xA6A0, 0xA6EF },
+    { 0xA6F2, 0xA6F7 },
     { 0xA700, 0xA78C },
     { 0xA7FB, 0xA801 },
     { 0xA803, 0xA805 },
     { 0xA807, 0xA80A },
     { 0xA80C, 0xA824 },
     { 0xA827, 0xA82B },
+    { 0xA830, 0xA839 },
     { 0xA840, 0xA877 },
     { 0xA880, 0xA8C3 },
     { 0xA8CE, 0xA8D9 },
+    { 0xA8F2, 0xA8FB },
     { 0xA900, 0xA925 },
     { 0xA92E, 0xA946 },
     { 0xA952, 0xA953 },
-    { 0xA95F, 0xA95F },
+    { 0xA95F, 0xA97C },
+    { 0xA983, 0xA9B2 },
+    { 0xA9B4, 0xA9B5 },
+    { 0xA9BA, 0xA9BB },
+    { 0xA9BD, 0xA9CD },
+    { 0xA9CF, 0xA9D9 },
+    { 0xA9DE, 0xA9DF },
     { 0xAA00, 0xAA28 },
     { 0xAA2F, 0xAA30 },
     { 0xAA33, 0xAA34 },
@@ -409,10 +429,23 @@
     { 0xAA44, 0xAA4B },
     { 0xAA4D, 0xAA4D },
     { 0xAA50, 0xAA59 },
-    { 0xAA5C, 0xAA5F },
+    { 0xAA5C, 0xAA7B },
+    { 0xAA80, 0xAAAF },
+    { 0xAAB1, 0xAAB1 },
+    { 0xAAB5, 0xAAB6 },
+    { 0xAAB9, 0xAABD },
+    { 0xAAC0, 0xAAC0 },
+    { 0xAAC2, 0xAAC2 },
+    { 0xAADB, 0xAADF },
+    { 0xABC0, 0xABE4 },
+    { 0xABE6, 0xABE7 },
+    { 0xABE9, 0xABEC },
+    { 0xABF0, 0xABF9 },
     { 0xAC00, 0xD7A3 },
+    { 0xD7B0, 0xD7C6 },
+    { 0xD7CB, 0xD7FB },
     { 0xF900, 0xFA2D },
-    { 0xFA30, 0xFA6A },
+    { 0xFA30, 0xFA6D },
     { 0xFA70, 0xFAD9 },
     { 0xFB00, 0xFB06 },
     { 0xFB13, 0xFB17 },
@@ -469,8 +502,9 @@
     { 0x1080A, 0x10835 },
     { 0x10837, 0x10838 },
     { 0x1083C, 0x1083C },
-    { 0x1083F, 0x1083F },
-    { 0x10900, 0x10919 },
+    { 0x1083F, 0x10855 },
+    { 0x10857, 0x1085F },
+    { 0x10900, 0x1091B },
     { 0x1091F, 0x10939 },
     { 0x1093F, 0x1093F },
     { 0x10A00, 0x10A00 },
@@ -479,9 +513,21 @@
     { 0x10A19, 0x10A33 },
     { 0x10A40, 0x10A47 },
     { 0x10A50, 0x10A58 },
+    { 0x10A60, 0x10A7F },
+    { 0x10B00, 0x10B35 },
+    { 0x10B39, 0x10B55 },
+    { 0x10B58, 0x10B72 },
+    { 0x10B78, 0x10B7F },
+    { 0x10C00, 0x10C48 },
+    { 0x10E60, 0x10E7E },
+    { 0x11082, 0x110B2 },
+    { 0x110B7, 0x110B8 },
+    { 0x110BB, 0x110BC },
+    { 0x110BE, 0x110C1 },
     { 0x12000, 0x1236E },
     { 0x12400, 0x12462 },
     { 0x12470, 0x12473 },
+    { 0x13000, 0x1342E },
     { 0x1D000, 0x1D0F5 },
     { 0x1D100, 0x1D126 },
     { 0x1D129, 0x1D164 },
@@ -517,7 +563,26 @@
     { 0x1D7CE, 0x1D7FF },
     { 0x1F000, 0x1F02B },
     { 0x1F030, 0x1F093 },
+    { 0x1F100, 0x1F10A },
+    { 0x1F110, 0x1F12E },
+    { 0x1F131, 0x1F131 },
+    { 0x1F13D, 0x1F13D },
+    { 0x1F13F, 0x1F13F },
+    { 0x1F142, 0x1F142 },
+    { 0x1F146, 0x1F146 },
+    { 0x1F14A, 0x1F14E },
+    { 0x1F157, 0x1F157 },
+    { 0x1F15F, 0x1F15F },
+    { 0x1F179, 0x1F179 },
+    { 0x1F17B, 0x1F17C },
+    { 0x1F17F, 0x1F17F },
+    { 0x1F18A, 0x1F18D },
+    { 0x1F190, 0x1F190 },
+    { 0x1F200, 0x1F200 },
+    { 0x1F210, 0x1F231 },
+    { 0x1F240, 0x1F248 },
     { 0x20000, 0x2A6D6 },
+    { 0x2A700, 0x2B734 },
     { 0x2F800, 0x2FA1D }
 
 #define PREDICATE(c) uc_is_property_grapheme_base (c)
--- a/tests/unictype/test-pr_grapheme_extend.c
+++ b/tests/unictype/test-pr_grapheme_extend.c
@@ -35,11 +35,15 @@
     { 0x0730, 0x074A },
     { 0x07A6, 0x07B0 },
     { 0x07EB, 0x07F3 },
-    { 0x0901, 0x0902 },
+    { 0x0816, 0x0819 },
+    { 0x081B, 0x0823 },
+    { 0x0825, 0x0827 },
+    { 0x0829, 0x082D },
+    { 0x0900, 0x0902 },
     { 0x093C, 0x093C },
     { 0x0941, 0x0948 },
     { 0x094D, 0x094D },
-    { 0x0951, 0x0954 },
+    { 0x0951, 0x0955 },
     { 0x0962, 0x0963 },
     { 0x0981, 0x0981 },
     { 0x09BC, 0x09BC },
@@ -123,6 +127,7 @@
     { 0x1082, 0x1082 },
     { 0x1085, 0x1086 },
     { 0x108D, 0x108D },
+    { 0x109D, 0x109D },
     { 0x135F, 0x135F },
     { 0x1712, 0x1714 },
     { 0x1732, 0x1734 },
@@ -139,6 +144,13 @@
     { 0x1932, 0x1932 },
     { 0x1939, 0x193B },
     { 0x1A17, 0x1A18 },
+    { 0x1A56, 0x1A56 },
+    { 0x1A58, 0x1A5E },
+    { 0x1A60, 0x1A60 },
+    { 0x1A62, 0x1A62 },
+    { 0x1A65, 0x1A6C },
+    { 0x1A73, 0x1A7C },
+    { 0x1A7F, 0x1A7F },
     { 0x1B00, 0x1B03 },
     { 0x1B34, 0x1B34 },
     { 0x1B36, 0x1B3A },
@@ -150,27 +162,46 @@
     { 0x1BA8, 0x1BA9 },
     { 0x1C2C, 0x1C33 },
     { 0x1C36, 0x1C37 },
+    { 0x1CD0, 0x1CD2 },
+    { 0x1CD4, 0x1CE0 },
+    { 0x1CE2, 0x1CE8 },
+    { 0x1CED, 0x1CED },
     { 0x1DC0, 0x1DE6 },
-    { 0x1DFE, 0x1DFF },
+    { 0x1DFD, 0x1DFF },
     { 0x200C, 0x200D },
     { 0x20D0, 0x20F0 },
+    { 0x2CEF, 0x2CF1 },
     { 0x2DE0, 0x2DFF },
     { 0x302A, 0x302F },
     { 0x3099, 0x309A },
     { 0xA66F, 0xA672 },
     { 0xA67C, 0xA67D },
+    { 0xA6F0, 0xA6F1 },
     { 0xA802, 0xA802 },
     { 0xA806, 0xA806 },
     { 0xA80B, 0xA80B },
     { 0xA825, 0xA826 },
     { 0xA8C4, 0xA8C4 },
+    { 0xA8E0, 0xA8F1 },
     { 0xA926, 0xA92D },
     { 0xA947, 0xA951 },
+    { 0xA980, 0xA982 },
+    { 0xA9B3, 0xA9B3 },
+    { 0xA9B6, 0xA9B9 },
+    { 0xA9BC, 0xA9BC },
     { 0xAA29, 0xAA2E },
     { 0xAA31, 0xAA32 },
     { 0xAA35, 0xAA36 },
     { 0xAA43, 0xAA43 },
     { 0xAA4C, 0xAA4C },
+    { 0xAAB0, 0xAAB0 },
+    { 0xAAB2, 0xAAB4 },
+    { 0xAAB7, 0xAAB8 },
+    { 0xAABE, 0xAABF },
+    { 0xAAC1, 0xAAC1 },
+    { 0xABE5, 0xABE5 },
+    { 0xABE8, 0xABE8 },
+    { 0xABED, 0xABED },
     { 0xFB1E, 0xFB1E },
     { 0xFE00, 0xFE0F },
     { 0xFE20, 0xFE26 },
@@ -181,6 +212,9 @@
     { 0x10A0C, 0x10A0F },
     { 0x10A38, 0x10A3A },
     { 0x10A3F, 0x10A3F },
+    { 0x11080, 0x11081 },
+    { 0x110B3, 0x110B6 },
+    { 0x110B9, 0x110BA },
     { 0x1D165, 0x1D165 },
     { 0x1D167, 0x1D169 },
     { 0x1D16E, 0x1D172 },
--- a/tests/unictype/test-pr_grapheme_link.c
+++ b/tests/unictype/test-pr_grapheme_link.c
@@ -33,12 +33,16 @@
     { 0x1714, 0x1714 },
     { 0x1734, 0x1734 },
     { 0x17D2, 0x17D2 },
+    { 0x1A60, 0x1A60 },
     { 0x1B44, 0x1B44 },
     { 0x1BAA, 0x1BAA },
     { 0xA806, 0xA806 },
     { 0xA8C4, 0xA8C4 },
     { 0xA953, 0xA953 },
-    { 0x10A3F, 0x10A3F }
+    { 0xA9C0, 0xA9C0 },
+    { 0xABED, 0xABED },
+    { 0x10A3F, 0x10A3F },
+    { 0x110B9, 0x110B9 }
 
 #define PREDICATE(c) uc_is_property_grapheme_link (c)
 #include "test-predicate-part2.h"
--- a/tests/unictype/test-pr_id_continue.c
+++ b/tests/unictype/test-pr_id_continue.c
@@ -41,7 +41,7 @@
     { 0x03A3, 0x03F5 },
     { 0x03F7, 0x0481 },
     { 0x0483, 0x0487 },
-    { 0x048A, 0x0523 },
+    { 0x048A, 0x0525 },
     { 0x0531, 0x0556 },
     { 0x0559, 0x0559 },
     { 0x0561, 0x0587 },
@@ -64,13 +64,14 @@
     { 0x074D, 0x07B1 },
     { 0x07C0, 0x07F5 },
     { 0x07FA, 0x07FA },
-    { 0x0901, 0x0939 },
-    { 0x093C, 0x094D },
-    { 0x0950, 0x0954 },
+    { 0x0800, 0x082D },
+    { 0x0900, 0x0939 },
+    { 0x093C, 0x094E },
+    { 0x0950, 0x0955 },
     { 0x0958, 0x0963 },
     { 0x0966, 0x096F },
     { 0x0971, 0x0972 },
-    { 0x097B, 0x097F },
+    { 0x0979, 0x097F },
     { 0x0981, 0x0983 },
     { 0x0985, 0x098C },
     { 0x098F, 0x0990 },
@@ -229,14 +230,11 @@
     { 0x0F99, 0x0FBC },
     { 0x0FC6, 0x0FC6 },
     { 0x1000, 0x1049 },
-    { 0x1050, 0x1099 },
+    { 0x1050, 0x109D },
     { 0x10A0, 0x10C5 },
     { 0x10D0, 0x10FA },
     { 0x10FC, 0x10FC },
-    { 0x1100, 0x1159 },
-    { 0x115F, 0x11A2 },
-    { 0x11A8, 0x11F9 },
-    { 0x1200, 0x1248 },
+    { 0x1100, 0x1248 },
     { 0x124A, 0x124D },
     { 0x1250, 0x1256 },
     { 0x1258, 0x1258 },
@@ -257,7 +255,7 @@
     { 0x1380, 0x138F },
     { 0x13A0, 0x13F4 },
     { 0x1401, 0x166C },
-    { 0x166F, 0x1676 },
+    { 0x166F, 0x167F },
     { 0x1681, 0x169A },
     { 0x16A0, 0x16EA },
     { 0x16EE, 0x16F0 },
@@ -277,15 +275,21 @@
     { 0x1810, 0x1819 },
     { 0x1820, 0x1877 },
     { 0x1880, 0x18AA },
+    { 0x18B0, 0x18F5 },
     { 0x1900, 0x191C },
     { 0x1920, 0x192B },
     { 0x1930, 0x193B },
     { 0x1946, 0x196D },
     { 0x1970, 0x1974 },
-    { 0x1980, 0x19A9 },
+    { 0x1980, 0x19AB },
     { 0x19B0, 0x19C9 },
-    { 0x19D0, 0x19D9 },
+    { 0x19D0, 0x19DA },
     { 0x1A00, 0x1A1B },
+    { 0x1A20, 0x1A5E },
+    { 0x1A60, 0x1A7C },
+    { 0x1A7F, 0x1A89 },
+    { 0x1A90, 0x1A99 },
+    { 0x1AA7, 0x1AA7 },
     { 0x1B00, 0x1B4B },
     { 0x1B50, 0x1B59 },
     { 0x1B6B, 0x1B73 },
@@ -294,8 +298,10 @@
     { 0x1C00, 0x1C37 },
     { 0x1C40, 0x1C49 },
     { 0x1C4D, 0x1C7D },
+    { 0x1CD0, 0x1CD2 },
+    { 0x1CD4, 0x1CF2 },
     { 0x1D00, 0x1DE6 },
-    { 0x1DFE, 0x1F15 },
+    { 0x1DFD, 0x1F15 },
     { 0x1F18, 0x1F1D },
     { 0x1F20, 0x1F45 },
     { 0x1F48, 0x1F4D },
@@ -337,9 +343,8 @@
     { 0x2160, 0x2188 },
     { 0x2C00, 0x2C2E },
     { 0x2C30, 0x2C5E },
-    { 0x2C60, 0x2C6F },
-    { 0x2C71, 0x2C7D },
-    { 0x2C80, 0x2CE4 },
+    { 0x2C60, 0x2CE4 },
+    { 0x2CEB, 0x2CF1 },
     { 0x2D00, 0x2D25 },
     { 0x2D30, 0x2D65 },
     { 0x2D6F, 0x2D6F },
@@ -366,14 +371,16 @@
     { 0x31A0, 0x31B7 },
     { 0x31F0, 0x31FF },
     { 0x3400, 0x4DB5 },
-    { 0x4E00, 0x9FC3 },
+    { 0x4E00, 0x9FCB },
     { 0xA000, 0xA48C },
+    { 0xA4D0, 0xA4FD },
     { 0xA500, 0xA60C },
     { 0xA610, 0xA62B },
     { 0xA640, 0xA65F },
     { 0xA662, 0xA66F },
     { 0xA67C, 0xA67D },
     { 0xA67F, 0xA697 },
+    { 0xA6A0, 0xA6F1 },
     { 0xA717, 0xA71F },
     { 0xA722, 0xA788 },
     { 0xA78B, 0xA78C },
@@ -381,14 +388,28 @@
     { 0xA840, 0xA873 },
     { 0xA880, 0xA8C4 },
     { 0xA8D0, 0xA8D9 },
+    { 0xA8E0, 0xA8F7 },
+    { 0xA8FB, 0xA8FB },
     { 0xA900, 0xA92D },
     { 0xA930, 0xA953 },
+    { 0xA960, 0xA97C },
+    { 0xA980, 0xA9C0 },
+    { 0xA9CF, 0xA9D9 },
     { 0xAA00, 0xAA36 },
     { 0xAA40, 0xAA4D },
     { 0xAA50, 0xAA59 },
+    { 0xAA60, 0xAA76 },
+    { 0xAA7A, 0xAA7B },
+    { 0xAA80, 0xAAC2 },
+    { 0xAADB, 0xAADD },
+    { 0xABC0, 0xABEA },
+    { 0xABEC, 0xABED },
+    { 0xABF0, 0xABF9 },
     { 0xAC00, 0xD7A3 },
+    { 0xD7B0, 0xD7C6 },
+    { 0xD7CB, 0xD7FB },
     { 0xF900, 0xFA2D },
-    { 0xFA30, 0xFA6A },
+    { 0xFA30, 0xFA6D },
     { 0xFA70, 0xFAD9 },
     { 0xFB00, 0xFB06 },
     { 0xFB13, 0xFB17 },
@@ -442,7 +463,7 @@
     { 0x1080A, 0x10835 },
     { 0x10837, 0x10838 },
     { 0x1083C, 0x1083C },
-    { 0x1083F, 0x1083F },
+    { 0x1083F, 0x10855 },
     { 0x10900, 0x10915 },
     { 0x10920, 0x10939 },
     { 0x10A00, 0x10A03 },
@@ -452,8 +473,15 @@
     { 0x10A19, 0x10A33 },
     { 0x10A38, 0x10A3A },
     { 0x10A3F, 0x10A3F },
+    { 0x10A60, 0x10A7C },
+    { 0x10B00, 0x10B35 },
+    { 0x10B40, 0x10B55 },
+    { 0x10B60, 0x10B72 },
+    { 0x10C00, 0x10C48 },
+    { 0x11080, 0x110BA },
     { 0x12000, 0x1236E },
     { 0x12400, 0x12462 },
+    { 0x13000, 0x1342E },
     { 0x1D165, 0x1D169 },
     { 0x1D16D, 0x1D172 },
     { 0x1D17B, 0x1D182 },
@@ -492,6 +520,7 @@
     { 0x1D7C4, 0x1D7CB },
     { 0x1D7CE, 0x1D7FF },
     { 0x20000, 0x2A6D6 },
+    { 0x2A700, 0x2B734 },
     { 0x2F800, 0x2FA1D },
     { 0xE0100, 0xE01EF }
 
--- a/tests/unictype/test-pr_id_start.c
+++ b/tests/unictype/test-pr_id_start.c
@@ -38,7 +38,7 @@
     { 0x038E, 0x03A1 },
     { 0x03A3, 0x03F5 },
     { 0x03F7, 0x0481 },
-    { 0x048A, 0x0523 },
+    { 0x048A, 0x0525 },
     { 0x0531, 0x0556 },
     { 0x0559, 0x0559 },
     { 0x0561, 0x0587 },
@@ -59,12 +59,16 @@
     { 0x07CA, 0x07EA },
     { 0x07F4, 0x07F5 },
     { 0x07FA, 0x07FA },
+    { 0x0800, 0x0815 },
+    { 0x081A, 0x081A },
+    { 0x0824, 0x0824 },
+    { 0x0828, 0x0828 },
     { 0x0904, 0x0939 },
     { 0x093D, 0x093D },
     { 0x0950, 0x0950 },
     { 0x0958, 0x0961 },
     { 0x0971, 0x0972 },
-    { 0x097B, 0x097F },
+    { 0x0979, 0x097F },
     { 0x0985, 0x098C },
     { 0x098F, 0x0990 },
     { 0x0993, 0x09A8 },
@@ -180,10 +184,7 @@
     { 0x10A0, 0x10C5 },
     { 0x10D0, 0x10FA },
     { 0x10FC, 0x10FC },
-    { 0x1100, 0x1159 },
-    { 0x115F, 0x11A2 },
-    { 0x11A8, 0x11F9 },
-    { 0x1200, 0x1248 },
+    { 0x1100, 0x1248 },
     { 0x124A, 0x124D },
     { 0x1250, 0x1256 },
     { 0x1258, 0x1258 },
@@ -202,7 +203,7 @@
     { 0x1380, 0x138F },
     { 0x13A0, 0x13F4 },
     { 0x1401, 0x166C },
-    { 0x166F, 0x1676 },
+    { 0x166F, 0x167F },
     { 0x1681, 0x169A },
     { 0x16A0, 0x16EA },
     { 0x16EE, 0x16F0 },
@@ -218,12 +219,15 @@
     { 0x1820, 0x1877 },
     { 0x1880, 0x18A8 },
     { 0x18AA, 0x18AA },
+    { 0x18B0, 0x18F5 },
     { 0x1900, 0x191C },
     { 0x1950, 0x196D },
     { 0x1970, 0x1974 },
-    { 0x1980, 0x19A9 },
+    { 0x1980, 0x19AB },
     { 0x19C1, 0x19C7 },
     { 0x1A00, 0x1A16 },
+    { 0x1A20, 0x1A54 },
+    { 0x1AA7, 0x1AA7 },
     { 0x1B05, 0x1B33 },
     { 0x1B45, 0x1B4B },
     { 0x1B83, 0x1BA0 },
@@ -231,6 +235,8 @@
     { 0x1C00, 0x1C23 },
     { 0x1C4D, 0x1C4F },
     { 0x1C5A, 0x1C7D },
+    { 0x1CE9, 0x1CEC },
+    { 0x1CEE, 0x1CF1 },
     { 0x1D00, 0x1DBF },
     { 0x1E00, 0x1F15 },
     { 0x1F18, 0x1F1D },
@@ -269,9 +275,8 @@
     { 0x2160, 0x2188 },
     { 0x2C00, 0x2C2E },
     { 0x2C30, 0x2C5E },
-    { 0x2C60, 0x2C6F },
-    { 0x2C71, 0x2C7D },
-    { 0x2C80, 0x2CE4 },
+    { 0x2C60, 0x2CE4 },
+    { 0x2CEB, 0x2CEE },
     { 0x2D00, 0x2D25 },
     { 0x2D30, 0x2D65 },
     { 0x2D6F, 0x2D6F },
@@ -297,14 +302,16 @@
     { 0x31A0, 0x31B7 },
     { 0x31F0, 0x31FF },
     { 0x3400, 0x4DB5 },
-    { 0x4E00, 0x9FC3 },
+    { 0x4E00, 0x9FCB },
     { 0xA000, 0xA48C },
+    { 0xA4D0, 0xA4FD },
     { 0xA500, 0xA60C },
     { 0xA610, 0xA61F },
     { 0xA62A, 0xA62B },
     { 0xA640, 0xA65F },
     { 0xA662, 0xA66E },
     { 0xA67F, 0xA697 },
+    { 0xA6A0, 0xA6EF },
     { 0xA717, 0xA71F },
     { 0xA722, 0xA788 },
     { 0xA78B, 0xA78C },
@@ -314,14 +321,31 @@
     { 0xA80C, 0xA822 },
     { 0xA840, 0xA873 },
     { 0xA882, 0xA8B3 },
+    { 0xA8F2, 0xA8F7 },
+    { 0xA8FB, 0xA8FB },
     { 0xA90A, 0xA925 },
     { 0xA930, 0xA946 },
+    { 0xA960, 0xA97C },
+    { 0xA984, 0xA9B2 },
+    { 0xA9CF, 0xA9CF },
     { 0xAA00, 0xAA28 },
     { 0xAA40, 0xAA42 },
     { 0xAA44, 0xAA4B },
+    { 0xAA60, 0xAA76 },
+    { 0xAA7A, 0xAA7A },
+    { 0xAA80, 0xAAAF },
+    { 0xAAB1, 0xAAB1 },
+    { 0xAAB5, 0xAAB6 },
+    { 0xAAB9, 0xAABD },
+    { 0xAAC0, 0xAAC0 },
+    { 0xAAC2, 0xAAC2 },
+    { 0xAADB, 0xAADD },
+    { 0xABC0, 0xABE2 },
     { 0xAC00, 0xD7A3 },
+    { 0xD7B0, 0xD7C6 },
+    { 0xD7CB, 0xD7FB },
     { 0xF900, 0xFA2D },
-    { 0xFA30, 0xFA6A },
+    { 0xFA30, 0xFA6D },
     { 0xFA70, 0xFAD9 },
     { 0xFB00, 0xFB06 },
     { 0xFB13, 0xFB17 },
@@ -368,15 +392,22 @@
     { 0x1080A, 0x10835 },
     { 0x10837, 0x10838 },
     { 0x1083C, 0x1083C },
-    { 0x1083F, 0x1083F },
+    { 0x1083F, 0x10855 },
     { 0x10900, 0x10915 },
     { 0x10920, 0x10939 },
     { 0x10A00, 0x10A00 },
     { 0x10A10, 0x10A13 },
     { 0x10A15, 0x10A17 },
     { 0x10A19, 0x10A33 },
+    { 0x10A60, 0x10A7C },
+    { 0x10B00, 0x10B35 },
+    { 0x10B40, 0x10B55 },
+    { 0x10B60, 0x10B72 },
+    { 0x10C00, 0x10C48 },
+    { 0x11083, 0x110AF },
     { 0x12000, 0x1236E },
     { 0x12400, 0x12462 },
+    { 0x13000, 0x1342E },
     { 0x1D400, 0x1D454 },
     { 0x1D456, 0x1D49C },
     { 0x1D49E, 0x1D49F },
@@ -408,6 +439,7 @@
     { 0x1D7AA, 0x1D7C2 },
     { 0x1D7C4, 0x1D7CB },
     { 0x20000, 0x2A6D6 },
+    { 0x2A700, 0x2B734 },
     { 0x2F800, 0x2FA1D }
 
 #define PREDICATE(c) uc_is_property_id_start (c)
--- a/tests/unictype/test-pr_ideographic.c
+++ b/tests/unictype/test-pr_ideographic.c
@@ -21,11 +21,12 @@
     { 0x3021, 0x3029 },
     { 0x3038, 0x303A },
     { 0x3400, 0x4DB5 },
-    { 0x4E00, 0x9FC3 },
+    { 0x4E00, 0x9FCB },
     { 0xF900, 0xFA2D },
-    { 0xFA30, 0xFA6A },
+    { 0xFA30, 0xFA6D },
     { 0xFA70, 0xFAD9 },
     { 0x20000, 0x2A6D6 },
+    { 0x2A700, 0x2B734 },
     { 0x2F800, 0x2FA1D }
 
 #define PREDICATE(c) uc_is_property_ideographic (c)
--- a/tests/unictype/test-pr_ignorable_control.c
+++ b/tests/unictype/test-pr_ignorable_control.c
@@ -32,6 +32,7 @@
     { 0x206A, 0x206F },
     { 0xFEFF, 0xFEFF },
     { 0xFFF9, 0xFFFB },
+    { 0x110BD, 0x110BD },
     { 0x1D173, 0x1D17A },
     { 0xE0001, 0xE0001 },
     { 0xE0020, 0xE007F }
--- a/tests/unictype/test-pr_logical_order_exception.c
+++ b/tests/unictype/test-pr_logical_order_exception.c
@@ -18,7 +18,10 @@
 #include "test-predicate-part1.h"
 
     { 0x0E40, 0x0E44 },
-    { 0x0EC0, 0x0EC4 }
+    { 0x0EC0, 0x0EC4 },
+    { 0xAAB5, 0xAAB6 },
+    { 0xAAB9, 0xAAB9 },
+    { 0xAABB, 0xAABC }
 
 #define PREDICATE(c) uc_is_property_logical_order_exception (c)
 #include "test-predicate-part2.h"
--- a/tests/unictype/test-pr_lowercase.c
+++ b/tests/unictype/test-pr_lowercase.c
@@ -285,6 +285,7 @@
     { 0x051F, 0x051F },
     { 0x0521, 0x0521 },
     { 0x0523, 0x0523 },
+    { 0x0525, 0x0525 },
     { 0x0561, 0x0587 },
     { 0x1D00, 0x1DBF },
     { 0x1E01, 0x1E01 },
@@ -431,8 +432,6 @@
     { 0x1FE0, 0x1FE7 },
     { 0x1FF2, 0x1FF4 },
     { 0x1FF6, 0x1FF7 },
-    { 0x2071, 0x2071 },
-    { 0x207F, 0x207F },
     { 0x2090, 0x2094 },
     { 0x210A, 0x210A },
     { 0x210E, 0x210F },
@@ -505,6 +504,8 @@
     { 0x2CDF, 0x2CDF },
     { 0x2CE1, 0x2CE1 },
     { 0x2CE3, 0x2CE4 },
+    { 0x2CEC, 0x2CEC },
+    { 0x2CEE, 0x2CEE },
     { 0x2D00, 0x2D25 },
     { 0xA641, 0xA641 },
     { 0xA643, 0xA643 },
--- a/tests/unictype/test-pr_numeric.c
+++ b/tests/unictype/test-pr_numeric.c
@@ -46,7 +46,9 @@
     { 0x17F0, 0x17F9 },
     { 0x1810, 0x1819 },
     { 0x1946, 0x194F },
-    { 0x19D0, 0x19D9 },
+    { 0x19D0, 0x19DA },
+    { 0x1A80, 0x1A89 },
+    { 0x1A90, 0x1A99 },
     { 0x1B50, 0x1B59 },
     { 0x1BB0, 0x1BB9 },
     { 0x1C40, 0x1C49 },
@@ -54,8 +56,8 @@
     { 0x2070, 0x2070 },
     { 0x2074, 0x2079 },
     { 0x2080, 0x2089 },
-    { 0x2153, 0x2183 },
-    { 0x2185, 0x2188 },
+    { 0x2150, 0x2183 },
+    { 0x2185, 0x2189 },
     { 0x2460, 0x249B },
     { 0x24EA, 0x24FF },
     { 0x2776, 0x2793 },
@@ -69,9 +71,13 @@
     { 0x3280, 0x3289 },
     { 0x32B1, 0x32BF },
     { 0xA620, 0xA629 },
+    { 0xA6E6, 0xA6EF },
+    { 0xA830, 0xA835 },
     { 0xA8D0, 0xA8D9 },
     { 0xA900, 0xA909 },
+    { 0xA9D0, 0xA9D9 },
     { 0xAA50, 0xAA59 },
+    { 0xABF0, 0xABF9 },
     { 0xF96B, 0xF96B },
     { 0xF973, 0xF973 },
     { 0xF978, 0xF978 },
@@ -88,13 +94,19 @@
     { 0x1034A, 0x1034A },
     { 0x103D1, 0x103D5 },
     { 0x104A0, 0x104A9 },
-    { 0x10916, 0x10919 },
+    { 0x10858, 0x1085F },
+    { 0x10916, 0x1091B },
     { 0x10A40, 0x10A47 },
+    { 0x10A7D, 0x10A7E },
+    { 0x10B58, 0x10B5F },
+    { 0x10B78, 0x10B7F },
+    { 0x10E60, 0x10E7E },
     { 0x12400, 0x12431 },
     { 0x12434, 0x12455 },
     { 0x12458, 0x12462 },
     { 0x1D360, 0x1D371 },
     { 0x1D7CE, 0x1D7FF },
+    { 0x1F100, 0x1F10A },
     { 0x2F890, 0x2F890 }
 
 #define PREDICATE(c) uc_is_property_numeric (c)
--- a/tests/unictype/test-pr_other_alphabetic.c
+++ b/tests/unictype/test-pr_other_alphabetic.c
@@ -34,8 +34,14 @@
     { 0x0711, 0x0711 },
     { 0x0730, 0x073F },
     { 0x07A6, 0x07B0 },
-    { 0x0901, 0x0903 },
+    { 0x0816, 0x0817 },
+    { 0x081B, 0x0823 },
+    { 0x0825, 0x0827 },
+    { 0x0829, 0x082C },
+    { 0x0900, 0x0903 },
     { 0x093E, 0x094C },
+    { 0x094E, 0x094E },
+    { 0x0955, 0x0955 },
     { 0x0962, 0x0963 },
     { 0x0981, 0x0983 },
     { 0x09BE, 0x09C4 },
@@ -108,6 +114,7 @@
     { 0x1067, 0x1068 },
     { 0x1071, 0x1074 },
     { 0x1082, 0x1086 },
+    { 0x109C, 0x109D },
     { 0x135F, 0x135F },
     { 0x1712, 0x1713 },
     { 0x1732, 0x1733 },
@@ -120,11 +127,14 @@
     { 0x19B0, 0x19C0 },
     { 0x19C8, 0x19C9 },
     { 0x1A17, 0x1A1B },
+    { 0x1A55, 0x1A5E },
+    { 0x1A61, 0x1A74 },
     { 0x1B00, 0x1B04 },
     { 0x1B35, 0x1B43 },
     { 0x1B80, 0x1B82 },
     { 0x1BA1, 0x1BA9 },
     { 0x1C24, 0x1C35 },
+    { 0x1CF2, 0x1CF2 },
     { 0x24B6, 0x24E9 },
     { 0x2DE0, 0x2DFF },
     { 0xA823, 0xA827 },
@@ -132,13 +142,22 @@
     { 0xA8B4, 0xA8C3 },
     { 0xA926, 0xA92A },
     { 0xA947, 0xA952 },
+    { 0xA980, 0xA983 },
+    { 0xA9B3, 0xA9BF },
     { 0xAA29, 0xAA36 },
     { 0xAA43, 0xAA43 },
     { 0xAA4C, 0xAA4D },
+    { 0xAAB0, 0xAAB0 },
+    { 0xAAB2, 0xAAB4 },
+    { 0xAAB7, 0xAAB8 },
+    { 0xAABE, 0xAABE },
+    { 0xABE3, 0xABEA },
     { 0xFB1E, 0xFB1E },
     { 0x10A01, 0x10A03 },
     { 0x10A05, 0x10A06 },
-    { 0x10A0C, 0x10A0F }
+    { 0x10A0C, 0x10A0F },
+    { 0x11082, 0x11082 },
+    { 0x110B0, 0x110B8 }
 
 #define PREDICATE(c) uc_is_property_other_alphabetic (c)
 #include "test-predicate-part2.h"
--- a/tests/unictype/test-pr_punctuation.c
+++ b/tests/unictype/test-pr_punctuation.c
@@ -48,6 +48,7 @@
     { 0x06D4, 0x06D4 },
     { 0x0700, 0x070D },
     { 0x07F7, 0x07F9 },
+    { 0x0830, 0x083E },
     { 0x0964, 0x0965 },
     { 0x0970, 0x0970 },
     { 0x0DF4, 0x0DF4 },
@@ -60,6 +61,7 @@
     { 0x104A, 0x104F },
     { 0x10FB, 0x10FB },
     { 0x1361, 0x1368 },
+    { 0x1400, 0x1400 },
     { 0x166D, 0x166E },
     { 0x169B, 0x169C },
     { 0x16EB, 0x16ED },
@@ -70,9 +72,12 @@
     { 0x1944, 0x1945 },
     { 0x19DE, 0x19DF },
     { 0x1A1E, 0x1A1F },
+    { 0x1AA0, 0x1AA6 },
+    { 0x1AA8, 0x1AAD },
     { 0x1B5A, 0x1B60 },
     { 0x1C3B, 0x1C3F },
     { 0x1C7E, 0x1C7F },
+    { 0x1CD3, 0x1CD3 },
     { 0x2010, 0x2027 },
     { 0x2030, 0x2043 },
     { 0x2045, 0x2051 },
@@ -89,7 +94,7 @@
     { 0x2CF9, 0x2CFC },
     { 0x2CFE, 0x2CFF },
     { 0x2E00, 0x2E2E },
-    { 0x2E30, 0x2E30 },
+    { 0x2E30, 0x2E31 },
     { 0x3001, 0x3003 },
     { 0x3008, 0x3011 },
     { 0x3014, 0x301F },
@@ -97,14 +102,21 @@
     { 0x303D, 0x303D },
     { 0x30A0, 0x30A0 },
     { 0x30FB, 0x30FB },
+    { 0xA4FE, 0xA4FF },
     { 0xA60D, 0xA60F },
     { 0xA673, 0xA673 },
     { 0xA67E, 0xA67E },
+    { 0xA6F2, 0xA6F7 },
     { 0xA874, 0xA877 },
     { 0xA8CE, 0xA8CF },
+    { 0xA8F8, 0xA8FA },
     { 0xA92E, 0xA92F },
     { 0xA95F, 0xA95F },
+    { 0xA9C1, 0xA9CD },
+    { 0xA9DE, 0xA9DF },
     { 0xAA5C, 0xAA5F },
+    { 0xAADE, 0xAADF },
+    { 0xABEB, 0xABEB },
     { 0xFD3E, 0xFD3F },
     { 0xFE10, 0xFE19 },
     { 0xFE30, 0xFE52 },
@@ -125,9 +137,14 @@
     { 0x10100, 0x10101 },
     { 0x1039F, 0x1039F },
     { 0x103D0, 0x103D0 },
+    { 0x10857, 0x10857 },
     { 0x1091F, 0x1091F },
     { 0x1093F, 0x1093F },
     { 0x10A50, 0x10A58 },
+    { 0x10A7F, 0x10A7F },
+    { 0x10B39, 0x10B3F },
+    { 0x110BB, 0x110BC },
+    { 0x110BE, 0x110C1 },
     { 0x12470, 0x12473 }
 
 #define PREDICATE(c) uc_is_property_punctuation (c)
--- a/tests/unictype/test-pr_sentence_terminal.c
+++ b/tests/unictype/test-pr_sentence_terminal.c
@@ -43,17 +43,23 @@
     { 0x2047, 0x2049 },
     { 0x2E2E, 0x2E2E },
     { 0x3002, 0x3002 },
+    { 0xA4FF, 0xA4FF },
     { 0xA60E, 0xA60F },
+    { 0xA6F3, 0xA6F3 },
+    { 0xA6F7, 0xA6F7 },
     { 0xA876, 0xA877 },
     { 0xA8CE, 0xA8CF },
     { 0xA92F, 0xA92F },
+    { 0xA9C8, 0xA9C9 },
     { 0xAA5D, 0xAA5F },
+    { 0xABEB, 0xABEB },
     { 0xFE52, 0xFE52 },
     { 0xFE56, 0xFE57 },
     { 0xFF01, 0xFF01 },
     { 0xFF0E, 0xFF0E },
     { 0xFF1F, 0xFF1F },
-    { 0xFF61, 0xFF61 }
+    { 0xFF61, 0xFF61 },
+    { 0x110BE, 0x110C1 }
 
 #define PREDICATE(c) uc_is_property_sentence_terminal (c)
 #include "test-predicate-part2.h"
--- a/tests/unictype/test-pr_terminal_punctuation.c
+++ b/tests/unictype/test-pr_terminal_punctuation.c
@@ -33,6 +33,7 @@
     { 0x0700, 0x070A },
     { 0x070C, 0x070C },
     { 0x07F8, 0x07F9 },
+    { 0x0830, 0x083E },
     { 0x0964, 0x0965 },
     { 0x0E5A, 0x0E5B },
     { 0x0F08, 0x0F08 },
@@ -46,6 +47,7 @@
     { 0x1802, 0x1805 },
     { 0x1808, 0x1809 },
     { 0x1944, 0x1945 },
+    { 0x1AA8, 0x1AAB },
     { 0x1B5A, 0x1B5B },
     { 0x1B5D, 0x1B5F },
     { 0x1C3B, 0x1C3F },
@@ -54,11 +56,16 @@
     { 0x2047, 0x2049 },
     { 0x2E2E, 0x2E2E },
     { 0x3001, 0x3002 },
+    { 0xA4FE, 0xA4FF },
     { 0xA60D, 0xA60F },
+    { 0xA6F3, 0xA6F7 },
     { 0xA876, 0xA877 },
     { 0xA8CE, 0xA8CF },
     { 0xA92F, 0xA92F },
+    { 0xA9C7, 0xA9C9 },
     { 0xAA5D, 0xAA5F },
+    { 0xAADF, 0xAADF },
+    { 0xABEB, 0xABEB },
     { 0xFE50, 0xFE52 },
     { 0xFE54, 0xFE57 },
     { 0xFF01, 0xFF01 },
@@ -70,7 +77,10 @@
     { 0xFF64, 0xFF64 },
     { 0x1039F, 0x1039F },
     { 0x103D0, 0x103D0 },
+    { 0x10857, 0x10857 },
     { 0x1091F, 0x1091F },
+    { 0x10B3A, 0x10B3F },
+    { 0x110BE, 0x110C1 },
     { 0x12470, 0x12473 }
 
 #define PREDICATE(c) uc_is_property_terminal_punctuation (c)
--- a/tests/unictype/test-pr_unassigned_code_value.c
+++ b/tests/unictype/test-pr_unassigned_code_value.c
@@ -22,7 +22,7 @@
     { 0x038B, 0x038B },
     { 0x038D, 0x038D },
     { 0x03A2, 0x03A2 },
-    { 0x0524, 0x0530 },
+    { 0x0526, 0x0530 },
     { 0x0557, 0x0558 },
     { 0x0560, 0x0560 },
     { 0x0588, 0x0588 },
@@ -37,11 +37,13 @@
     { 0x070E, 0x070E },
     { 0x074B, 0x074C },
     { 0x07B2, 0x07BF },
-    { 0x07FB, 0x0900 },
+    { 0x07FB, 0x07FF },
+    { 0x082E, 0x082F },
+    { 0x083F, 0x08FF },
     { 0x093A, 0x093B },
-    { 0x094E, 0x094F },
-    { 0x0955, 0x0957 },
-    { 0x0973, 0x097A },
+    { 0x094F, 0x094F },
+    { 0x0956, 0x0957 },
+    { 0x0973, 0x0978 },
     { 0x0980, 0x0980 },
     { 0x0984, 0x0984 },
     { 0x098D, 0x098E },
@@ -56,7 +58,7 @@
     { 0x09D8, 0x09DB },
     { 0x09DE, 0x09DE },
     { 0x09E4, 0x09E5 },
-    { 0x09FB, 0x0A00 },
+    { 0x09FC, 0x0A00 },
     { 0x0A04, 0x0A04 },
     { 0x0A0B, 0x0A0E },
     { 0x0A11, 0x0A12 },
@@ -194,13 +196,9 @@
     { 0x0F98, 0x0F98 },
     { 0x0FBD, 0x0FBD },
     { 0x0FCD, 0x0FCD },
-    { 0x0FD5, 0x0FFF },
-    { 0x109A, 0x109D },
+    { 0x0FD9, 0x0FFF },
     { 0x10C6, 0x10CF },
     { 0x10FD, 0x10FF },
-    { 0x115A, 0x115E },
-    { 0x11A3, 0x11A7 },
-    { 0x11FA, 0x11FF },
     { 0x1249, 0x1249 },
     { 0x124E, 0x124F },
     { 0x1257, 0x1257 },
@@ -219,8 +217,7 @@
     { 0x135B, 0x135E },
     { 0x137D, 0x137F },
     { 0x139A, 0x139F },
-    { 0x13F5, 0x1400 },
-    { 0x1677, 0x167F },
+    { 0x13F5, 0x13FF },
     { 0x169D, 0x169F },
     { 0x16F1, 0x16FF },
     { 0x170D, 0x170D },
@@ -236,26 +233,32 @@
     { 0x180F, 0x180F },
     { 0x181A, 0x181F },
     { 0x1878, 0x187F },
-    { 0x18AB, 0x18FF },
+    { 0x18AB, 0x18AF },
+    { 0x18F6, 0x18FF },
     { 0x191D, 0x191F },
     { 0x192C, 0x192F },
     { 0x193C, 0x193F },
     { 0x1941, 0x1943 },
     { 0x196E, 0x196F },
     { 0x1975, 0x197F },
-    { 0x19AA, 0x19AF },
+    { 0x19AC, 0x19AF },
     { 0x19CA, 0x19CF },
-    { 0x19DA, 0x19DD },
+    { 0x19DB, 0x19DD },
     { 0x1A1C, 0x1A1D },
-    { 0x1A20, 0x1AFF },
+    { 0x1A5F, 0x1A5F },
+    { 0x1A7D, 0x1A7E },
+    { 0x1A8A, 0x1A8F },
+    { 0x1A9A, 0x1A9F },
+    { 0x1AAE, 0x1AFF },
     { 0x1B4C, 0x1B4F },
     { 0x1B7D, 0x1B7F },
     { 0x1BAB, 0x1BAD },
     { 0x1BBA, 0x1BFF },
     { 0x1C38, 0x1C3A },
     { 0x1C4A, 0x1C4C },
-    { 0x1C80, 0x1CFF },
-    { 0x1DE7, 0x1DFD },
+    { 0x1C80, 0x1CCF },
+    { 0x1CF3, 0x1CFF },
+    { 0x1DE7, 0x1DFC },
     { 0x1F16, 0x1F17 },
     { 0x1F1E, 0x1F1F },
     { 0x1F46, 0x1F47 },
@@ -276,23 +279,22 @@
     { 0x2072, 0x2073 },
     { 0x208F, 0x208F },
     { 0x2095, 0x209F },
-    { 0x20B6, 0x20CF },
+    { 0x20B9, 0x20CF },
     { 0x20F1, 0x20FF },
-    { 0x2150, 0x2152 },
-    { 0x2189, 0x218F },
-    { 0x23E8, 0x23FF },
+    { 0x218A, 0x218F },
+    { 0x23E9, 0x23FF },
     { 0x2427, 0x243F },
     { 0x244B, 0x245F },
-    { 0x269E, 0x269F },
-    { 0x26BD, 0x26BF },
-    { 0x26C4, 0x2700 },
+    { 0x26CE, 0x26CE },
+    { 0x26E2, 0x26E2 },
+    { 0x26E4, 0x26E7 },
+    { 0x2700, 0x2700 },
     { 0x2705, 0x2705 },
     { 0x270A, 0x270B },
     { 0x2728, 0x2728 },
     { 0x274C, 0x274C },
     { 0x274E, 0x274E },
     { 0x2753, 0x2755 },
-    { 0x2757, 0x2757 },
     { 0x275F, 0x2760 },
     { 0x2795, 0x2797 },
     { 0x27B0, 0x27B0 },
@@ -300,12 +302,10 @@
     { 0x27CB, 0x27CB },
     { 0x27CD, 0x27CF },
     { 0x2B4D, 0x2B4F },
-    { 0x2B55, 0x2BFF },
+    { 0x2B5A, 0x2BFF },
     { 0x2C2F, 0x2C2F },
     { 0x2C5F, 0x2C5F },
-    { 0x2C70, 0x2C70 },
-    { 0x2C7E, 0x2C7F },
-    { 0x2CEB, 0x2CF8 },
+    { 0x2CF2, 0x2CF8 },
     { 0x2D26, 0x2D2F },
     { 0x2D66, 0x2D6E },
     { 0x2D70, 0x2D7F },
@@ -318,7 +318,7 @@
     { 0x2DCF, 0x2DCF },
     { 0x2DD7, 0x2DD7 },
     { 0x2DDF, 0x2DDF },
-    { 0x2E31, 0x2E7F },
+    { 0x2E32, 0x2E7F },
     { 0x2E9A, 0x2E9A },
     { 0x2EF4, 0x2EFF },
     { 0x2FD6, 0x2FEF },
@@ -331,30 +331,41 @@
     { 0x31B8, 0x31BF },
     { 0x31E4, 0x31EF },
     { 0x321F, 0x321F },
-    { 0x3244, 0x324F },
     { 0x32FF, 0x32FF },
     { 0x4DB6, 0x4DBF },
-    { 0x9FC4, 0x9FFF },
+    { 0x9FCC, 0x9FFF },
     { 0xA48D, 0xA48F },
-    { 0xA4C7, 0xA4FF },
+    { 0xA4C7, 0xA4CF },
     { 0xA62C, 0xA63F },
     { 0xA660, 0xA661 },
     { 0xA674, 0xA67B },
-    { 0xA698, 0xA6FF },
+    { 0xA698, 0xA69F },
+    { 0xA6F8, 0xA6FF },
     { 0xA78D, 0xA7FA },
-    { 0xA82C, 0xA83F },
+    { 0xA82C, 0xA82F },
+    { 0xA83A, 0xA83F },
     { 0xA878, 0xA87F },
     { 0xA8C5, 0xA8CD },
-    { 0xA8DA, 0xA8FF },
+    { 0xA8DA, 0xA8DF },
+    { 0xA8FC, 0xA8FF },
     { 0xA954, 0xA95E },
-    { 0xA960, 0xA9FF },
+    { 0xA97D, 0xA97F },
+    { 0xA9CE, 0xA9CE },
+    { 0xA9DA, 0xA9DD },
+    { 0xA9E0, 0xA9FF },
     { 0xAA37, 0xAA3F },
     { 0xAA4E, 0xAA4F },
     { 0xAA5A, 0xAA5B },
-    { 0xAA60, 0xABFF },
-    { 0xD7A4, 0xD7FF },
+    { 0xAA7C, 0xAA7F },
+    { 0xAAC3, 0xAADA },
+    { 0xAAE0, 0xABBF },
+    { 0xABEE, 0xABEF },
+    { 0xABFA, 0xABFF },
+    { 0xD7A4, 0xD7AF },
+    { 0xD7C7, 0xD7CA },
+    { 0xD7FC, 0xD7FF },
     { 0xFA2E, 0xFA2F },
-    { 0xFA6B, 0xFA6F },
+    { 0xFA6E, 0xFA6F },
     { 0xFADA, 0xFAFF },
     { 0xFB07, 0xFB12 },
     { 0xFB18, 0xFB1C },
@@ -410,8 +421,9 @@
     { 0x10836, 0x10836 },
     { 0x10839, 0x1083B },
     { 0x1083D, 0x1083E },
-    { 0x10840, 0x108FF },
-    { 0x1091A, 0x1091E },
+    { 0x10856, 0x10856 },
+    { 0x10860, 0x108FF },
+    { 0x1091C, 0x1091E },
     { 0x1093A, 0x1093E },
     { 0x10940, 0x109FF },
     { 0x10A04, 0x10A04 },
@@ -421,10 +433,19 @@
     { 0x10A34, 0x10A37 },
     { 0x10A3B, 0x10A3E },
     { 0x10A48, 0x10A4F },
-    { 0x10A59, 0x11FFF },
+    { 0x10A59, 0x10A5F },
+    { 0x10A80, 0x10AFF },
+    { 0x10B36, 0x10B38 },
+    { 0x10B56, 0x10B57 },
+    { 0x10B73, 0x10B77 },
+    { 0x10B80, 0x10BFF },
+    { 0x10C49, 0x10E5F },
+    { 0x10E7F, 0x1107F },
+    { 0x110C2, 0x11FFF },
     { 0x1236F, 0x123FF },
     { 0x12463, 0x1246F },
-    { 0x12474, 0x1CFFF },
+    { 0x12474, 0x12FFF },
+    { 0x1342F, 0x1CFFF },
     { 0x1D0F6, 0x1D0FF },
     { 0x1D127, 0x1D128 },
     { 0x1D1DE, 0x1D1FF },
@@ -453,8 +474,27 @@
     { 0x1D7CC, 0x1D7CD },
     { 0x1D800, 0x1EFFF },
     { 0x1F02C, 0x1F02F },
-    { 0x1F094, 0x1FFFD },
-    { 0x2A6D7, 0x2F7FF },
+    { 0x1F094, 0x1F0FF },
+    { 0x1F10B, 0x1F10F },
+    { 0x1F12F, 0x1F130 },
+    { 0x1F132, 0x1F13C },
+    { 0x1F13E, 0x1F13E },
+    { 0x1F140, 0x1F141 },
+    { 0x1F143, 0x1F145 },
+    { 0x1F147, 0x1F149 },
+    { 0x1F14F, 0x1F156 },
+    { 0x1F158, 0x1F15E },
+    { 0x1F160, 0x1F178 },
+    { 0x1F17A, 0x1F17A },
+    { 0x1F17D, 0x1F17E },
+    { 0x1F180, 0x1F189 },
+    { 0x1F18E, 0x1F18F },
+    { 0x1F191, 0x1F1FF },
+    { 0x1F201, 0x1F20F },
+    { 0x1F232, 0x1F23F },
+    { 0x1F249, 0x1FFFD },
+    { 0x2A6D7, 0x2A6FF },
+    { 0x2B735, 0x2F7FF },
     { 0x2FA1E, 0x2FFFD },
     { 0x30000, 0x3FFFD },
     { 0x40000, 0x4FFFD },
--- a/tests/unictype/test-pr_unified_ideograph.c
+++ b/tests/unictype/test-pr_unified_ideograph.c
@@ -18,7 +18,7 @@
 #include "test-predicate-part1.h"
 
     { 0x3400, 0x4DB5 },
-    { 0x4E00, 0x9FC3 },
+    { 0x4E00, 0x9FCB },
     { 0xFA0E, 0xFA0F },
     { 0xFA11, 0xFA11 },
     { 0xFA13, 0xFA14 },
@@ -26,7 +26,8 @@
     { 0xFA21, 0xFA21 },
     { 0xFA23, 0xFA24 },
     { 0xFA27, 0xFA29 },
-    { 0x20000, 0x2A6D6 }
+    { 0x20000, 0x2A6D6 },
+    { 0x2A700, 0x2B734 }
 
 #define PREDICATE(c) uc_is_property_unified_ideograph (c)
 #include "test-predicate-part2.h"
--- a/tests/unictype/test-pr_uppercase.c
+++ b/tests/unictype/test-pr_uppercase.c
@@ -281,6 +281,7 @@
     { 0x051E, 0x051E },
     { 0x0520, 0x0520 },
     { 0x0522, 0x0522 },
+    { 0x0524, 0x0524 },
     { 0x0531, 0x0556 },
     { 0x10A0, 0x10C5 },
     { 0x1E00, 0x1E00 },
@@ -444,10 +445,10 @@
     { 0x2C67, 0x2C67 },
     { 0x2C69, 0x2C69 },
     { 0x2C6B, 0x2C6B },
-    { 0x2C6D, 0x2C6F },
+    { 0x2C6D, 0x2C70 },
     { 0x2C72, 0x2C72 },
     { 0x2C75, 0x2C75 },
-    { 0x2C80, 0x2C80 },
+    { 0x2C7E, 0x2C80 },
     { 0x2C82, 0x2C82 },
     { 0x2C84, 0x2C84 },
     { 0x2C86, 0x2C86 },
@@ -497,6 +498,8 @@
     { 0x2CDE, 0x2CDE },
     { 0x2CE0, 0x2CE0 },
     { 0x2CE2, 0x2CE2 },
+    { 0x2CEB, 0x2CEB },
+    { 0x2CED, 0x2CED },
     { 0xA640, 0xA640 },
     { 0xA642, 0xA642 },
     { 0xA644, 0xA644 },
--- a/tests/unictype/test-pr_xid_continue.c
+++ b/tests/unictype/test-pr_xid_continue.c
@@ -41,7 +41,7 @@
     { 0x03A3, 0x03F5 },
     { 0x03F7, 0x0481 },
     { 0x0483, 0x0487 },
-    { 0x048A, 0x0523 },
+    { 0x048A, 0x0525 },
     { 0x0531, 0x0556 },
     { 0x0559, 0x0559 },
     { 0x0561, 0x0587 },
@@ -64,13 +64,14 @@
     { 0x074D, 0x07B1 },
     { 0x07C0, 0x07F5 },
     { 0x07FA, 0x07FA },
-    { 0x0901, 0x0939 },
-    { 0x093C, 0x094D },
-    { 0x0950, 0x0954 },
+    { 0x0800, 0x082D },
+    { 0x0900, 0x0939 },
+    { 0x093C, 0x094E },
+    { 0x0950, 0x0955 },
     { 0x0958, 0x0963 },
     { 0x0966, 0x096F },
     { 0x0971, 0x0972 },
-    { 0x097B, 0x097F },
+    { 0x0979, 0x097F },
     { 0x0981, 0x0983 },
     { 0x0985, 0x098C },
     { 0x098F, 0x0990 },
@@ -229,14 +230,11 @@
     { 0x0F99, 0x0FBC },
     { 0x0FC6, 0x0FC6 },
     { 0x1000, 0x1049 },
-    { 0x1050, 0x1099 },
+    { 0x1050, 0x109D },
     { 0x10A0, 0x10C5 },
     { 0x10D0, 0x10FA },
     { 0x10FC, 0x10FC },
-    { 0x1100, 0x1159 },
-    { 0x115F, 0x11A2 },
-    { 0x11A8, 0x11F9 },
-    { 0x1200, 0x1248 },
+    { 0x1100, 0x1248 },
     { 0x124A, 0x124D },
     { 0x1250, 0x1256 },
     { 0x1258, 0x1258 },
@@ -257,7 +255,7 @@
     { 0x1380, 0x138F },
     { 0x13A0, 0x13F4 },
     { 0x1401, 0x166C },
-    { 0x166F, 0x1676 },
+    { 0x166F, 0x167F },
     { 0x1681, 0x169A },
     { 0x16A0, 0x16EA },
     { 0x16EE, 0x16F0 },
@@ -277,15 +275,21 @@
     { 0x1810, 0x1819 },
     { 0x1820, 0x1877 },
     { 0x1880, 0x18AA },
+    { 0x18B0, 0x18F5 },
     { 0x1900, 0x191C },
     { 0x1920, 0x192B },
     { 0x1930, 0x193B },
     { 0x1946, 0x196D },
     { 0x1970, 0x1974 },
-    { 0x1980, 0x19A9 },
+    { 0x1980, 0x19AB },
     { 0x19B0, 0x19C9 },
-    { 0x19D0, 0x19D9 },
+    { 0x19D0, 0x19DA },
     { 0x1A00, 0x1A1B },
+    { 0x1A20, 0x1A5E },
+    { 0x1A60, 0x1A7C },
+    { 0x1A7F, 0x1A89 },
+    { 0x1A90, 0x1A99 },
+    { 0x1AA7, 0x1AA7 },
     { 0x1B00, 0x1B4B },
     { 0x1B50, 0x1B59 },
     { 0x1B6B, 0x1B73 },
@@ -294,8 +298,10 @@
     { 0x1C00, 0x1C37 },
     { 0x1C40, 0x1C49 },
     { 0x1C4D, 0x1C7D },
+    { 0x1CD0, 0x1CD2 },
+    { 0x1CD4, 0x1CF2 },
     { 0x1D00, 0x1DE6 },
-    { 0x1DFE, 0x1F15 },
+    { 0x1DFD, 0x1F15 },
     { 0x1F18, 0x1F1D },
     { 0x1F20, 0x1F45 },
     { 0x1F48, 0x1F4D },
@@ -337,9 +343,8 @@
     { 0x2160, 0x2188 },
     { 0x2C00, 0x2C2E },
     { 0x2C30, 0x2C5E },
-    { 0x2C60, 0x2C6F },
-    { 0x2C71, 0x2C7D },
-    { 0x2C80, 0x2CE4 },
+    { 0x2C60, 0x2CE4 },
+    { 0x2CEB, 0x2CF1 },
     { 0x2D00, 0x2D25 },
     { 0x2D30, 0x2D65 },
     { 0x2D6F, 0x2D6F },
@@ -367,14 +372,16 @@
     { 0x31A0, 0x31B7 },
     { 0x31F0, 0x31FF },
     { 0x3400, 0x4DB5 },
-    { 0x4E00, 0x9FC3 },
+    { 0x4E00, 0x9FCB },
     { 0xA000, 0xA48C },
+    { 0xA4D0, 0xA4FD },
     { 0xA500, 0xA60C },
     { 0xA610, 0xA62B },
     { 0xA640, 0xA65F },
     { 0xA662, 0xA66F },
     { 0xA67C, 0xA67D },
     { 0xA67F, 0xA697 },
+    { 0xA6A0, 0xA6F1 },
     { 0xA717, 0xA71F },
     { 0xA722, 0xA788 },
     { 0xA78B, 0xA78C },
@@ -382,14 +389,28 @@
     { 0xA840, 0xA873 },
     { 0xA880, 0xA8C4 },
     { 0xA8D0, 0xA8D9 },
+    { 0xA8E0, 0xA8F7 },
+    { 0xA8FB, 0xA8FB },
     { 0xA900, 0xA92D },
     { 0xA930, 0xA953 },
+    { 0xA960, 0xA97C },
+    { 0xA980, 0xA9C0 },
+    { 0xA9CF, 0xA9D9 },
     { 0xAA00, 0xAA36 },
     { 0xAA40, 0xAA4D },
     { 0xAA50, 0xAA59 },
+    { 0xAA60, 0xAA76 },
+    { 0xAA7A, 0xAA7B },
+    { 0xAA80, 0xAAC2 },
+    { 0xAADB, 0xAADD },
+    { 0xABC0, 0xABEA },
+    { 0xABEC, 0xABED },
+    { 0xABF0, 0xABF9 },
     { 0xAC00, 0xD7A3 },
+    { 0xD7B0, 0xD7C6 },
+    { 0xD7CB, 0xD7FB },
     { 0xF900, 0xFA2D },
-    { 0xFA30, 0xFA6A },
+    { 0xFA30, 0xFA6D },
     { 0xFA70, 0xFAD9 },
     { 0xFB00, 0xFB06 },
     { 0xFB13, 0xFB17 },
@@ -449,7 +470,7 @@
     { 0x1080A, 0x10835 },
     { 0x10837, 0x10838 },
     { 0x1083C, 0x1083C },
-    { 0x1083F, 0x1083F },
+    { 0x1083F, 0x10855 },
     { 0x10900, 0x10915 },
     { 0x10920, 0x10939 },
     { 0x10A00, 0x10A03 },
@@ -459,8 +480,15 @@
     { 0x10A19, 0x10A33 },
     { 0x10A38, 0x10A3A },
     { 0x10A3F, 0x10A3F },
+    { 0x10A60, 0x10A7C },
+    { 0x10B00, 0x10B35 },
+    { 0x10B40, 0x10B55 },
+    { 0x10B60, 0x10B72 },
+    { 0x10C00, 0x10C48 },
+    { 0x11080, 0x110BA },
     { 0x12000, 0x1236E },
     { 0x12400, 0x12462 },
+    { 0x13000, 0x1342E },
     { 0x1D165, 0x1D169 },
     { 0x1D16D, 0x1D172 },
     { 0x1D17B, 0x1D182 },
@@ -499,6 +527,7 @@
     { 0x1D7C4, 0x1D7CB },
     { 0x1D7CE, 0x1D7FF },
     { 0x20000, 0x2A6D6 },
+    { 0x2A700, 0x2B734 },
     { 0x2F800, 0x2FA1D },
     { 0xE0100, 0xE01EF }
 
--- a/tests/unictype/test-pr_xid_start.c
+++ b/tests/unictype/test-pr_xid_start.c
@@ -38,7 +38,7 @@
     { 0x038E, 0x03A1 },
     { 0x03A3, 0x03F5 },
     { 0x03F7, 0x0481 },
-    { 0x048A, 0x0523 },
+    { 0x048A, 0x0525 },
     { 0x0531, 0x0556 },
     { 0x0559, 0x0559 },
     { 0x0561, 0x0587 },
@@ -59,12 +59,16 @@
     { 0x07CA, 0x07EA },
     { 0x07F4, 0x07F5 },
     { 0x07FA, 0x07FA },
+    { 0x0800, 0x0815 },
+    { 0x081A, 0x081A },
+    { 0x0824, 0x0824 },
+    { 0x0828, 0x0828 },
     { 0x0904, 0x0939 },
     { 0x093D, 0x093D },
     { 0x0950, 0x0950 },
     { 0x0958, 0x0961 },
     { 0x0971, 0x0972 },
-    { 0x097B, 0x097F },
+    { 0x0979, 0x097F },
     { 0x0985, 0x098C },
     { 0x098F, 0x0990 },
     { 0x0993, 0x09A8 },
@@ -180,10 +184,7 @@
     { 0x10A0, 0x10C5 },
     { 0x10D0, 0x10FA },
     { 0x10FC, 0x10FC },
-    { 0x1100, 0x1159 },
-    { 0x115F, 0x11A2 },
-    { 0x11A8, 0x11F9 },
-    { 0x1200, 0x1248 },
+    { 0x1100, 0x1248 },
     { 0x124A, 0x124D },
     { 0x1250, 0x1256 },
     { 0x1258, 0x1258 },
@@ -202,7 +203,7 @@
     { 0x1380, 0x138F },
     { 0x13A0, 0x13F4 },
     { 0x1401, 0x166C },
-    { 0x166F, 0x1676 },
+    { 0x166F, 0x167F },
     { 0x1681, 0x169A },
     { 0x16A0, 0x16EA },
     { 0x16EE, 0x16F0 },
@@ -218,12 +219,15 @@
     { 0x1820, 0x1877 },
     { 0x1880, 0x18A8 },
     { 0x18AA, 0x18AA },
+    { 0x18B0, 0x18F5 },
     { 0x1900, 0x191C },
     { 0x1950, 0x196D },
     { 0x1970, 0x1974 },
-    { 0x1980, 0x19A9 },
+    { 0x1980, 0x19AB },
     { 0x19C1, 0x19C7 },
     { 0x1A00, 0x1A16 },
+    { 0x1A20, 0x1A54 },
+    { 0x1AA7, 0x1AA7 },
     { 0x1B05, 0x1B33 },
     { 0x1B45, 0x1B4B },
     { 0x1B83, 0x1BA0 },
@@ -231,6 +235,8 @@
     { 0x1C00, 0x1C23 },
     { 0x1C4D, 0x1C4F },
     { 0x1C5A, 0x1C7D },
+    { 0x1CE9, 0x1CEC },
+    { 0x1CEE, 0x1CF1 },
     { 0x1D00, 0x1DBF },
     { 0x1E00, 0x1F15 },
     { 0x1F18, 0x1F1D },
@@ -269,9 +275,8 @@
     { 0x2160, 0x2188 },
     { 0x2C00, 0x2C2E },
     { 0x2C30, 0x2C5E },
-    { 0x2C60, 0x2C6F },
-    { 0x2C71, 0x2C7D },
-    { 0x2C80, 0x2CE4 },
+    { 0x2C60, 0x2CE4 },
+    { 0x2CEB, 0x2CEE },
     { 0x2D00, 0x2D25 },
     { 0x2D30, 0x2D65 },
     { 0x2D6F, 0x2D6F },
@@ -297,14 +302,16 @@
     { 0x31A0, 0x31B7 },
     { 0x31F0, 0x31FF },
     { 0x3400, 0x4DB5 },
-    { 0x4E00, 0x9FC3 },
+    { 0x4E00, 0x9FCB },
     { 0xA000, 0xA48C },
+    { 0xA4D0, 0xA4FD },
     { 0xA500, 0xA60C },
     { 0xA610, 0xA61F },
     { 0xA62A, 0xA62B },
     { 0xA640, 0xA65F },
     { 0xA662, 0xA66E },
     { 0xA67F, 0xA697 },
+    { 0xA6A0, 0xA6EF },
     { 0xA717, 0xA71F },
     { 0xA722, 0xA788 },
     { 0xA78B, 0xA78C },
@@ -314,14 +321,31 @@
     { 0xA80C, 0xA822 },
     { 0xA840, 0xA873 },
     { 0xA882, 0xA8B3 },
+    { 0xA8F2, 0xA8F7 },
+    { 0xA8FB, 0xA8FB },
     { 0xA90A, 0xA925 },
     { 0xA930, 0xA946 },
+    { 0xA960, 0xA97C },
+    { 0xA984, 0xA9B2 },
+    { 0xA9CF, 0xA9CF },
     { 0xAA00, 0xAA28 },
     { 0xAA40, 0xAA42 },
     { 0xAA44, 0xAA4B },
+    { 0xAA60, 0xAA76 },
+    { 0xAA7A, 0xAA7A },
+    { 0xAA80, 0xAAAF },
+    { 0xAAB1, 0xAAB1 },
+    { 0xAAB5, 0xAAB6 },
+    { 0xAAB9, 0xAABD },
+    { 0xAAC0, 0xAAC0 },
+    { 0xAAC2, 0xAAC2 },
+    { 0xAADB, 0xAADD },
+    { 0xABC0, 0xABE2 },
     { 0xAC00, 0xD7A3 },
+    { 0xD7B0, 0xD7C6 },
+    { 0xD7CB, 0xD7FB },
     { 0xF900, 0xFA2D },
-    { 0xFA30, 0xFA6A },
+    { 0xFA30, 0xFA6D },
     { 0xFA70, 0xFAD9 },
     { 0xFB00, 0xFB06 },
     { 0xFB13, 0xFB17 },
@@ -375,15 +399,22 @@
     { 0x1080A, 0x10835 },
     { 0x10837, 0x10838 },
     { 0x1083C, 0x1083C },
-    { 0x1083F, 0x1083F },
+    { 0x1083F, 0x10855 },
     { 0x10900, 0x10915 },
     { 0x10920, 0x10939 },
     { 0x10A00, 0x10A00 },
     { 0x10A10, 0x10A13 },
     { 0x10A15, 0x10A17 },
     { 0x10A19, 0x10A33 },
+    { 0x10A60, 0x10A7C },
+    { 0x10B00, 0x10B35 },
+    { 0x10B40, 0x10B55 },
+    { 0x10B60, 0x10B72 },
+    { 0x10C00, 0x10C48 },
+    { 0x11083, 0x110AF },
     { 0x12000, 0x1236E },
     { 0x12400, 0x12462 },
+    { 0x13000, 0x1342E },
     { 0x1D400, 0x1D454 },
     { 0x1D456, 0x1D49C },
     { 0x1D49E, 0x1D49F },
@@ -415,6 +446,7 @@
     { 0x1D7AA, 0x1D7C2 },
     { 0x1D7C4, 0x1D7CB },
     { 0x20000, 0x2A6D6 },
+    { 0x2A700, 0x2B734 },
     { 0x2F800, 0x2FA1D }
 
 #define PREDICATE(c) uc_is_property_xid_start (c)
--- a/tests/unictype/test-pr_zero_width.c
+++ b/tests/unictype/test-pr_zero_width.c
@@ -28,6 +28,7 @@
     { 0x206A, 0x206F },
     { 0xFEFF, 0xFEFF },
     { 0xFFF9, 0xFFFB },
+    { 0x110BD, 0x110BD },
     { 0x1D173, 0x1D17A },
     { 0xE0001, 0xE0001 },
     { 0xE0020, 0xE007F }
--- a/tests/unigbrk/test-uc-gbrk-prop.h
+++ b/tests/unigbrk/test-uc-gbrk-prop.h
@@ -64,7 +64,15 @@
 { 0x07B1, GBP_EXTEND },
 { 0x07EB, GBP_OTHER },
 { 0x07F4, GBP_EXTEND },
-{ 0x0901, GBP_OTHER },
+{ 0x0816, GBP_OTHER },
+{ 0x081A, GBP_EXTEND },
+{ 0x081B, GBP_OTHER },
+{ 0x0824, GBP_EXTEND },
+{ 0x0825, GBP_OTHER },
+{ 0x0828, GBP_EXTEND },
+{ 0x0829, GBP_OTHER },
+{ 0x082E, GBP_EXTEND },
+{ 0x0900, GBP_OTHER },
 { 0x0903, GBP_EXTEND },
 { 0x0904, GBP_SPACINGMARK },
 { 0x093C, GBP_OTHER },
@@ -74,8 +82,9 @@
 { 0x0949, GBP_EXTEND },
 { 0x094D, GBP_SPACINGMARK },
 { 0x094E, GBP_EXTEND },
+{ 0x094F, GBP_SPACINGMARK },
 { 0x0951, GBP_OTHER },
-{ 0x0955, GBP_EXTEND },
+{ 0x0956, GBP_EXTEND },
 { 0x0962, GBP_OTHER },
 { 0x0964, GBP_EXTEND },
 { 0x0981, GBP_OTHER },
@@ -290,13 +299,13 @@
 { 0x108E, GBP_EXTEND },
 { 0x108F, GBP_OTHER },
 { 0x1090, GBP_SPACINGMARK },
+{ 0x109A, GBP_OTHER },
+{ 0x109D, GBP_SPACINGMARK },
+{ 0x109E, GBP_EXTEND },
 { 0x1100, GBP_OTHER },
-{ 0x115A, GBP_L },
-{ 0x115F, GBP_OTHER },
 { 0x1160, GBP_L },
-{ 0x11A3, GBP_V },
-{ 0x11A8, GBP_OTHER },
-{ 0x11FA, GBP_T },
+{ 0x11A8, GBP_V },
+{ 0x1200, GBP_T },
 { 0x135F, GBP_OTHER },
 { 0x1360, GBP_EXTEND },
 { 0x1712, GBP_OTHER },
@@ -338,6 +347,21 @@
 { 0x1A17, GBP_OTHER },
 { 0x1A19, GBP_EXTEND },
 { 0x1A1C, GBP_SPACINGMARK },
+{ 0x1A55, GBP_OTHER },
+{ 0x1A56, GBP_SPACINGMARK },
+{ 0x1A57, GBP_EXTEND },
+{ 0x1A58, GBP_SPACINGMARK },
+{ 0x1A5F, GBP_EXTEND },
+{ 0x1A60, GBP_OTHER },
+{ 0x1A61, GBP_EXTEND },
+{ 0x1A62, GBP_SPACINGMARK },
+{ 0x1A63, GBP_EXTEND },
+{ 0x1A65, GBP_SPACINGMARK },
+{ 0x1A6D, GBP_EXTEND },
+{ 0x1A73, GBP_SPACINGMARK },
+{ 0x1A7D, GBP_EXTEND },
+{ 0x1A7F, GBP_OTHER },
+{ 0x1A80, GBP_EXTEND },
 { 0x1B00, GBP_OTHER },
 { 0x1B04, GBP_EXTEND },
 { 0x1B05, GBP_SPACINGMARK },
@@ -366,9 +390,19 @@
 { 0x1C34, GBP_EXTEND },
 { 0x1C36, GBP_SPACINGMARK },
 { 0x1C38, GBP_EXTEND },
+{ 0x1CD0, GBP_OTHER },
+{ 0x1CD3, GBP_EXTEND },
+{ 0x1CD4, GBP_OTHER },
+{ 0x1CE1, GBP_EXTEND },
+{ 0x1CE2, GBP_SPACINGMARK },
+{ 0x1CE9, GBP_EXTEND },
+{ 0x1CED, GBP_OTHER },
+{ 0x1CEE, GBP_EXTEND },
+{ 0x1CF2, GBP_OTHER },
+{ 0x1CF3, GBP_SPACINGMARK },
 { 0x1DC0, GBP_OTHER },
 { 0x1DE7, GBP_EXTEND },
-{ 0x1DFE, GBP_OTHER },
+{ 0x1DFD, GBP_OTHER },
 { 0x1E00, GBP_EXTEND },
 { 0x200B, GBP_OTHER },
 { 0x200C, GBP_CONTROL },
@@ -382,6 +416,8 @@
 { 0x2070, GBP_CONTROL },
 { 0x20D0, GBP_OTHER },
 { 0x20F1, GBP_EXTEND },
+{ 0x2CEF, GBP_OTHER },
+{ 0x2CF2, GBP_EXTEND },
 { 0x2DE0, GBP_OTHER },
 { 0x2E00, GBP_EXTEND },
 { 0x302A, GBP_OTHER },
@@ -392,6 +428,8 @@
 { 0xA673, GBP_EXTEND },
 { 0xA67C, GBP_OTHER },
 { 0xA67E, GBP_EXTEND },
+{ 0xA6F0, GBP_OTHER },
+{ 0xA6F2, GBP_EXTEND },
 { 0xA802, GBP_OTHER },
 { 0xA803, GBP_EXTEND },
 { 0xA806, GBP_OTHER },
@@ -407,11 +445,25 @@
 { 0xA8B4, GBP_OTHER },
 { 0xA8C4, GBP_SPACINGMARK },
 { 0xA8C5, GBP_EXTEND },
+{ 0xA8E0, GBP_OTHER },
+{ 0xA8F2, GBP_EXTEND },
 { 0xA926, GBP_OTHER },
 { 0xA92E, GBP_EXTEND },
 { 0xA947, GBP_OTHER },
 { 0xA952, GBP_EXTEND },
 { 0xA954, GBP_SPACINGMARK },
+{ 0xA960, GBP_OTHER },
+{ 0xA97D, GBP_L },
+{ 0xA980, GBP_OTHER },
+{ 0xA983, GBP_EXTEND },
+{ 0xA984, GBP_SPACINGMARK },
+{ 0xA9B3, GBP_OTHER },
+{ 0xA9B4, GBP_EXTEND },
+{ 0xA9B6, GBP_SPACINGMARK },
+{ 0xA9BA, GBP_EXTEND },
+{ 0xA9BC, GBP_SPACINGMARK },
+{ 0xA9BD, GBP_EXTEND },
+{ 0xA9C1, GBP_SPACINGMARK },
 { 0xAA29, GBP_OTHER },
 { 0xAA2F, GBP_EXTEND },
 { 0xAA31, GBP_SPACINGMARK },
@@ -423,6 +475,30 @@
 { 0xAA4C, GBP_OTHER },
 { 0xAA4D, GBP_EXTEND },
 { 0xAA4E, GBP_SPACINGMARK },
+{ 0xAA7B, GBP_OTHER },
+{ 0xAA7C, GBP_SPACINGMARK },
+{ 0xAAB0, GBP_OTHER },
+{ 0xAAB1, GBP_EXTEND },
+{ 0xAAB2, GBP_OTHER },
+{ 0xAAB5, GBP_EXTEND },
+{ 0xAAB7, GBP_PREPEND },
+{ 0xAAB9, GBP_EXTEND },
+{ 0xAABA, GBP_PREPEND },
+{ 0xAABB, GBP_OTHER },
+{ 0xAABD, GBP_PREPEND },
+{ 0xAABE, GBP_OTHER },
+{ 0xAAC0, GBP_EXTEND },
+{ 0xAAC1, GBP_OTHER },
+{ 0xAAC2, GBP_EXTEND },
+{ 0xABE3, GBP_OTHER },
+{ 0xABE5, GBP_SPACINGMARK },
+{ 0xABE6, GBP_EXTEND },
+{ 0xABE8, GBP_SPACINGMARK },
+{ 0xABE9, GBP_EXTEND },
+{ 0xABEB, GBP_SPACINGMARK },
+{ 0xABEC, GBP_OTHER },
+{ 0xABED, GBP_SPACINGMARK },
+{ 0xABEE, GBP_EXTEND },
 { 0xAC00, GBP_OTHER },
 { 0xAC01, GBP_LV },
 { 0xAC1C, GBP_LVT },
@@ -1222,6 +1298,10 @@
 { 0xD788, GBP_LVT },
 { 0xD789, GBP_LV },
 { 0xD7A4, GBP_LVT },
+{ 0xD7B0, GBP_OTHER },
+{ 0xD7C7, GBP_V },
+{ 0xD7CB, GBP_OTHER },
+{ 0xD7FC, GBP_T },
 { 0xFB1E, GBP_OTHER },
 { 0xFB1F, GBP_EXTEND },
 { 0xFE00, GBP_OTHER },
@@ -1246,6 +1326,16 @@
 { 0x10A3B, GBP_EXTEND },
 { 0x10A3F, GBP_OTHER },
 { 0x10A40, GBP_EXTEND },
+{ 0x11080, GBP_OTHER },
+{ 0x11082, GBP_EXTEND },
+{ 0x11083, GBP_SPACINGMARK },
+{ 0x110B0, GBP_OTHER },
+{ 0x110B3, GBP_SPACINGMARK },
+{ 0x110B7, GBP_EXTEND },
+{ 0x110B9, GBP_SPACINGMARK },
+{ 0x110BB, GBP_EXTEND },
+{ 0x110BD, GBP_OTHER },
+{ 0x110BE, GBP_CONTROL },
 { 0x1D165, GBP_OTHER },
 { 0x1D166, GBP_EXTEND },
 { 0x1D167, GBP_SPACINGMARK },
--- a/tests/unilbrk/test-u16-possible-linebreaks.c
+++ b/tests/unilbrk/test-u16-possible-linebreaks.c
@@ -51,7 +51,7 @@
           ASSERT (p[i] == (i == 60 ? UC_BREAK_MANDATORY :
                            i == 5
                            || i == 11 || i == 25
-                           || i == 27 || i == 29 || i == 30 || i == 35
+                           || i == 29 || i == 30
                            || i == 45 || i == 51
                            || i == 52 || i == 53 || i == 55 || i == 56
                            || i == 58 || i == 59 ? UC_BREAK_POSSIBLE :
@@ -70,7 +70,7 @@
           ASSERT (p[i] == (i == 60 ? UC_BREAK_MANDATORY :
                            i == 5
                            || i == 11 || i == 25
-                           || i == 27 || i == 29 || i == 30 || i == 35
+                           || i == 29 || i == 30
                            || i == 37 || i == 45 || i == 51
                            || i == 52 || i == 53 || i == 55 || i == 56
                            || i == 58 || i == 59 ? UC_BREAK_POSSIBLE :
--- a/tests/unilbrk/test-u32-possible-linebreaks.c
+++ b/tests/unilbrk/test-u32-possible-linebreaks.c
@@ -51,7 +51,7 @@
           ASSERT (p[i] == (i == 60 ? UC_BREAK_MANDATORY :
                            i == 5
                            || i == 11 || i == 25
-                           || i == 27 || i == 29 || i == 30 || i == 35
+                           || i == 29 || i == 30
                            || i == 45 || i == 51
                            || i == 52 || i == 53 || i == 55 || i == 56
                            || i == 58 || i == 59 ? UC_BREAK_POSSIBLE :
@@ -70,7 +70,7 @@
           ASSERT (p[i] == (i == 60 ? UC_BREAK_MANDATORY :
                            i == 5
                            || i == 11 || i == 25
-                           || i == 27 || i == 29 || i == 30 || i == 35
+                           || i == 29 || i == 30
                            || i == 37 || i == 45 || i == 51
                            || i == 52 || i == 53 || i == 55 || i == 56
                            || i == 58 || i == 59 ? UC_BREAK_POSSIBLE :
--- a/tests/unilbrk/test-u8-possible-linebreaks.c
+++ b/tests/unilbrk/test-u8-possible-linebreaks.c
@@ -45,7 +45,7 @@
           ASSERT (p[i] == (i == 90 ? UC_BREAK_MANDATORY :
                            i == 7
                            || i == 13 || i == 39
-                           || i == 41 || i == 43 || i == 44 || i == 50
+                           || i == 43 || i == 44
                            || i == 61 || i == 67
                            || i == 70 || i == 73 || i == 77 || i == 80
                            || i == 84 || i == 87 ? UC_BREAK_POSSIBLE :
@@ -64,7 +64,7 @@
           ASSERT (p[i] == (i == 90 ? UC_BREAK_MANDATORY :
                            i == 7
                            || i == 13 || i == 39
-                           || i == 41 || i == 43 || i == 44 || i == 50
+                           || i == 43 || i == 44
                            || i == 52 || i == 61 || i == 67
                            || i == 70 || i == 73 || i == 77 || i == 80
                            || i == 84 || i == 87 ? UC_BREAK_POSSIBLE :
--- a/tests/unilbrk/test-ulc-possible-linebreaks.c
+++ b/tests/unilbrk/test-ulc-possible-linebreaks.c
@@ -42,8 +42,8 @@
     for (i = 0; i < 36; i++)
       {
         ASSERT (p[i] == (i == 35 ? UC_BREAK_MANDATORY :
-                         i == 5 || i == 11 || i == 13 || i == 15 || i == 16
-                         || i == 21 || i == 31 ? UC_BREAK_POSSIBLE :
+                         i == 5 || i == 11 || i == 15 || i == 16
+                         || i == 31 ? UC_BREAK_POSSIBLE :
                          UC_BREAK_PROHIBITED));
       }
     free (p);
--- a/tests/unilbrk/test-ulc-width-linebreaks.c
+++ b/tests/unilbrk/test-ulc-width-linebreaks.c
@@ -42,7 +42,7 @@
     for (i = 0; i < 36; i++)
       {
         ASSERT (p[i] == (i == 35 ? UC_BREAK_MANDATORY :
-                         i == 11 || i == 21 || i == 31 ? UC_BREAK_POSSIBLE :
+                         i == 11 || i == 16 || i == 31 ? UC_BREAK_POSSIBLE :
                          UC_BREAK_PROHIBITED));
       }
     free (p);
--- a/tests/uninorm/NormalizationTest.txt
+++ b/tests/uninorm/NormalizationTest.txt
@@ -1,8 +1,8 @@
-# NormalizationTest-5.1.0.txt
-# Date: 2008-03-03, 21:58:00 GMT [MD]
+# NormalizationTest-5.2.0.txt
+# Date: 2009-08-22, 04:58:39 GMT [MD]
 #
 # Unicode Character Database
-# Copyright (c) 1991-2008 Unicode, Inc.
+# Copyright (c) 1991-2009 Unicode, Inc.
 # For terms of use, see http://www.unicode.org/terms_of_use.html
 # Most comments have been stripped from this file.
 
@@ -1253,6 +1253,9 @@
 2147;2147;2147;0065;0065;
 2148;2148;2148;0069;0069;
 2149;2149;2149;006A;006A;
+2150;2150;2150;0031 2044 0037;0031 2044 0037;
+2151;2151;2151;0031 2044 0039;0031 2044 0039;
+2152;2152;2152;0031 2044 0031 0030;0031 2044 0031 0030;
 2153;2153;2153;0031 2044 0033;0031 2044 0033;
 2154;2154;2154;0032 2044 0033;0032 2044 0033;
 2155;2155;2155;0031 2044 0035;0031 2044 0035;
@@ -1298,6 +1301,7 @@
 217D;217D;217D;0063;0063;
 217E;217E;217E;0064;0064;
 217F;217F;217F;006D;006D;
+2189;2189;2189;0030 2044 0033;0030 2044 0033;
 219A;219A;2190 0338;219A;2190 0338;
 219B;219B;2192 0338;219B;2192 0338;
 21AE;21AE;2194 0338;21AE;2194 0338;
@@ -1953,6 +1957,10 @@
 3241;3241;3241;0028 4F11 0029;0028 4F11 0029;
 3242;3242;3242;0028 81EA 0029;0028 81EA 0029;
 3243;3243;3243;0028 81F3 0029;0028 81F3 0029;
+3244;3244;3244;554F;554F;
+3245;3245;3245;5E7C;5E7C;
+3246;3246;3246;6587;6587;
+3247;3247;3247;7B8F;7B8F;
 3250;3250;3250;0050 0054 0045;0050 0054 0045;
 3251;3251;3251;0032 0031;0032 0031;
 3252;3252;3252;0032 0032;0032 0032;
@@ -13905,6 +13913,9 @@
 FA68;96E3;96E3;96E3;96E3;
 FA69;97FF;97FF;97FF;97FF;
 FA6A;983B;983B;983B;983B;
+FA6B;6075;6075;6075;6075;
+FA6C;242EE;242EE;242EE;242EE;
+FA6D;8218;8218;8218;8218;
 FA70;4E26;4E26;4E26;4E26;
 FA71;51B5;51B5;51B5;51B5;
 FA72;5168;5168;5168;5168;
@@ -15090,6 +15101,9 @@
 FFEC;FFEC;FFEC;2193;2193;
 FFED;FFED;FFED;25A0;25A0;
 FFEE;FFEE;FFEE;25CB;25CB;
+1109A;1109A;11099 110BA;1109A;11099 110BA;
+1109C;1109C;1109B 110BA;1109C;1109B 110BA;
+110AB;110AB;110A5 110BA;110AB;110A5 110BA;
 1D15E;1D157 1D165;1D157 1D165;1D157 1D165;1D157 1D165;
 1D15F;1D158 1D165;1D158 1D165;1D158 1D165;1D158 1D165;
 1D160;1D158 1D165 1D16E;1D158 1D165 1D16E;1D158 1D165 1D16E;1D158 1D165 1D16E;
@@ -16099,6 +16113,103 @@
 1D7FD;1D7FD;1D7FD;0037;0037;
 1D7FE;1D7FE;1D7FE;0038;0038;
 1D7FF;1D7FF;1D7FF;0039;0039;
+1F100;1F100;1F100;0030 002E;0030 002E;
+1F101;1F101;1F101;0030 002C;0030 002C;
+1F102;1F102;1F102;0031 002C;0031 002C;
+1F103;1F103;1F103;0032 002C;0032 002C;
+1F104;1F104;1F104;0033 002C;0033 002C;
+1F105;1F105;1F105;0034 002C;0034 002C;
+1F106;1F106;1F106;0035 002C;0035 002C;
+1F107;1F107;1F107;0036 002C;0036 002C;
+1F108;1F108;1F108;0037 002C;0037 002C;
+1F109;1F109;1F109;0038 002C;0038 002C;
+1F10A;1F10A;1F10A;0039 002C;0039 002C;
+1F110;1F110;1F110;0028 0041 0029;0028 0041 0029;
+1F111;1F111;1F111;0028 0042 0029;0028 0042 0029;
+1F112;1F112;1F112;0028 0043 0029;0028 0043 0029;
+1F113;1F113;1F113;0028 0044 0029;0028 0044 0029;
+1F114;1F114;1F114;0028 0045 0029;0028 0045 0029;
+1F115;1F115;1F115;0028 0046 0029;0028 0046 0029;
+1F116;1F116;1F116;0028 0047 0029;0028 0047 0029;
+1F117;1F117;1F117;0028 0048 0029;0028 0048 0029;
+1F118;1F118;1F118;0028 0049 0029;0028 0049 0029;
+1F119;1F119;1F119;0028 004A 0029;0028 004A 0029;
+1F11A;1F11A;1F11A;0028 004B 0029;0028 004B 0029;
+1F11B;1F11B;1F11B;0028 004C 0029;0028 004C 0029;
+1F11C;1F11C;1F11C;0028 004D 0029;0028 004D 0029;
+1F11D;1F11D;1F11D;0028 004E 0029;0028 004E 0029;
+1F11E;1F11E;1F11E;0028 004F 0029;0028 004F 0029;
+1F11F;1F11F;1F11F;0028 0050 0029;0028 0050 0029;
+1F120;1F120;1F120;0028 0051 0029;0028 0051 0029;
+1F121;1F121;1F121;0028 0052 0029;0028 0052 0029;
+1F122;1F122;1F122;0028 0053 0029;0028 0053 0029;
+1F123;1F123;1F123;0028 0054 0029;0028 0054 0029;
+1F124;1F124;1F124;0028 0055 0029;0028 0055 0029;
+1F125;1F125;1F125;0028 0056 0029;0028 0056 0029;
+1F126;1F126;1F126;0028 0057 0029;0028 0057 0029;
+1F127;1F127;1F127;0028 0058 0029;0028 0058 0029;
+1F128;1F128;1F128;0028 0059 0029;0028 0059 0029;
+1F129;1F129;1F129;0028 005A 0029;0028 005A 0029;
+1F12A;1F12A;1F12A;3014 0053 3015;3014 0053 3015;
+1F12B;1F12B;1F12B;0043;0043;
+1F12C;1F12C;1F12C;0052;0052;
+1F12D;1F12D;1F12D;0043 0044;0043 0044;
+1F12E;1F12E;1F12E;0057 005A;0057 005A;
+1F131;1F131;1F131;0042;0042;
+1F13D;1F13D;1F13D;004E;004E;
+1F13F;1F13F;1F13F;0050;0050;
+1F142;1F142;1F142;0053;0053;
+1F146;1F146;1F146;0057;0057;
+1F14A;1F14A;1F14A;0048 0056;0048 0056;
+1F14B;1F14B;1F14B;004D 0056;004D 0056;
+1F14C;1F14C;1F14C;0053 0044;0053 0044;
+1F14D;1F14D;1F14D;0053 0053;0053 0053;
+1F14E;1F14E;1F14E;0050 0050 0056;0050 0050 0056;
+1F190;1F190;1F190;0044 004A;0044 004A;
+1F200;1F200;1F200;307B 304B;307B 304B;
+1F210;1F210;1F210;624B;624B;
+1F211;1F211;1F211;5B57;5B57;
+1F212;1F212;1F212;53CC;53CC;
+1F213;1F213;1F213;30C7;30C6 3099;
+1F214;1F214;1F214;4E8C;4E8C;
+1F215;1F215;1F215;591A;591A;
+1F216;1F216;1F216;89E3;89E3;
+1F217;1F217;1F217;5929;5929;
+1F218;1F218;1F218;4EA4;4EA4;
+1F219;1F219;1F219;6620;6620;
+1F21A;1F21A;1F21A;7121;7121;
+1F21B;1F21B;1F21B;6599;6599;
+1F21C;1F21C;1F21C;524D;524D;
+1F21D;1F21D;1F21D;5F8C;5F8C;
+1F21E;1F21E;1F21E;518D;518D;
+1F21F;1F21F;1F21F;65B0;65B0;
+1F220;1F220;1F220;521D;521D;
+1F221;1F221;1F221;7D42;7D42;
+1F222;1F222;1F222;751F;751F;
+1F223;1F223;1F223;8CA9;8CA9;
+1F224;1F224;1F224;58F0;58F0;
+1F225;1F225;1F225;5439;5439;
+1F226;1F226;1F226;6F14;6F14;
+1F227;1F227;1F227;6295;6295;
+1F228;1F228;1F228;6355;6355;
+1F229;1F229;1F229;4E00;4E00;
+1F22A;1F22A;1F22A;4E09;4E09;
+1F22B;1F22B;1F22B;904A;904A;
+1F22C;1F22C;1F22C;5DE6;5DE6;
+1F22D;1F22D;1F22D;4E2D;4E2D;
+1F22E;1F22E;1F22E;53F3;53F3;
+1F22F;1F22F;1F22F;6307;6307;
+1F230;1F230;1F230;8D70;8D70;
+1F231;1F231;1F231;6253;6253;
+1F240;1F240;1F240;3014 672C 3015;3014 672C 3015;
+1F241;1F241;1F241;3014 4E09 3015;3014 4E09 3015;
+1F242;1F242;1F242;3014 4E8C 3015;3014 4E8C 3015;
+1F243;1F243;1F243;3014 5B89 3015;3014 5B89 3015;
+1F244;1F244;1F244;3014 70B9 3015;3014 70B9 3015;
+1F245;1F245;1F245;3014 6253 3015;3014 6253 3015;
+1F246;1F246;1F246;3014 76D7 3015;3014 76D7 3015;
+1F247;1F247;1F247;3014 52DD 3015;3014 52DD 3015;
+1F248;1F248;1F248;3014 6557 3015;3014 6557 3015;
 2F800;4E3D;4E3D;4E3D;4E3D;
 2F801;4E38;4E38;4E38;4E38;
 2F802;4E41;4E41;4E41;4E41;
@@ -17154,6 +17265,48 @@
 0061 07F2 059A 0316 302A 0062;0061 302A 07F2 0316 059A 0062;0061 302A 07F2 0316 059A 0062;0061 302A 07F2 0316 059A 0062;0061 302A 07F2 0316 059A 0062;
 0061 0315 0300 05AE 07F3 0062;00E0 05AE 07F3 0315 0062;0061 05AE 0300 07F3 0315 0062;00E0 05AE 07F3 0315 0062;0061 05AE 0300 07F3 0315 0062;
 0061 07F3 0315 0300 05AE 0062;0061 05AE 07F3 0300 0315 0062;0061 05AE 07F3 0300 0315 0062;0061 05AE 07F3 0300 0315 0062;0061 05AE 07F3 0300 0315 0062;
+0061 0315 0300 05AE 0816 0062;00E0 05AE 0816 0315 0062;0061 05AE 0300 0816 0315 0062;00E0 05AE 0816 0315 0062;0061 05AE 0300 0816 0315 0062;
+0061 0816 0315 0300 05AE 0062;0061 05AE 0816 0300 0315 0062;0061 05AE 0816 0300 0315 0062;0061 05AE 0816 0300 0315 0062;0061 05AE 0816 0300 0315 0062;
+0061 0315 0300 05AE 0817 0062;00E0 05AE 0817 0315 0062;0061 05AE 0300 0817 0315 0062;00E0 05AE 0817 0315 0062;0061 05AE 0300 0817 0315 0062;
+0061 0817 0315 0300 05AE 0062;0061 05AE 0817 0300 0315 0062;0061 05AE 0817 0300 0315 0062;0061 05AE 0817 0300 0315 0062;0061 05AE 0817 0300 0315 0062;
+0061 0315 0300 05AE 0818 0062;00E0 05AE 0818 0315 0062;0061 05AE 0300 0818 0315 0062;00E0 05AE 0818 0315 0062;0061 05AE 0300 0818 0315 0062;
+0061 0818 0315 0300 05AE 0062;0061 05AE 0818 0300 0315 0062;0061 05AE 0818 0300 0315 0062;0061 05AE 0818 0300 0315 0062;0061 05AE 0818 0300 0315 0062;
+0061 0315 0300 05AE 0819 0062;00E0 05AE 0819 0315 0062;0061 05AE 0300 0819 0315 0062;00E0 05AE 0819 0315 0062;0061 05AE 0300 0819 0315 0062;
+0061 0819 0315 0300 05AE 0062;0061 05AE 0819 0300 0315 0062;0061 05AE 0819 0300 0315 0062;0061 05AE 0819 0300 0315 0062;0061 05AE 0819 0300 0315 0062;
+0061 0315 0300 05AE 081B 0062;00E0 05AE 081B 0315 0062;0061 05AE 0300 081B 0315 0062;00E0 05AE 081B 0315 0062;0061 05AE 0300 081B 0315 0062;
+0061 081B 0315 0300 05AE 0062;0061 05AE 081B 0300 0315 0062;0061 05AE 081B 0300 0315 0062;0061 05AE 081B 0300 0315 0062;0061 05AE 081B 0300 0315 0062;
+0061 0315 0300 05AE 081C 0062;00E0 05AE 081C 0315 0062;0061 05AE 0300 081C 0315 0062;00E0 05AE 081C 0315 0062;0061 05AE 0300 081C 0315 0062;
+0061 081C 0315 0300 05AE 0062;0061 05AE 081C 0300 0315 0062;0061 05AE 081C 0300 0315 0062;0061 05AE 081C 0300 0315 0062;0061 05AE 081C 0300 0315 0062;
+0061 0315 0300 05AE 081D 0062;00E0 05AE 081D 0315 0062;0061 05AE 0300 081D 0315 0062;00E0 05AE 081D 0315 0062;0061 05AE 0300 081D 0315 0062;
+0061 081D 0315 0300 05AE 0062;0061 05AE 081D 0300 0315 0062;0061 05AE 081D 0300 0315 0062;0061 05AE 081D 0300 0315 0062;0061 05AE 081D 0300 0315 0062;
+0061 0315 0300 05AE 081E 0062;00E0 05AE 081E 0315 0062;0061 05AE 0300 081E 0315 0062;00E0 05AE 081E 0315 0062;0061 05AE 0300 081E 0315 0062;
+0061 081E 0315 0300 05AE 0062;0061 05AE 081E 0300 0315 0062;0061 05AE 081E 0300 0315 0062;0061 05AE 081E 0300 0315 0062;0061 05AE 081E 0300 0315 0062;
+0061 0315 0300 05AE 081F 0062;00E0 05AE 081F 0315 0062;0061 05AE 0300 081F 0315 0062;00E0 05AE 081F 0315 0062;0061 05AE 0300 081F 0315 0062;
+0061 081F 0315 0300 05AE 0062;0061 05AE 081F 0300 0315 0062;0061 05AE 081F 0300 0315 0062;0061 05AE 081F 0300 0315 0062;0061 05AE 081F 0300 0315 0062;
+0061 0315 0300 05AE 0820 0062;00E0 05AE 0820 0315 0062;0061 05AE 0300 0820 0315 0062;00E0 05AE 0820 0315 0062;0061 05AE 0300 0820 0315 0062;
+0061 0820 0315 0300 05AE 0062;0061 05AE 0820 0300 0315 0062;0061 05AE 0820 0300 0315 0062;0061 05AE 0820 0300 0315 0062;0061 05AE 0820 0300 0315 0062;
+0061 0315 0300 05AE 0821 0062;00E0 05AE 0821 0315 0062;0061 05AE 0300 0821 0315 0062;00E0 05AE 0821 0315 0062;0061 05AE 0300 0821 0315 0062;
+0061 0821 0315 0300 05AE 0062;0061 05AE 0821 0300 0315 0062;0061 05AE 0821 0300 0315 0062;0061 05AE 0821 0300 0315 0062;0061 05AE 0821 0300 0315 0062;
+0061 0315 0300 05AE 0822 0062;00E0 05AE 0822 0315 0062;0061 05AE 0300 0822 0315 0062;00E0 05AE 0822 0315 0062;0061 05AE 0300 0822 0315 0062;
+0061 0822 0315 0300 05AE 0062;0061 05AE 0822 0300 0315 0062;0061 05AE 0822 0300 0315 0062;0061 05AE 0822 0300 0315 0062;0061 05AE 0822 0300 0315 0062;
+0061 0315 0300 05AE 0823 0062;00E0 05AE 0823 0315 0062;0061 05AE 0300 0823 0315 0062;00E0 05AE 0823 0315 0062;0061 05AE 0300 0823 0315 0062;
+0061 0823 0315 0300 05AE 0062;0061 05AE 0823 0300 0315 0062;0061 05AE 0823 0300 0315 0062;0061 05AE 0823 0300 0315 0062;0061 05AE 0823 0300 0315 0062;
+0061 0315 0300 05AE 0825 0062;00E0 05AE 0825 0315 0062;0061 05AE 0300 0825 0315 0062;00E0 05AE 0825 0315 0062;0061 05AE 0300 0825 0315 0062;
+0061 0825 0315 0300 05AE 0062;0061 05AE 0825 0300 0315 0062;0061 05AE 0825 0300 0315 0062;0061 05AE 0825 0300 0315 0062;0061 05AE 0825 0300 0315 0062;
+0061 0315 0300 05AE 0826 0062;00E0 05AE 0826 0315 0062;0061 05AE 0300 0826 0315 0062;00E0 05AE 0826 0315 0062;0061 05AE 0300 0826 0315 0062;
+0061 0826 0315 0300 05AE 0062;0061 05AE 0826 0300 0315 0062;0061 05AE 0826 0300 0315 0062;0061 05AE 0826 0300 0315 0062;0061 05AE 0826 0300 0315 0062;
+0061 0315 0300 05AE 0827 0062;00E0 05AE 0827 0315 0062;0061 05AE 0300 0827 0315 0062;00E0 05AE 0827 0315 0062;0061 05AE 0300 0827 0315 0062;
+0061 0827 0315 0300 05AE 0062;0061 05AE 0827 0300 0315 0062;0061 05AE 0827 0300 0315 0062;0061 05AE 0827 0300 0315 0062;0061 05AE 0827 0300 0315 0062;
+0061 0315 0300 05AE 0829 0062;00E0 05AE 0829 0315 0062;0061 05AE 0300 0829 0315 0062;00E0 05AE 0829 0315 0062;0061 05AE 0300 0829 0315 0062;
+0061 0829 0315 0300 05AE 0062;0061 05AE 0829 0300 0315 0062;0061 05AE 0829 0300 0315 0062;0061 05AE 0829 0300 0315 0062;0061 05AE 0829 0300 0315 0062;
+0061 0315 0300 05AE 082A 0062;00E0 05AE 082A 0315 0062;0061 05AE 0300 082A 0315 0062;00E0 05AE 082A 0315 0062;0061 05AE 0300 082A 0315 0062;
+0061 082A 0315 0300 05AE 0062;0061 05AE 082A 0300 0315 0062;0061 05AE 082A 0300 0315 0062;0061 05AE 082A 0300 0315 0062;0061 05AE 082A 0300 0315 0062;
+0061 0315 0300 05AE 082B 0062;00E0 05AE 082B 0315 0062;0061 05AE 0300 082B 0315 0062;00E0 05AE 082B 0315 0062;0061 05AE 0300 082B 0315 0062;
+0061 082B 0315 0300 05AE 0062;0061 05AE 082B 0300 0315 0062;0061 05AE 082B 0300 0315 0062;0061 05AE 082B 0300 0315 0062;0061 05AE 082B 0300 0315 0062;
+0061 0315 0300 05AE 082C 0062;00E0 05AE 082C 0315 0062;0061 05AE 0300 082C 0315 0062;00E0 05AE 082C 0315 0062;0061 05AE 0300 082C 0315 0062;
+0061 082C 0315 0300 05AE 0062;0061 05AE 082C 0300 0315 0062;0061 05AE 082C 0300 0315 0062;0061 05AE 082C 0300 0315 0062;0061 05AE 082C 0300 0315 0062;
+0061 0315 0300 05AE 082D 0062;00E0 05AE 082D 0315 0062;0061 05AE 0300 082D 0315 0062;00E0 05AE 082D 0315 0062;0061 05AE 0300 082D 0315 0062;
+0061 082D 0315 0300 05AE 0062;0061 05AE 082D 0300 0315 0062;0061 05AE 082D 0300 0315 0062;0061 05AE 082D 0300 0315 0062;0061 05AE 082D 0300 0315 0062;
 0061 3099 093C 0334 093C 0062;0061 0334 093C 093C 3099 0062;0061 0334 093C 093C 3099 0062;0061 0334 093C 093C 3099 0062;0061 0334 093C 093C 3099 0062;
 0061 093C 3099 093C 0334 0062;0061 0334 093C 093C 3099 0062;0061 0334 093C 093C 3099 0062;0061 0334 093C 093C 3099 0062;0061 0334 093C 093C 3099 0062;
 0061 05B0 094D 3099 094D 0062;0061 3099 094D 094D 05B0 0062;0061 3099 094D 094D 05B0 0062;0061 3099 094D 094D 05B0 0062;0061 3099 094D 094D 05B0 0062;
@@ -17292,6 +17445,26 @@
 0061 1A17 0315 0300 05AE 0062;0061 05AE 1A17 0300 0315 0062;0061 05AE 1A17 0300 0315 0062;0061 05AE 1A17 0300 0315 0062;0061 05AE 1A17 0300 0315 0062;
 0061 059A 0316 302A 1A18 0062;0061 302A 0316 1A18 059A 0062;0061 302A 0316 1A18 059A 0062;0061 302A 0316 1A18 059A 0062;0061 302A 0316 1A18 059A 0062;
 0061 1A18 059A 0316 302A 0062;0061 302A 1A18 0316 059A 0062;0061 302A 1A18 0316 059A 0062;0061 302A 1A18 0316 059A 0062;0061 302A 1A18 0316 059A 0062;
+0061 05B0 094D 3099 1A60 0062;0061 3099 094D 1A60 05B0 0062;0061 3099 094D 1A60 05B0 0062;0061 3099 094D 1A60 05B0 0062;0061 3099 094D 1A60 05B0 0062;
+0061 1A60 05B0 094D 3099 0062;0061 3099 1A60 094D 05B0 0062;0061 3099 1A60 094D 05B0 0062;0061 3099 1A60 094D 05B0 0062;0061 3099 1A60 094D 05B0 0062;
+0061 0315 0300 05AE 1A75 0062;00E0 05AE 1A75 0315 0062;0061 05AE 0300 1A75 0315 0062;00E0 05AE 1A75 0315 0062;0061 05AE 0300 1A75 0315 0062;
+0061 1A75 0315 0300 05AE 0062;0061 05AE 1A75 0300 0315 0062;0061 05AE 1A75 0300 0315 0062;0061 05AE 1A75 0300 0315 0062;0061 05AE 1A75 0300 0315 0062;
+0061 0315 0300 05AE 1A76 0062;00E0 05AE 1A76 0315 0062;0061 05AE 0300 1A76 0315 0062;00E0 05AE 1A76 0315 0062;0061 05AE 0300 1A76 0315 0062;
+0061 1A76 0315 0300 05AE 0062;0061 05AE 1A76 0300 0315 0062;0061 05AE 1A76 0300 0315 0062;0061 05AE 1A76 0300 0315 0062;0061 05AE 1A76 0300 0315 0062;
+0061 0315 0300 05AE 1A77 0062;00E0 05AE 1A77 0315 0062;0061 05AE 0300 1A77 0315 0062;00E0 05AE 1A77 0315 0062;0061 05AE 0300 1A77 0315 0062;
+0061 1A77 0315 0300 05AE 0062;0061 05AE 1A77 0300 0315 0062;0061 05AE 1A77 0300 0315 0062;0061 05AE 1A77 0300 0315 0062;0061 05AE 1A77 0300 0315 0062;
+0061 0315 0300 05AE 1A78 0062;00E0 05AE 1A78 0315 0062;0061 05AE 0300 1A78 0315 0062;00E0 05AE 1A78 0315 0062;0061 05AE 0300 1A78 0315 0062;
+0061 1A78 0315 0300 05AE 0062;0061 05AE 1A78 0300 0315 0062;0061 05AE 1A78 0300 0315 0062;0061 05AE 1A78 0300 0315 0062;0061 05AE 1A78 0300 0315 0062;
+0061 0315 0300 05AE 1A79 0062;00E0 05AE 1A79 0315 0062;0061 05AE 0300 1A79 0315 0062;00E0 05AE 1A79 0315 0062;0061 05AE 0300 1A79 0315 0062;
+0061 1A79 0315 0300 05AE 0062;0061 05AE 1A79 0300 0315 0062;0061 05AE 1A79 0300 0315 0062;0061 05AE 1A79 0300 0315 0062;0061 05AE 1A79 0300 0315 0062;
+0061 0315 0300 05AE 1A7A 0062;00E0 05AE 1A7A 0315 0062;0061 05AE 0300 1A7A 0315 0062;00E0 05AE 1A7A 0315 0062;0061 05AE 0300 1A7A 0315 0062;
+0061 1A7A 0315 0300 05AE 0062;0061 05AE 1A7A 0300 0315 0062;0061 05AE 1A7A 0300 0315 0062;0061 05AE 1A7A 0300 0315 0062;0061 05AE 1A7A 0300 0315 0062;
+0061 0315 0300 05AE 1A7B 0062;00E0 05AE 1A7B 0315 0062;0061 05AE 0300 1A7B 0315 0062;00E0 05AE 1A7B 0315 0062;0061 05AE 0300 1A7B 0315 0062;
+0061 1A7B 0315 0300 05AE 0062;0061 05AE 1A7B 0300 0315 0062;0061 05AE 1A7B 0300 0315 0062;0061 05AE 1A7B 0300 0315 0062;0061 05AE 1A7B 0300 0315 0062;
+0061 0315 0300 05AE 1A7C 0062;00E0 05AE 1A7C 0315 0062;0061 05AE 0300 1A7C 0315 0062;00E0 05AE 1A7C 0315 0062;0061 05AE 0300 1A7C 0315 0062;
+0061 1A7C 0315 0300 05AE 0062;0061 05AE 1A7C 0300 0315 0062;0061 05AE 1A7C 0300 0315 0062;0061 05AE 1A7C 0300 0315 0062;0061 05AE 1A7C 0300 0315 0062;
+0061 059A 0316 302A 1A7F 0062;0061 302A 0316 1A7F 059A 0062;0061 302A 0316 1A7F 059A 0062;0061 302A 0316 1A7F 059A 0062;0061 302A 0316 1A7F 059A 0062;
+0061 1A7F 059A 0316 302A 0062;0061 302A 1A7F 0316 059A 0062;0061 302A 1A7F 0316 059A 0062;0061 302A 1A7F 0316 059A 0062;0061 302A 1A7F 0316 059A 0062;
 0061 3099 093C 0334 1B34 0062;0061 0334 093C 1B34 3099 0062;0061 0334 093C 1B34 3099 0062;0061 0334 093C 1B34 3099 0062;0061 0334 093C 1B34 3099 0062;
 0061 1B34 3099 093C 0334 0062;0061 0334 1B34 093C 3099 0062;0061 0334 1B34 093C 3099 0062;0061 0334 1B34 093C 3099 0062;0061 0334 1B34 093C 3099 0062;
 0061 05B0 094D 3099 1B44 0062;0061 3099 094D 1B44 05B0 0062;0061 3099 094D 1B44 05B0 0062;0061 3099 094D 1B44 05B0 0062;0061 3099 094D 1B44 05B0 0062;
@@ -17318,6 +17491,54 @@
 0061 1BAA 05B0 094D 3099 0062;0061 3099 1BAA 094D 05B0 0062;0061 3099 1BAA 094D 05B0 0062;0061 3099 1BAA 094D 05B0 0062;0061 3099 1BAA 094D 05B0 0062;
 0061 3099 093C 0334 1C37 0062;0061 0334 093C 1C37 3099 0062;0061 0334 093C 1C37 3099 0062;0061 0334 093C 1C37 3099 0062;0061 0334 093C 1C37 3099 0062;
 0061 1C37 3099 093C 0334 0062;0061 0334 1C37 093C 3099 0062;0061 0334 1C37 093C 3099 0062;0061 0334 1C37 093C 3099 0062;0061 0334 1C37 093C 3099 0062;
+0061 0315 0300 05AE 1CD0 0062;00E0 05AE 1CD0 0315 0062;0061 05AE 0300 1CD0 0315 0062;00E0 05AE 1CD0 0315 0062;0061 05AE 0300 1CD0 0315 0062;
+0061 1CD0 0315 0300 05AE 0062;0061 05AE 1CD0 0300 0315 0062;0061 05AE 1CD0 0300 0315 0062;0061 05AE 1CD0 0300 0315 0062;0061 05AE 1CD0 0300 0315 0062;
+0061 0315 0300 05AE 1CD1 0062;00E0 05AE 1CD1 0315 0062;0061 05AE 0300 1CD1 0315 0062;00E0 05AE 1CD1 0315 0062;0061 05AE 0300 1CD1 0315 0062;
+0061 1CD1 0315 0300 05AE 0062;0061 05AE 1CD1 0300 0315 0062;0061 05AE 1CD1 0300 0315 0062;0061 05AE 1CD1 0300 0315 0062;0061 05AE 1CD1 0300 0315 0062;
+0061 0315 0300 05AE 1CD2 0062;00E0 05AE 1CD2 0315 0062;0061 05AE 0300 1CD2 0315 0062;00E0 05AE 1CD2 0315 0062;0061 05AE 0300 1CD2 0315 0062;
+0061 1CD2 0315 0300 05AE 0062;0061 05AE 1CD2 0300 0315 0062;0061 05AE 1CD2 0300 0315 0062;0061 05AE 1CD2 0300 0315 0062;0061 05AE 1CD2 0300 0315 0062;
+0061 093C 0334 1CD4 0062;0061 0334 1CD4 093C 0062;0061 0334 1CD4 093C 0062;0061 0334 1CD4 093C 0062;0061 0334 1CD4 093C 0062;
+0061 1CD4 093C 0334 0062;0061 1CD4 0334 093C 0062;0061 1CD4 0334 093C 0062;0061 1CD4 0334 093C 0062;0061 1CD4 0334 093C 0062;
+0061 059A 0316 302A 1CD5 0062;0061 302A 0316 1CD5 059A 0062;0061 302A 0316 1CD5 059A 0062;0061 302A 0316 1CD5 059A 0062;0061 302A 0316 1CD5 059A 0062;
+0061 1CD5 059A 0316 302A 0062;0061 302A 1CD5 0316 059A 0062;0061 302A 1CD5 0316 059A 0062;0061 302A 1CD5 0316 059A 0062;0061 302A 1CD5 0316 059A 0062;
+0061 059A 0316 302A 1CD6 0062;0061 302A 0316 1CD6 059A 0062;0061 302A 0316 1CD6 059A 0062;0061 302A 0316 1CD6 059A 0062;0061 302A 0316 1CD6 059A 0062;
+0061 1CD6 059A 0316 302A 0062;0061 302A 1CD6 0316 059A 0062;0061 302A 1CD6 0316 059A 0062;0061 302A 1CD6 0316 059A 0062;0061 302A 1CD6 0316 059A 0062;
+0061 059A 0316 302A 1CD7 0062;0061 302A 0316 1CD7 059A 0062;0061 302A 0316 1CD7 059A 0062;0061 302A 0316 1CD7 059A 0062;0061 302A 0316 1CD7 059A 0062;
+0061 1CD7 059A 0316 302A 0062;0061 302A 1CD7 0316 059A 0062;0061 302A 1CD7 0316 059A 0062;0061 302A 1CD7 0316 059A 0062;0061 302A 1CD7 0316 059A 0062;
+0061 059A 0316 302A 1CD8 0062;0061 302A 0316 1CD8 059A 0062;0061 302A 0316 1CD8 059A 0062;0061 302A 0316 1CD8 059A 0062;0061 302A 0316 1CD8 059A 0062;
+0061 1CD8 059A 0316 302A 0062;0061 302A 1CD8 0316 059A 0062;0061 302A 1CD8 0316 059A 0062;0061 302A 1CD8 0316 059A 0062;0061 302A 1CD8 0316 059A 0062;
+0061 059A 0316 302A 1CD9 0062;0061 302A 0316 1CD9 059A 0062;0061 302A 0316 1CD9 059A 0062;0061 302A 0316 1CD9 059A 0062;0061 302A 0316 1CD9 059A 0062;
+0061 1CD9 059A 0316 302A 0062;0061 302A 1CD9 0316 059A 0062;0061 302A 1CD9 0316 059A 0062;0061 302A 1CD9 0316 059A 0062;0061 302A 1CD9 0316 059A 0062;
+0061 0315 0300 05AE 1CDA 0062;00E0 05AE 1CDA 0315 0062;0061 05AE 0300 1CDA 0315 0062;00E0 05AE 1CDA 0315 0062;0061 05AE 0300 1CDA 0315 0062;
+0061 1CDA 0315 0300 05AE 0062;0061 05AE 1CDA 0300 0315 0062;0061 05AE 1CDA 0300 0315 0062;0061 05AE 1CDA 0300 0315 0062;0061 05AE 1CDA 0300 0315 0062;
+0061 0315 0300 05AE 1CDB 0062;00E0 05AE 1CDB 0315 0062;0061 05AE 0300 1CDB 0315 0062;00E0 05AE 1CDB 0315 0062;0061 05AE 0300 1CDB 0315 0062;
+0061 1CDB 0315 0300 05AE 0062;0061 05AE 1CDB 0300 0315 0062;0061 05AE 1CDB 0300 0315 0062;0061 05AE 1CDB 0300 0315 0062;0061 05AE 1CDB 0300 0315 0062;
+0061 059A 0316 302A 1CDC 0062;0061 302A 0316 1CDC 059A 0062;0061 302A 0316 1CDC 059A 0062;0061 302A 0316 1CDC 059A 0062;0061 302A 0316 1CDC 059A 0062;
+0061 1CDC 059A 0316 302A 0062;0061 302A 1CDC 0316 059A 0062;0061 302A 1CDC 0316 059A 0062;0061 302A 1CDC 0316 059A 0062;0061 302A 1CDC 0316 059A 0062;
+0061 059A 0316 302A 1CDD 0062;0061 302A 0316 1CDD 059A 0062;0061 302A 0316 1CDD 059A 0062;0061 302A 0316 1CDD 059A 0062;0061 302A 0316 1CDD 059A 0062;
+0061 1CDD 059A 0316 302A 0062;0061 302A 1CDD 0316 059A 0062;0061 302A 1CDD 0316 059A 0062;0061 302A 1CDD 0316 059A 0062;0061 302A 1CDD 0316 059A 0062;
+0061 059A 0316 302A 1CDE 0062;0061 302A 0316 1CDE 059A 0062;0061 302A 0316 1CDE 059A 0062;0061 302A 0316 1CDE 059A 0062;0061 302A 0316 1CDE 059A 0062;
+0061 1CDE 059A 0316 302A 0062;0061 302A 1CDE 0316 059A 0062;0061 302A 1CDE 0316 059A 0062;0061 302A 1CDE 0316 059A 0062;0061 302A 1CDE 0316 059A 0062;
+0061 059A 0316 302A 1CDF 0062;0061 302A 0316 1CDF 059A 0062;0061 302A 0316 1CDF 059A 0062;0061 302A 0316 1CDF 059A 0062;0061 302A 0316 1CDF 059A 0062;
+0061 1CDF 059A 0316 302A 0062;0061 302A 1CDF 0316 059A 0062;0061 302A 1CDF 0316 059A 0062;0061 302A 1CDF 0316 059A 0062;0061 302A 1CDF 0316 059A 0062;
+0061 0315 0300 05AE 1CE0 0062;00E0 05AE 1CE0 0315 0062;0061 05AE 0300 1CE0 0315 0062;00E0 05AE 1CE0 0315 0062;0061 05AE 0300 1CE0 0315 0062;
+0061 1CE0 0315 0300 05AE 0062;0061 05AE 1CE0 0300 0315 0062;0061 05AE 1CE0 0300 0315 0062;0061 05AE 1CE0 0300 0315 0062;0061 05AE 1CE0 0300 0315 0062;
+0061 093C 0334 1CE2 0062;0061 0334 1CE2 093C 0062;0061 0334 1CE2 093C 0062;0061 0334 1CE2 093C 0062;0061 0334 1CE2 093C 0062;
+0061 1CE2 093C 0334 0062;0061 1CE2 0334 093C 0062;0061 1CE2 0334 093C 0062;0061 1CE2 0334 093C 0062;0061 1CE2 0334 093C 0062;
+0061 093C 0334 1CE3 0062;0061 0334 1CE3 093C 0062;0061 0334 1CE3 093C 0062;0061 0334 1CE3 093C 0062;0061 0334 1CE3 093C 0062;
+0061 1CE3 093C 0334 0062;0061 1CE3 0334 093C 0062;0061 1CE3 0334 093C 0062;0061 1CE3 0334 093C 0062;0061 1CE3 0334 093C 0062;
+0061 093C 0334 1CE4 0062;0061 0334 1CE4 093C 0062;0061 0334 1CE4 093C 0062;0061 0334 1CE4 093C 0062;0061 0334 1CE4 093C 0062;
+0061 1CE4 093C 0334 0062;0061 1CE4 0334 093C 0062;0061 1CE4 0334 093C 0062;0061 1CE4 0334 093C 0062;0061 1CE4 0334 093C 0062;
+0061 093C 0334 1CE5 0062;0061 0334 1CE5 093C 0062;0061 0334 1CE5 093C 0062;0061 0334 1CE5 093C 0062;0061 0334 1CE5 093C 0062;
+0061 1CE5 093C 0334 0062;0061 1CE5 0334 093C 0062;0061 1CE5 0334 093C 0062;0061 1CE5 0334 093C 0062;0061 1CE5 0334 093C 0062;
+0061 093C 0334 1CE6 0062;0061 0334 1CE6 093C 0062;0061 0334 1CE6 093C 0062;0061 0334 1CE6 093C 0062;0061 0334 1CE6 093C 0062;
+0061 1CE6 093C 0334 0062;0061 1CE6 0334 093C 0062;0061 1CE6 0334 093C 0062;0061 1CE6 0334 093C 0062;0061 1CE6 0334 093C 0062;
+0061 093C 0334 1CE7 0062;0061 0334 1CE7 093C 0062;0061 0334 1CE7 093C 0062;0061 0334 1CE7 093C 0062;0061 0334 1CE7 093C 0062;
+0061 1CE7 093C 0334 0062;0061 1CE7 0334 093C 0062;0061 1CE7 0334 093C 0062;0061 1CE7 0334 093C 0062;0061 1CE7 0334 093C 0062;
+0061 093C 0334 1CE8 0062;0061 0334 1CE8 093C 0062;0061 0334 1CE8 093C 0062;0061 0334 1CE8 093C 0062;0061 0334 1CE8 093C 0062;
+0061 1CE8 093C 0334 0062;0061 1CE8 0334 093C 0062;0061 1CE8 0334 093C 0062;0061 1CE8 0334 093C 0062;0061 1CE8 0334 093C 0062;
+0061 059A 0316 302A 1CED 0062;0061 302A 0316 1CED 059A 0062;0061 302A 0316 1CED 059A 0062;0061 302A 0316 1CED 059A 0062;0061 302A 0316 1CED 059A 0062;
+0061 1CED 059A 0316 302A 0062;0061 302A 1CED 0316 059A 0062;0061 302A 1CED 0316 059A 0062;0061 302A 1CED 0316 059A 0062;0061 302A 1CED 0316 059A 0062;
 0061 0315 0300 05AE 1DC0 0062;00E0 05AE 1DC0 0315 0062;0061 05AE 0300 1DC0 0315 0062;00E0 05AE 1DC0 0315 0062;0061 05AE 0300 1DC0 0315 0062;
 0061 1DC0 0315 0300 05AE 0062;0061 05AE 1DC0 0300 0315 0062;0061 05AE 1DC0 0300 0315 0062;0061 05AE 1DC0 0300 0315 0062;0061 05AE 1DC0 0300 0315 0062;
 0061 0315 0300 05AE 1DC1 0062;00E0 05AE 1DC1 0315 0062;0061 05AE 0300 1DC1 0315 0062;00E0 05AE 1DC1 0315 0062;0061 05AE 0300 1DC1 0315 0062;
@@ -17396,6 +17617,8 @@
 0061 1DE5 0315 0300 05AE 0062;0061 05AE 1DE5 0300 0315 0062;0061 05AE 1DE5 0300 0315 0062;0061 05AE 1DE5 0300 0315 0062;0061 05AE 1DE5 0300 0315 0062;
 0061 0315 0300 05AE 1DE6 0062;00E0 05AE 1DE6 0315 0062;0061 05AE 0300 1DE6 0315 0062;00E0 05AE 1DE6 0315 0062;0061 05AE 0300 1DE6 0315 0062;
 0061 1DE6 0315 0300 05AE 0062;0061 05AE 1DE6 0300 0315 0062;0061 05AE 1DE6 0300 0315 0062;0061 05AE 1DE6 0300 0315 0062;0061 05AE 1DE6 0300 0315 0062;
+0061 059A 0316 302A 1DFD 0062;0061 302A 0316 1DFD 059A 0062;0061 302A 0316 1DFD 059A 0062;0061 302A 0316 1DFD 059A 0062;0061 302A 0316 1DFD 059A 0062;
+0061 1DFD 059A 0316 302A 0062;0061 302A 1DFD 0316 059A 0062;0061 302A 1DFD 0316 059A 0062;0061 302A 1DFD 0316 059A 0062;0061 302A 1DFD 0316 059A 0062;
 0061 0315 0300 05AE 1DFE 0062;00E0 05AE 1DFE 0315 0062;0061 05AE 0300 1DFE 0315 0062;00E0 05AE 1DFE 0315 0062;0061 05AE 0300 1DFE 0315 0062;
 0061 1DFE 0315 0300 05AE 0062;0061 05AE 1DFE 0300 0315 0062;0061 05AE 1DFE 0300 0315 0062;0061 05AE 1DFE 0300 0315 0062;0061 05AE 1DFE 0300 0315 0062;
 0061 059A 0316 302A 1DFF 0062;0061 302A 0316 1DFF 059A 0062;0061 302A 0316 1DFF 059A 0062;0061 302A 0316 1DFF 059A 0062;0061 302A 0316 1DFF 059A 0062;
@@ -17452,6 +17675,12 @@
 0061 20EF 059A 0316 302A 0062;0061 302A 20EF 0316 059A 0062;0061 302A 20EF 0316 059A 0062;0061 302A 20EF 0316 059A 0062;0061 302A 20EF 0316 059A 0062;
 0061 0315 0300 05AE 20F0 0062;00E0 05AE 20F0 0315 0062;0061 05AE 0300 20F0 0315 0062;00E0 05AE 20F0 0315 0062;0061 05AE 0300 20F0 0315 0062;
 0061 20F0 0315 0300 05AE 0062;0061 05AE 20F0 0300 0315 0062;0061 05AE 20F0 0300 0315 0062;0061 05AE 20F0 0300 0315 0062;0061 05AE 20F0 0300 0315 0062;
+0061 0315 0300 05AE 2CEF 0062;00E0 05AE 2CEF 0315 0062;0061 05AE 0300 2CEF 0315 0062;00E0 05AE 2CEF 0315 0062;0061 05AE 0300 2CEF 0315 0062;
+0061 2CEF 0315 0300 05AE 0062;0061 05AE 2CEF 0300 0315 0062;0061 05AE 2CEF 0300 0315 0062;0061 05AE 2CEF 0300 0315 0062;0061 05AE 2CEF 0300 0315 0062;
+0061 0315 0300 05AE 2CF0 0062;00E0 05AE 2CF0 0315 0062;0061 05AE 0300 2CF0 0315 0062;00E0 05AE 2CF0 0315 0062;0061 05AE 0300 2CF0 0315 0062;
+0061 2CF0 0315 0300 05AE 0062;0061 05AE 2CF0 0300 0315 0062;0061 05AE 2CF0 0300 0315 0062;0061 05AE 2CF0 0300 0315 0062;0061 05AE 2CF0 0300 0315 0062;
+0061 0315 0300 05AE 2CF1 0062;00E0 05AE 2CF1 0315 0062;0061 05AE 0300 2CF1 0315 0062;00E0 05AE 2CF1 0315 0062;0061 05AE 0300 2CF1 0315 0062;
+0061 2CF1 0315 0300 05AE 0062;0061 05AE 2CF1 0300 0315 0062;0061 05AE 2CF1 0300 0315 0062;0061 05AE 2CF1 0300 0315 0062;0061 05AE 2CF1 0300 0315 0062;
 0061 0315 0300 05AE 2DE0 0062;00E0 05AE 2DE0 0315 0062;0061 05AE 0300 2DE0 0315 0062;00E0 05AE 2DE0 0315 0062;0061 05AE 0300 2DE0 0315 0062;
 0061 2DE0 0315 0300 05AE 0062;0061 05AE 2DE0 0300 0315 0062;0061 05AE 2DE0 0300 0315 0062;0061 05AE 2DE0 0300 0315 0062;0061 05AE 2DE0 0300 0315 0062;
 0061 0315 0300 05AE 2DE1 0062;00E0 05AE 2DE1 0315 0062;0061 05AE 0300 2DE1 0315 0062;00E0 05AE 2DE1 0315 0062;0061 05AE 0300 2DE1 0315 0062;
@@ -17538,10 +17767,50 @@
 0061 A67C 0315 0300 05AE 0062;0061 05AE A67C 0300 0315 0062;0061 05AE A67C 0300 0315 0062;0061 05AE A67C 0300 0315 0062;0061 05AE A67C 0300 0315 0062;
 0061 0315 0300 05AE A67D 0062;00E0 05AE A67D 0315 0062;0061 05AE 0300 A67D 0315 0062;00E0 05AE A67D 0315 0062;0061 05AE 0300 A67D 0315 0062;
 0061 A67D 0315 0300 05AE 0062;0061 05AE A67D 0300 0315 0062;0061 05AE A67D 0300 0315 0062;0061 05AE A67D 0300 0315 0062;0061 05AE A67D 0300 0315 0062;
+0061 0315 0300 05AE A6F0 0062;00E0 05AE A6F0 0315 0062;0061 05AE 0300 A6F0 0315 0062;00E0 05AE A6F0 0315 0062;0061 05AE 0300 A6F0 0315 0062;
+0061 A6F0 0315 0300 05AE 0062;0061 05AE A6F0 0300 0315 0062;0061 05AE A6F0 0300 0315 0062;0061 05AE A6F0 0300 0315 0062;0061 05AE A6F0 0300 0315 0062;
+0061 0315 0300 05AE A6F1 0062;00E0 05AE A6F1 0315 0062;0061 05AE 0300 A6F1 0315 0062;00E0 05AE A6F1 0315 0062;0061 05AE 0300 A6F1 0315 0062;
+0061 A6F1 0315 0300 05AE 0062;0061 05AE A6F1 0300 0315 0062;0061 05AE A6F1 0300 0315 0062;0061 05AE A6F1 0300 0315 0062;0061 05AE A6F1 0300 0315 0062;
 0061 05B0 094D 3099 A806 0062;0061 3099 094D A806 05B0 0062;0061 3099 094D A806 05B0 0062;0061 3099 094D A806 05B0 0062;0061 3099 094D A806 05B0 0062;
 0061 A806 05B0 094D 3099 0062;0061 3099 A806 094D 05B0 0062;0061 3099 A806 094D 05B0 0062;0061 3099 A806 094D 05B0 0062;0061 3099 A806 094D 05B0 0062;
 0061 05B0 094D 3099 A8C4 0062;0061 3099 094D A8C4 05B0 0062;0061 3099 094D A8C4 05B0 0062;0061 3099 094D A8C4 05B0 0062;0061 3099 094D A8C4 05B0 0062;
 0061 A8C4 05B0 094D 3099 0062;0061 3099 A8C4 094D 05B0 0062;0061 3099 A8C4 094D 05B0 0062;0061 3099 A8C4 094D 05B0 0062;0061 3099 A8C4 094D 05B0 0062;
+0061 0315 0300 05AE A8E0 0062;00E0 05AE A8E0 0315 0062;0061 05AE 0300 A8E0 0315 0062;00E0 05AE A8E0 0315 0062;0061 05AE 0300 A8E0 0315 0062;
+0061 A8E0 0315 0300 05AE 0062;0061 05AE A8E0 0300 0315 0062;0061 05AE A8E0 0300 0315 0062;0061 05AE A8E0 0300 0315 0062;0061 05AE A8E0 0300 0315 0062;
+0061 0315 0300 05AE A8E1 0062;00E0 05AE A8E1 0315 0062;0061 05AE 0300 A8E1 0315 0062;00E0 05AE A8E1 0315 0062;0061 05AE 0300 A8E1 0315 0062;
+0061 A8E1 0315 0300 05AE 0062;0061 05AE A8E1 0300 0315 0062;0061 05AE A8E1 0300 0315 0062;0061 05AE A8E1 0300 0315 0062;0061 05AE A8E1 0300 0315 0062;
+0061 0315 0300 05AE A8E2 0062;00E0 05AE A8E2 0315 0062;0061 05AE 0300 A8E2 0315 0062;00E0 05AE A8E2 0315 0062;0061 05AE 0300 A8E2 0315 0062;
+0061 A8E2 0315 0300 05AE 0062;0061 05AE A8E2 0300 0315 0062;0061 05AE A8E2 0300 0315 0062;0061 05AE A8E2 0300 0315 0062;0061 05AE A8E2 0300 0315 0062;
+0061 0315 0300 05AE A8E3 0062;00E0 05AE A8E3 0315 0062;0061 05AE 0300 A8E3 0315 0062;00E0 05AE A8E3 0315 0062;0061 05AE 0300 A8E3 0315 0062;
+0061 A8E3 0315 0300 05AE 0062;0061 05AE A8E3 0300 0315 0062;0061 05AE A8E3 0300 0315 0062;0061 05AE A8E3 0300 0315 0062;0061 05AE A8E3 0300 0315 0062;
+0061 0315 0300 05AE A8E4 0062;00E0 05AE A8E4 0315 0062;0061 05AE 0300 A8E4 0315 0062;00E0 05AE A8E4 0315 0062;0061 05AE 0300 A8E4 0315 0062;
+0061 A8E4 0315 0300 05AE 0062;0061 05AE A8E4 0300 0315 0062;0061 05AE A8E4 0300 0315 0062;0061 05AE A8E4 0300 0315 0062;0061 05AE A8E4 0300 0315 0062;
+0061 0315 0300 05AE A8E5 0062;00E0 05AE A8E5 0315 0062;0061 05AE 0300 A8E5 0315 0062;00E0 05AE A8E5 0315 0062;0061 05AE 0300 A8E5 0315 0062;
+0061 A8E5 0315 0300 05AE 0062;0061 05AE A8E5 0300 0315 0062;0061 05AE A8E5 0300 0315 0062;0061 05AE A8E5 0300 0315 0062;0061 05AE A8E5 0300 0315 0062;
+0061 0315 0300 05AE A8E6 0062;00E0 05AE A8E6 0315 0062;0061 05AE 0300 A8E6 0315 0062;00E0 05AE A8E6 0315 0062;0061 05AE 0300 A8E6 0315 0062;
+0061 A8E6 0315 0300 05AE 0062;0061 05AE A8E6 0300 0315 0062;0061 05AE A8E6 0300 0315 0062;0061 05AE A8E6 0300 0315 0062;0061 05AE A8E6 0300 0315 0062;
+0061 0315 0300 05AE A8E7 0062;00E0 05AE A8E7 0315 0062;0061 05AE 0300 A8E7 0315 0062;00E0 05AE A8E7 0315 0062;0061 05AE 0300 A8E7 0315 0062;
+0061 A8E7 0315 0300 05AE 0062;0061 05AE A8E7 0300 0315 0062;0061 05AE A8E7 0300 0315 0062;0061 05AE A8E7 0300 0315 0062;0061 05AE A8E7 0300 0315 0062;
+0061 0315 0300 05AE A8E8 0062;00E0 05AE A8E8 0315 0062;0061 05AE 0300 A8E8 0315 0062;00E0 05AE A8E8 0315 0062;0061 05AE 0300 A8E8 0315 0062;
+0061 A8E8 0315 0300 05AE 0062;0061 05AE A8E8 0300 0315 0062;0061 05AE A8E8 0300 0315 0062;0061 05AE A8E8 0300 0315 0062;0061 05AE A8E8 0300 0315 0062;
+0061 0315 0300 05AE A8E9 0062;00E0 05AE A8E9 0315 0062;0061 05AE 0300 A8E9 0315 0062;00E0 05AE A8E9 0315 0062;0061 05AE 0300 A8E9 0315 0062;
+0061 A8E9 0315 0300 05AE 0062;0061 05AE A8E9 0300 0315 0062;0061 05AE A8E9 0300 0315 0062;0061 05AE A8E9 0300 0315 0062;0061 05AE A8E9 0300 0315 0062;
+0061 0315 0300 05AE A8EA 0062;00E0 05AE A8EA 0315 0062;0061 05AE 0300 A8EA 0315 0062;00E0 05AE A8EA 0315 0062;0061 05AE 0300 A8EA 0315 0062;
+0061 A8EA 0315 0300 05AE 0062;0061 05AE A8EA 0300 0315 0062;0061 05AE A8EA 0300 0315 0062;0061 05AE A8EA 0300 0315 0062;0061 05AE A8EA 0300 0315 0062;
+0061 0315 0300 05AE A8EB 0062;00E0 05AE A8EB 0315 0062;0061 05AE 0300 A8EB 0315 0062;00E0 05AE A8EB 0315 0062;0061 05AE 0300 A8EB 0315 0062;
+0061 A8EB 0315 0300 05AE 0062;0061 05AE A8EB 0300 0315 0062;0061 05AE A8EB 0300 0315 0062;0061 05AE A8EB 0300 0315 0062;0061 05AE A8EB 0300 0315 0062;
+0061 0315 0300 05AE A8EC 0062;00E0 05AE A8EC 0315 0062;0061 05AE 0300 A8EC 0315 0062;00E0 05AE A8EC 0315 0062;0061 05AE 0300 A8EC 0315 0062;
+0061 A8EC 0315 0300 05AE 0062;0061 05AE A8EC 0300 0315 0062;0061 05AE A8EC 0300 0315 0062;0061 05AE A8EC 0300 0315 0062;0061 05AE A8EC 0300 0315 0062;
+0061 0315 0300 05AE A8ED 0062;00E0 05AE A8ED 0315 0062;0061 05AE 0300 A8ED 0315 0062;00E0 05AE A8ED 0315 0062;0061 05AE 0300 A8ED 0315 0062;
+0061 A8ED 0315 0300 05AE 0062;0061 05AE A8ED 0300 0315 0062;0061 05AE A8ED 0300 0315 0062;0061 05AE A8ED 0300 0315 0062;0061 05AE A8ED 0300 0315 0062;
+0061 0315 0300 05AE A8EE 0062;00E0 05AE A8EE 0315 0062;0061 05AE 0300 A8EE 0315 0062;00E0 05AE A8EE 0315 0062;0061 05AE 0300 A8EE 0315 0062;
+0061 A8EE 0315 0300 05AE 0062;0061 05AE A8EE 0300 0315 0062;0061 05AE A8EE 0300 0315 0062;0061 05AE A8EE 0300 0315 0062;0061 05AE A8EE 0300 0315 0062;
+0061 0315 0300 05AE A8EF 0062;00E0 05AE A8EF 0315 0062;0061 05AE 0300 A8EF 0315 0062;00E0 05AE A8EF 0315 0062;0061 05AE 0300 A8EF 0315 0062;
+0061 A8EF 0315 0300 05AE 0062;0061 05AE A8EF 0300 0315 0062;0061 05AE A8EF 0300 0315 0062;0061 05AE A8EF 0300 0315 0062;0061 05AE A8EF 0300 0315 0062;
+0061 0315 0300 05AE A8F0 0062;00E0 05AE A8F0 0315 0062;0061 05AE 0300 A8F0 0315 0062;00E0 05AE A8F0 0315 0062;0061 05AE 0300 A8F0 0315 0062;
+0061 A8F0 0315 0300 05AE 0062;0061 05AE A8F0 0300 0315 0062;0061 05AE A8F0 0300 0315 0062;0061 05AE A8F0 0300 0315 0062;0061 05AE A8F0 0300 0315 0062;
+0061 0315 0300 05AE A8F1 0062;00E0 05AE A8F1 0315 0062;0061 05AE 0300 A8F1 0315 0062;00E0 05AE A8F1 0315 0062;0061 05AE 0300 A8F1 0315 0062;
+0061 A8F1 0315 0300 05AE 0062;0061 05AE A8F1 0300 0315 0062;0061 05AE A8F1 0300 0315 0062;0061 05AE A8F1 0300 0315 0062;0061 05AE A8F1 0300 0315 0062;
 0061 059A 0316 302A A92B 0062;0061 302A 0316 A92B 059A 0062;0061 302A 0316 A92B 059A 0062;0061 302A 0316 A92B 059A 0062;0061 302A 0316 A92B 059A 0062;
 0061 A92B 059A 0316 302A 0062;0061 302A A92B 0316 059A 0062;0061 302A A92B 0316 059A 0062;0061 302A A92B 0316 059A 0062;0061 302A A92B 0316 059A 0062;
 0061 059A 0316 302A A92C 0062;0061 302A 0316 A92C 059A 0062;0061 302A 0316 A92C 059A 0062;0061 302A 0316 A92C 059A 0062;0061 302A 0316 A92C 059A 0062;
@@ -17550,6 +17819,30 @@
 0061 A92D 059A 0316 302A 0062;0061 302A A92D 0316 059A 0062;0061 302A A92D 0316 059A 0062;0061 302A A92D 0316 059A 0062;0061 302A A92D 0316 059A 0062;
 0061 05B0 094D 3099 A953 0062;0061 3099 094D A953 05B0 0062;0061 3099 094D A953 05B0 0062;0061 3099 094D A953 05B0 0062;0061 3099 094D A953 05B0 0062;
 0061 A953 05B0 094D 3099 0062;0061 3099 A953 094D 05B0 0062;0061 3099 A953 094D 05B0 0062;0061 3099 A953 094D 05B0 0062;0061 3099 A953 094D 05B0 0062;
+0061 3099 093C 0334 A9B3 0062;0061 0334 093C A9B3 3099 0062;0061 0334 093C A9B3 3099 0062;0061 0334 093C A9B3 3099 0062;0061 0334 093C A9B3 3099 0062;
+0061 A9B3 3099 093C 0334 0062;0061 0334 A9B3 093C 3099 0062;0061 0334 A9B3 093C 3099 0062;0061 0334 A9B3 093C 3099 0062;0061 0334 A9B3 093C 3099 0062;
+0061 05B0 094D 3099 A9C0 0062;0061 3099 094D A9C0 05B0 0062;0061 3099 094D A9C0 05B0 0062;0061 3099 094D A9C0 05B0 0062;0061 3099 094D A9C0 05B0 0062;
+0061 A9C0 05B0 094D 3099 0062;0061 3099 A9C0 094D 05B0 0062;0061 3099 A9C0 094D 05B0 0062;0061 3099 A9C0 094D 05B0 0062;0061 3099 A9C0 094D 05B0 0062;
+0061 0315 0300 05AE AAB0 0062;00E0 05AE AAB0 0315 0062;0061 05AE 0300 AAB0 0315 0062;00E0 05AE AAB0 0315 0062;0061 05AE 0300 AAB0 0315 0062;
+0061 AAB0 0315 0300 05AE 0062;0061 05AE AAB0 0300 0315 0062;0061 05AE AAB0 0300 0315 0062;0061 05AE AAB0 0300 0315 0062;0061 05AE AAB0 0300 0315 0062;
+0061 0315 0300 05AE AAB2 0062;00E0 05AE AAB2 0315 0062;0061 05AE 0300 AAB2 0315 0062;00E0 05AE AAB2 0315 0062;0061 05AE 0300 AAB2 0315 0062;
+0061 AAB2 0315 0300 05AE 0062;0061 05AE AAB2 0300 0315 0062;0061 05AE AAB2 0300 0315 0062;0061 05AE AAB2 0300 0315 0062;0061 05AE AAB2 0300 0315 0062;
+0061 0315 0300 05AE AAB3 0062;00E0 05AE AAB3 0315 0062;0061 05AE 0300 AAB3 0315 0062;00E0 05AE AAB3 0315 0062;0061 05AE 0300 AAB3 0315 0062;
+0061 AAB3 0315 0300 05AE 0062;0061 05AE AAB3 0300 0315 0062;0061 05AE AAB3 0300 0315 0062;0061 05AE AAB3 0300 0315 0062;0061 05AE AAB3 0300 0315 0062;
+0061 059A 0316 302A AAB4 0062;0061 302A 0316 AAB4 059A 0062;0061 302A 0316 AAB4 059A 0062;0061 302A 0316 AAB4 059A 0062;0061 302A 0316 AAB4 059A 0062;
+0061 AAB4 059A 0316 302A 0062;0061 302A AAB4 0316 059A 0062;0061 302A AAB4 0316 059A 0062;0061 302A AAB4 0316 059A 0062;0061 302A AAB4 0316 059A 0062;
+0061 0315 0300 05AE AAB7 0062;00E0 05AE AAB7 0315 0062;0061 05AE 0300 AAB7 0315 0062;00E0 05AE AAB7 0315 0062;0061 05AE 0300 AAB7 0315 0062;
+0061 AAB7 0315 0300 05AE 0062;0061 05AE AAB7 0300 0315 0062;0061 05AE AAB7 0300 0315 0062;0061 05AE AAB7 0300 0315 0062;0061 05AE AAB7 0300 0315 0062;
+0061 0315 0300 05AE AAB8 0062;00E0 05AE AAB8 0315 0062;0061 05AE 0300 AAB8 0315 0062;00E0 05AE AAB8 0315 0062;0061 05AE 0300 AAB8 0315 0062;
+0061 AAB8 0315 0300 05AE 0062;0061 05AE AAB8 0300 0315 0062;0061 05AE AAB8 0300 0315 0062;0061 05AE AAB8 0300 0315 0062;0061 05AE AAB8 0300 0315 0062;
+0061 0315 0300 05AE AABE 0062;00E0 05AE AABE 0315 0062;0061 05AE 0300 AABE 0315 0062;00E0 05AE AABE 0315 0062;0061 05AE 0300 AABE 0315 0062;
+0061 AABE 0315 0300 05AE 0062;0061 05AE AABE 0300 0315 0062;0061 05AE AABE 0300 0315 0062;0061 05AE AABE 0300 0315 0062;0061 05AE AABE 0300 0315 0062;
+0061 0315 0300 05AE AABF 0062;00E0 05AE AABF 0315 0062;0061 05AE 0300 AABF 0315 0062;00E0 05AE AABF 0315 0062;0061 05AE 0300 AABF 0315 0062;
+0061 AABF 0315 0300 05AE 0062;0061 05AE AABF 0300 0315 0062;0061 05AE AABF 0300 0315 0062;0061 05AE AABF 0300 0315 0062;0061 05AE AABF 0300 0315 0062;
+0061 0315 0300 05AE AAC1 0062;00E0 05AE AAC1 0315 0062;0061 05AE 0300 AAC1 0315 0062;00E0 05AE AAC1 0315 0062;0061 05AE 0300 AAC1 0315 0062;
+0061 AAC1 0315 0300 05AE 0062;0061 05AE AAC1 0300 0315 0062;0061 05AE AAC1 0300 0315 0062;0061 05AE AAC1 0300 0315 0062;0061 05AE AAC1 0300 0315 0062;
+0061 05B0 094D 3099 ABED 0062;0061 3099 094D ABED 05B0 0062;0061 3099 094D ABED 05B0 0062;0061 3099 094D ABED 05B0 0062;0061 3099 094D ABED 05B0 0062;
+0061 ABED 05B0 094D 3099 0062;0061 3099 ABED 094D 05B0 0062;0061 3099 ABED 094D 05B0 0062;0061 3099 ABED 094D 05B0 0062;0061 3099 ABED 094D 05B0 0062;
 0061 064B FB1E 05C2 FB1E 0062;0061 05C2 FB1E FB1E 064B 0062;0061 05C2 FB1E FB1E 064B 0062;0061 05C2 FB1E FB1E 064B 0062;0061 05C2 FB1E FB1E 064B 0062;
 0061 FB1E 064B FB1E 05C2 0062;0061 05C2 FB1E FB1E 064B 0062;0061 05C2 FB1E FB1E 064B 0062;0061 05C2 FB1E FB1E 064B 0062;0061 05C2 FB1E FB1E 064B 0062;
 0061 0315 0300 05AE FE20 0062;00E0 05AE FE20 0315 0062;0061 05AE 0300 FE20 0315 0062;00E0 05AE FE20 0315 0062;0061 05AE 0300 FE20 0315 0062;
@@ -17580,6 +17873,10 @@
 0061 10A3A 059A 0316 302A 0062;0061 302A 10A3A 0316 059A 0062;0061 302A 10A3A 0316 059A 0062;0061 302A 10A3A 0316 059A 0062;0061 302A 10A3A 0316 059A 0062;
 0061 05B0 094D 3099 10A3F 0062;0061 3099 094D 10A3F 05B0 0062;0061 3099 094D 10A3F 05B0 0062;0061 3099 094D 10A3F 05B0 0062;0061 3099 094D 10A3F 05B0 0062;
 0061 10A3F 05B0 094D 3099 0062;0061 3099 10A3F 094D 05B0 0062;0061 3099 10A3F 094D 05B0 0062;0061 3099 10A3F 094D 05B0 0062;0061 3099 10A3F 094D 05B0 0062;
+0061 05B0 094D 3099 110B9 0062;0061 3099 094D 110B9 05B0 0062;0061 3099 094D 110B9 05B0 0062;0061 3099 094D 110B9 05B0 0062;0061 3099 094D 110B9 05B0 0062;
+0061 110B9 05B0 094D 3099 0062;0061 3099 110B9 094D 05B0 0062;0061 3099 110B9 094D 05B0 0062;0061 3099 110B9 094D 05B0 0062;0061 3099 110B9 094D 05B0 0062;
+0061 3099 093C 0334 110BA 0062;0061 0334 093C 110BA 3099 0062;0061 0334 093C 110BA 3099 0062;0061 0334 093C 110BA 3099 0062;0061 0334 093C 110BA 3099 0062;
+0061 110BA 3099 093C 0334 0062;0061 0334 110BA 093C 3099 0062;0061 0334 110BA 093C 3099 0062;0061 0334 110BA 093C 3099 0062;0061 0334 110BA 093C 3099 0062;
 0061 302A 031B 1DCE 1D165 0062;0061 1DCE 031B 1D165 302A 0062;0061 1DCE 031B 1D165 302A 0062;0061 1DCE 031B 1D165 302A 0062;0061 1DCE 031B 1D165 302A 0062;
 0061 1D165 302A 031B 1DCE 0062;0061 1DCE 1D165 031B 302A 0062;0061 1DCE 1D165 031B 302A 0062;0061 1DCE 1D165 031B 302A 0062;0061 1DCE 1D165 031B 302A 0062;
 0061 302A 031B 1DCE 1D166 0062;0061 1DCE 031B 1D166 302A 0062;0061 1DCE 031B 1D166 302A 0062;0061 1DCE 031B 1D166 302A 0062;0061 1DCE 031B 1D166 302A 0062;
--- a/tests/uniwidth/test-uc_width2.sh
+++ b/tests/uniwidth/test-uc_width2.sh
@@ -51,8 +51,16 @@
 07A6..07B0	0
 07B1..07EA	A
 07EB..07F3	0
-07F4..0900	A
-0901..0902	0
+07F4..0815	A
+0816..0819	0
+081A		A
+081B..0823	0
+0824		A
+0825..0827	0
+0828		A
+0829..082D	0
+082E..08FF	A
+0900..0902	0
 0903..093B	A
 093C		0
 093D..0940	A
@@ -60,8 +68,8 @@
 0949..094C	A
 094D		0
 094E..0950	A
-0951..0954	0
-0955..0961	A
+0951..0955	0
+0956..0961	A
 0962..0963	0
 0964..0980	A
 0981		0
@@ -203,7 +211,9 @@
 1085..1086	0
 1087..108C	A
 108D		0
-108E..10FF	A
+108E..109C	A
+109D		0
+109E..10FF	A
 1100..115F	2
 1160..135E	A
 135F		0
@@ -239,7 +249,21 @@
 1939..193B	0
 193C..1A16	A
 1A17..1A18	0
-1A19..1AFF	A
+1A19..1A55	A
+1A56		0
+1A57		A
+1A58..1A5E	0
+1A5F		A
+1A60		0
+1A61		A
+1A62		0
+1A63..1A64	A
+1A65..1A6C	0
+1A6D..1A72	A
+1A73..1A7C	0
+1A7D..1A7E	A
+1A7F		0
+1A80..1AFF	A
 1B00..1B03	0
 1B04..1B33	A
 1B34		0
@@ -261,10 +285,18 @@
 1C2C..1C33	0
 1C34..1C35	A
 1C36..1C37	0
-1C38..1DBF	A
+1C38..1CCF	A
+1CD0..1CD2	0
+1CD3		A
+1CD4..1CE0	0
+1CE1		A
+1CE2..1CE8	0
+1CE9..1CEC	A
+1CED		0
+1CEE..1DBF	A
 1DC0..1DE6	0
-1DE7..1DFD	A
-1DFE..1DFF	0
+1DE7..1DFC	A
+1DFD..1DFF	0
 1E00..200A	A
 200B..200F	0
 2010..2029	A
@@ -279,7 +311,9 @@
 20D0..20F0	0
 20F1..2328	A
 2329..232A	2
-232B..2DDF	A
+232B..2CEE	A
+2CEF..2CF1	0
+2CF2..2DDF	A
 2DE0..2DFF	0
 2E00..2E7F	A
 2E80..3029	2
@@ -295,7 +329,9 @@
 A66F..A672	0
 A673..A67B	A
 A67C..A67D	0
-A67E..A801	A
+A67E..A6EF	A
+A6F0..A6F1	0
+A6F2..A801	A
 A802		0
 A803..A805	A
 A806		0
@@ -305,11 +341,21 @@
 A825..A826	0
 A827..A8C3	A
 A8C4		0
-A8C5..A925	A
+A8C5..A8DF	A
+A8E0..A8F1	0
+A8F2..A925	A
 A926..A92D	0
 A92E..A946	A
 A947..A951	0
-A952..AA28	A
+A952..A97F	A
+A980..A982	0
+A983..A9B2	A
+A9B3		0
+A9B4..A9B5	A
+A9B6..A9B9	0
+A9BA..A9BB	A
+A9BC		0
+A9BD..AA28	A
 AA29..AA2E	0
 AA2F..AA30	A
 AA31..AA32	0
@@ -319,7 +365,23 @@
 AA43		0
 AA44..AA4B	A
 AA4C		0
-AA4D..ABFF	A
+AA4D..AAAF	A
+AAB0		0
+AAB1		A
+AAB2..AAB4	0
+AAB5..AAB6	A
+AAB7..AAB8	0
+AAB9..AABD	A
+AABE..AABF	0
+AAC0		A
+AAC1		0
+AAC2..ABE4	A
+ABE5		0
+ABE6..ABE7	A
+ABE8		0
+ABE9..ABEC	A
+ABED		0
+ABEE..ABFF	A
 AC00..D7A3	2
 D7A4..F8FF	A
 F900..FAFF	2
@@ -350,7 +412,15 @@
 10A38..10A3A	0
 10A3B..10A3E	1
 10A3F		0
-10A40..1D166	1
+10A40..1107F	1
+11080..11081	0
+11082..110B2	1
+110B3..110B6	0
+110B7..110B8	1
+110B9..110BA	0
+110BB..110BC	1
+110BD		0
+110BE..1D166	1
 1D167..1D169	0
 1D16A..1D172	1
 1D173..1D182	0
@@ -361,10 +431,10 @@
 1D1AE..1D241	1
 1D242..1D244	0
 1D245..1FFFF	1
-20000..2A6D6	2
-2A6D7..2F7FF	1
-2F800..2FA1D	2
-2FA1E..E0000	1
+20000..2FFFD	2
+2FFFE..2FFFF	1
+30000..3FFFD	2
+3FFFE..E0000	1
 E0001		0
 E0002..E001F	1
 E0020..E007F	0