Kouhei Sutou 2019-05-18 06:58:04 +0900 (Sat, 18 May 2019) Revision: ca369e6480fa0439a7fe6dae2920bd2e98d71173 https://github.com/groonga/groonga/commit/ca369e6480fa0439a7fe6dae2920bd2e98d71173 Message: Add NormalizerNFKC121 and TokenFilterNFKC121 It's for supporting U+32FF SQUARE ERA NAME REIWA. Added files: lib/nfkc121.c test/command/suite/normalizers/nfkc121/cyrillic.expected test/command/suite/normalizers/nfkc121/cyrillic.test test/command/suite/normalizers/nfkc121/emoji.expected test/command/suite/normalizers/nfkc121/emoji.test test/command/suite/normalizers/nfkc121/include_removed_source_location_blank.expected test/command/suite/normalizers/nfkc121/include_removed_source_location_blank.test test/command/suite/normalizers/nfkc121/mix/unify_katakana_v_sounds_and_kana.expected test/command/suite/normalizers/nfkc121/mix/unify_katakana_v_sounds_and_kana.test test/command/suite/normalizers/nfkc121/reiwa.expected test/command/suite/normalizers/nfkc121/reiwa.test test/command/suite/normalizers/nfkc121/remove_blank.expected test/command/suite/normalizers/nfkc121/remove_blank.test test/command/suite/normalizers/nfkc121/report_source_offset.expected test/command/suite/normalizers/nfkc121/report_source_offset.test test/command/suite/normalizers/nfkc121/unify_hyphen.expected test/command/suite/normalizers/nfkc121/unify_hyphen.test test/command/suite/normalizers/nfkc121/unify_hyphen_and_prolonged_sound_mark.expected test/command/suite/normalizers/nfkc121/unify_hyphen_and_prolonged_sound_mark.test test/command/suite/normalizers/nfkc121/unify_kana.expected test/command/suite/normalizers/nfkc121/unify_kana.test test/command/suite/normalizers/nfkc121/unify_kana_case_hiragana.expected test/command/suite/normalizers/nfkc121/unify_kana_case_hiragana.test test/command/suite/normalizers/nfkc121/unify_kana_case_katakana.expected test/command/suite/normalizers/nfkc121/unify_kana_case_katakana.test test/command/suite/normalizers/nfkc121/unify_kana_voiced_sound_mark_hiragana.expected test/command/suite/normalizers/nfkc121/unify_kana_voiced_sound_mark_hiragana.test test/command/suite/normalizers/nfkc121/unify_kana_voiced_sound_mark_katakana.expected test/command/suite/normalizers/nfkc121/unify_kana_voiced_sound_mark_katakana.test test/command/suite/normalizers/nfkc121/unify_katakana_bu_sound.expected test/command/suite/normalizers/nfkc121/unify_katakana_bu_sound.test test/command/suite/normalizers/nfkc121/unify_katakana_v_sounds.expected test/command/suite/normalizers/nfkc121/unify_katakana_v_sounds.test test/command/suite/normalizers/nfkc121/unify_middle_dot.expected test/command/suite/normalizers/nfkc121/unify_middle_dot.test test/command/suite/normalizers/nfkc121/unify_prolonged_sound_mark.expected test/command/suite/normalizers/nfkc121/unify_prolonged_sound_mark.test test/command/suite/normalizers/nfkc121/unify_to_romaji/hiragana/a.expected test/command/suite/normalizers/nfkc121/unify_to_romaji/hiragana/a.test test/command/suite/normalizers/nfkc121/unify_to_romaji/hiragana/ba.expected test/command/suite/normalizers/nfkc121/unify_to_romaji/hiragana/ba.test test/command/suite/normalizers/nfkc121/unify_to_romaji/hiragana/da.expected test/command/suite/normalizers/nfkc121/unify_to_romaji/hiragana/da.test test/command/suite/normalizers/nfkc121/unify_to_romaji/hiragana/etc.expected test/command/suite/normalizers/nfkc121/unify_to_romaji/hiragana/etc.test test/command/suite/normalizers/nfkc121/unify_to_romaji/hiragana/ga.expected test/command/suite/normalizers/nfkc121/unify_to_romaji/hiragana/ga.test test/command/suite/normalizers/nfkc121/unify_to_romaji/hiragana/ha.expected test/command/suite/normalizers/nfkc121/unify_to_romaji/hiragana/ha.test test/command/suite/normalizers/nfkc121/unify_to_romaji/hiragana/ka.expected test/command/suite/normalizers/nfkc121/unify_to_romaji/hiragana/ka.test test/command/suite/normalizers/nfkc121/unify_to_romaji/hiragana/ma.expected test/command/suite/normalizers/nfkc121/unify_to_romaji/hiragana/ma.test test/command/suite/normalizers/nfkc121/unify_to_romaji/hiragana/n.expected test/command/suite/normalizers/nfkc121/unify_to_romaji/hiragana/n.test test/command/suite/normalizers/nfkc121/unify_to_romaji/hiragana/na.expected test/command/suite/normalizers/nfkc121/unify_to_romaji/hiragana/na.test test/command/suite/normalizers/nfkc121/unify_to_romaji/hiragana/pa.expected test/command/suite/normalizers/nfkc121/unify_to_romaji/hiragana/pa.test test/command/suite/normalizers/nfkc121/unify_to_romaji/hiragana/ra.expected test/command/suite/normalizers/nfkc121/unify_to_romaji/hiragana/ra.test test/command/suite/normalizers/nfkc121/unify_to_romaji/hiragana/sa.expected test/command/suite/normalizers/nfkc121/unify_to_romaji/hiragana/sa.test test/command/suite/normalizers/nfkc121/unify_to_romaji/hiragana/ta.expected test/command/suite/normalizers/nfkc121/unify_to_romaji/hiragana/ta.test test/command/suite/normalizers/nfkc121/unify_to_romaji/hiragana/wa.expected test/command/suite/normalizers/nfkc121/unify_to_romaji/hiragana/wa.test test/command/suite/normalizers/nfkc121/unify_to_romaji/hiragana/xtsu.expected test/command/suite/normalizers/nfkc121/unify_to_romaji/hiragana/xtsu.test test/command/suite/normalizers/nfkc121/unify_to_romaji/hiragana/ya.expected test/command/suite/normalizers/nfkc121/unify_to_romaji/hiragana/ya.test test/command/suite/normalizers/nfkc121/unify_to_romaji/hiragana/za.expected test/command/suite/normalizers/nfkc121/unify_to_romaji/hiragana/za.test test/command/suite/normalizers/nfkc121/unify_to_romaji/katakana/a.expected test/command/suite/normalizers/nfkc121/unify_to_romaji/katakana/a.test test/command/suite/normalizers/nfkc121/unify_to_romaji/katakana/ba.expected test/command/suite/normalizers/nfkc121/unify_to_romaji/katakana/ba.test test/command/suite/normalizers/nfkc121/unify_to_romaji/katakana/da.expected test/command/suite/normalizers/nfkc121/unify_to_romaji/katakana/da.test test/command/suite/normalizers/nfkc121/unify_to_romaji/katakana/etc.expected test/command/suite/normalizers/nfkc121/unify_to_romaji/katakana/etc.test test/command/suite/normalizers/nfkc121/unify_to_romaji/katakana/ga.expected test/command/suite/normalizers/nfkc121/unify_to_romaji/katakana/ga.test test/command/suite/normalizers/nfkc121/unify_to_romaji/katakana/ha.expected test/command/suite/normalizers/nfkc121/unify_to_romaji/katakana/ha.test test/command/suite/normalizers/nfkc121/unify_to_romaji/katakana/ka.expected test/command/suite/normalizers/nfkc121/unify_to_romaji/katakana/ka.test test/command/suite/normalizers/nfkc121/unify_to_romaji/katakana/ma.expected test/command/suite/normalizers/nfkc121/unify_to_romaji/katakana/ma.test test/command/suite/normalizers/nfkc121/unify_to_romaji/katakana/n.expected test/command/suite/normalizers/nfkc121/unify_to_romaji/katakana/n.test test/command/suite/normalizers/nfkc121/unify_to_romaji/katakana/na.expected test/command/suite/normalizers/nfkc121/unify_to_romaji/katakana/na.test test/command/suite/normalizers/nfkc121/unify_to_romaji/katakana/pa.expected test/command/suite/normalizers/nfkc121/unify_to_romaji/katakana/pa.test test/command/suite/normalizers/nfkc121/unify_to_romaji/katakana/ra.expected test/command/suite/normalizers/nfkc121/unify_to_romaji/katakana/ra.test test/command/suite/normalizers/nfkc121/unify_to_romaji/katakana/sa.expected test/command/suite/normalizers/nfkc121/unify_to_romaji/katakana/sa.test test/command/suite/normalizers/nfkc121/unify_to_romaji/katakana/ta.expected test/command/suite/normalizers/nfkc121/unify_to_romaji/katakana/ta.test test/command/suite/normalizers/nfkc121/unify_to_romaji/katakana/wa.expected test/command/suite/normalizers/nfkc121/unify_to_romaji/katakana/wa.test test/command/suite/normalizers/nfkc121/unify_to_romaji/katakana/xtsu.expected test/command/suite/normalizers/nfkc121/unify_to_romaji/katakana/xtsu.test test/command/suite/normalizers/nfkc121/unify_to_romaji/katakana/ya.expected test/command/suite/normalizers/nfkc121/unify_to_romaji/katakana/ya.test test/command/suite/normalizers/nfkc121/unify_to_romaji/katakana/za.expected test/command/suite/normalizers/nfkc121/unify_to_romaji/katakana/za.test test/command/suite/normalizers/nfkc121/unify_to_romaji/mixed.expected test/command/suite/normalizers/nfkc121/unify_to_romaji/mixed.test test/command/suite/token_filters/nfkc121/reiwa.expected test/command/suite/token_filters/nfkc121/reiwa.test test/command/suite/token_filters/nfkc121/unify_kana.expected test/command/suite/token_filters/nfkc121/unify_kana.test Modified files: lib/Makefile.am lib/c_sources.am lib/grn_nfkc.h lib/nfkc.c lib/nfkc.rb lib/normalizer.c lib/token_filters.c test/command/suite/normalizer_list/default.expected test/command/suite/schema/plugins.expected test/command/suite/schema/tables/columns/compress/lz4.expected test/command/suite/schema/tables/columns/compress/zlib.expected test/command/suite/schema/tables/columns/compress/zstd.expected test/command/suite/schema/tables/columns/type/index_large.expected test/command/suite/schema/tables/columns/type/index_medium.expected test/command/suite/schema/tables/columns/type/index_small.expected test/command/suite/schema/tables/columns/type/scalar.expected test/command/suite/schema/tables/columns/type/vector.expected test/command/suite/schema/tables/normalizer.expected test/command/suite/schema/tables/normalizer_with_options.expected test/command/suite/schema/tables/token_filters.expected test/command/suite/schema/tables/token_filters_with_options.expected test/command/suite/schema/tables/tokenizer.expected test/command/suite/schema/tables/tokenizer_with_options.expected test/command/suite/schema/tables/type/array.expected test/command/suite/schema/tables/type/hash_table.expected test/command/suite/schema/tables/value_type/reference.expected test/command/suite/schema/tables/value_type/type.expected Modified: lib/Makefile.am (+2 -1) =================================================================== --- lib/Makefile.am 2019-05-18 05:37:33 +0900 (a3bf68471) +++ lib/Makefile.am 2019-05-18 06:58:04 +0900 (988dbaaab) @@ -139,4 +139,5 @@ tmp/icu-$(ICU_VERSION)/local/: icu4c-$(ICU_VERSION)-src.tgz update-nfkc: tmp/icu-$(ICU_VERSION)/local/ ICU_HOME=$$PWD/tmp/icu-$(ICU_VERSION)/local \ - $(RUBY) nfkc.rb + $(RUBY) $(srcdir)/nfkc.rb \ + --source-directory=$(srcdir) Modified: lib/c_sources.am (+1 -0) =================================================================== --- lib/c_sources.am 2019-05-18 05:37:33 +0900 (1c84f4979) +++ lib/c_sources.am 2019-05-18 06:58:04 +0900 (14247a911) @@ -61,6 +61,7 @@ libgroonga_c_sources = \ grn_nfkc.h \ nfkc50.c \ nfkc100.c \ + nfkc121.c \ normalizer.c \ grn_normalizer.h \ obj.c \ Modified: lib/grn_nfkc.h (+10 -0) =================================================================== --- lib/grn_nfkc.h 2019-05-18 05:37:33 +0900 (41b6e198d) +++ lib/grn_nfkc.h 2019-05-18 06:58:04 +0900 (e263b3083) @@ -49,6 +49,9 @@ typedef struct { grn_bool remove_blank; } grn_nfkc_normalize_options; +typedef void (*grn_nfkc_normalize_options_init_func)(grn_ctx *ctx, + grn_nfkc_normalize_options *options); + const char *grn_nfkc_decompose(const unsigned char *utf8); const char *grn_nfkc_compose(const unsigned char *prefix_utf8, const unsigned char *suffix_utf8); @@ -63,6 +66,11 @@ const char *grn_nfkc100_decompose(const unsigned char *utf8); const char *grn_nfkc100_compose(const unsigned char *prefix_utf8, const unsigned char *suffix_utf8); +GRN_API grn_char_type grn_nfkc121_char_type(const unsigned char *utf8); +const char *grn_nfkc121_decompose(const unsigned char *utf8); +const char *grn_nfkc121_compose(const unsigned char *prefix_utf8, + const unsigned char *suffix_utf8); + void grn_nfkc_normalize_options_init(grn_ctx *ctx, grn_nfkc_normalize_options *options, grn_nfkc_char_type_func char_type_func, @@ -70,6 +78,8 @@ void grn_nfkc_normalize_options_init(grn_ctx *ctx, grn_nfkc_compose_func compose_func); void grn_nfkc100_normalize_options_init(grn_ctx *ctx, grn_nfkc_normalize_options *options); +void grn_nfkc121_normalize_options_init(grn_ctx *ctx, + grn_nfkc_normalize_options *options); grn_rc grn_nfkc_normalize_options_apply(grn_ctx *ctx, grn_nfkc_normalize_options *options, grn_obj *raw_options); Modified: lib/nfkc.c (+11 -0) =================================================================== --- lib/nfkc.c 2019-05-18 05:37:33 +0900 (9ac8ffcd7) +++ lib/nfkc.c 2019-05-18 06:58:04 +0900 (bbb81dd75) @@ -78,6 +78,17 @@ grn_nfkc100_normalize_options_init(grn_ctx *ctx, grn_nfkc100_compose); } +void +grn_nfkc121_normalize_options_init(grn_ctx *ctx, + grn_nfkc_normalize_options *options) +{ + grn_nfkc_normalize_options_init(ctx, + options, + grn_nfkc121_char_type, + grn_nfkc121_decompose, + grn_nfkc121_compose); +} + grn_rc grn_nfkc_normalize_options_apply(grn_ctx *ctx, grn_nfkc_normalize_options *options, Modified: lib/nfkc.rb (+11 -5) =================================================================== --- lib/nfkc.rb 2019-05-18 05:37:33 +0900 (e73e71689) +++ lib/nfkc.rb 2019-05-18 06:58:04 +0900 (7f79146d0) @@ -1,7 +1,7 @@ #!/usr/bin/env ruby -# -*- coding: utf-8 -*- # # Copyright(C) 2010-2018 Brazil +# Copyright(C) 2019 Kouhei Sutou <kou****@clear*****> # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -16,6 +16,8 @@ # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +require "English" + CUSTOM_RULE_PATH = 'nfkc-custom-rules.txt' class SwitchGenerator @@ -832,8 +834,11 @@ end ######## main ####### generator_class = TableGenerator -ARGV.each{|arg| +source_directory = "." +ARGV.each do |arg| case arg + when /\A--source-directory=/ + source_directory = $POSTMATCH when /-*c/i $case_sensitive = true when /-*s/i @@ -843,7 +848,7 @@ ARGV.each{|arg| when "--impl=table" generator_class = TableGenerator end -} +end icu_home = ENV["ICU_HOME"] || "/tmp/local" STDERR.puts("compiling icudump on #{icu_home}") @@ -854,7 +859,7 @@ system("cc", "-o", "icudump", "-I#{icu_home}/include", "-L#{icu_home}/lib", - "icudump.c", + File.join(source_directory, "icudump.c"), "-licuuc", "-licui18n", "-licudata") or exit(false) @@ -873,7 +878,8 @@ decompose_map = create_decompose_map() STDERR.puts('creating compose map..') compose_map = create_compose_map(decompose_map) -File.open("nfkc#{unicode_version}.c", "w") do |output| +output_path = File.join(source_directory, "nfkc#{unicode_version}.c") +File.open(output_path, "w") do |output| output.puts(<<-HEADER) /* -*- c-basic-offset: 2 -*- */ /* Added: lib/nfkc121.c (+81747 -0) 100644 =================================================================== --- /dev/null +++ lib/nfkc121.c 2019-05-18 06:58:04 +0900 (b523de213) @@ -0,0 +1,81747 @@ +/* -*- c-basic-offset: 2 -*- */ +/* + Copyright(C) 2019 Brazil + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License version 2.1 as published by the Free Software Foundation. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +/* + Don't edit this file by hand. it generated automatically by nfkc.rb. +*/ + +#include "grn.h" +#include "grn_nfkc.h" +#include <groonga/nfkc.h> + +#ifdef GRN_WITH_NFKC + +static grn_char_type grn_nfkc121_char_type_table_[] = { + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL +}; + +static grn_char_type grn_nfkc121_char_type_table_c2[] = { + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_EMOJI, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_EMOJI, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_SYMBOL, GRN_CHAR_ALPHA, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_DIGIT, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_SYMBOL +}; + +static grn_char_type grn_nfkc121_char_type_table_c3[] = { + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_SYMBOL, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_SYMBOL, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA +}; + +static grn_char_type grn_nfkc121_char_type_table_cb[] = { + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_ALPHA, GRN_CHAR_SYMBOL, GRN_CHAR_ALPHA, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL +}; + +static grn_char_type grn_nfkc121_char_type_table_cd[] = { + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_SYMBOL, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_SYMBOL, GRN_CHAR_ALPHA +}; + +static grn_char_type grn_nfkc121_char_type_table_ce[] = { + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_ALPHA, GRN_CHAR_SYMBOL, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, + GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA +}; + +static grn_char_type grn_nfkc121_char_type_table_cf[] = { + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_SYMBOL, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA +}; + +static grn_char_type grn_nfkc121_char_type_table_d2[] = { + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA +}; + +static grn_char_type grn_nfkc121_char_type_table_d4[] = { + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA +}; + +static grn_char_type grn_nfkc121_char_type_table_d5[] = { + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA +}; + +static grn_char_type grn_nfkc121_char_type_table_d6[] = { + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL +}; + +static grn_char_type grn_nfkc121_char_type_table_d7[] = { + GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL +}; + +static grn_char_type grn_nfkc121_char_type_table_d8[] = { + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA +}; + +static grn_char_type grn_nfkc121_char_type_table_d9[] = { + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA +}; + +static grn_char_type grn_nfkc121_char_type_table_db[] = { + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_SYMBOL, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_ALPHA +}; + +static grn_char_type grn_nfkc121_char_type_table_dc[] = { + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA +}; + +static grn_char_type grn_nfkc121_char_type_table_de[] = { + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_ALPHA +}; + +static grn_char_type grn_nfkc121_char_type_table_df[] = { + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL +}; + +static grn_char_type grn_nfkc121_char_type_table_e0a0[] = { + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL +}; + +static grn_char_type grn_nfkc121_char_type_table_e0a1[] = { + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA +}; + +static grn_char_type grn_nfkc121_char_type_table_e0a2[] = { + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA +}; + +static grn_char_type grn_nfkc121_char_type_table_e0a4[] = { + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_ALPHA +}; + +static grn_char_type grn_nfkc121_char_type_table_e0a5[] = { + GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_SYMBOL, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA +}; + +static grn_char_type grn_nfkc121_char_type_table_e0a6[] = { + GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA +}; + +static grn_char_type grn_nfkc121_char_type_table_e0a7[] = { + GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_ALPHA, GRN_CHAR_SYMBOL +}; + +static grn_char_type grn_nfkc121_char_type_table_e0a8[] = { + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA +}; + +static grn_char_type grn_nfkc121_char_type_table_e0a9[] = { + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL +}; + +static grn_char_type grn_nfkc121_char_type_table_e0aa[] = { + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_ALPHA +}; + +static grn_char_type grn_nfkc121_char_type_table_e0ab[] = { + GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_ALPHA +}; + +static grn_char_type grn_nfkc121_char_type_table_e0ac[] = { + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_ALPHA +}; + +static grn_char_type grn_nfkc121_char_type_table_e0ad[] = { + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_SYMBOL, GRN_CHAR_ALPHA, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT +}; + +static grn_char_type grn_nfkc121_char_type_table_e0ae[] = { + GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA +}; + +static grn_char_type grn_nfkc121_char_type_table_e0af[] = { + GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL +}; + +static grn_char_type grn_nfkc121_char_type_table_e0b0[] = { + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_ALPHA +}; + +static grn_char_type grn_nfkc121_char_type_table_e0b1[] = { + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_SYMBOL +}; + +static grn_char_type grn_nfkc121_char_type_table_e0b2[] = { + GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA +}; + +static grn_char_type grn_nfkc121_char_type_table_e0b3[] = { + GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA +}; + +static grn_char_type grn_nfkc121_char_type_table_e0b4[] = { + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_ALPHA +}; + +static grn_char_type grn_nfkc121_char_type_table_e0b5[] = { + GRN_CHAR_ALPHA, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_SYMBOL, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA +}; + +static grn_char_type grn_nfkc121_char_type_table_e0b6[] = { + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, + GRN_CHAR_ALPHA +}; + +static grn_char_type grn_nfkc121_char_type_table_e0b7[] = { + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL +}; + +static grn_char_type grn_nfkc121_char_type_table_e0b8[] = { + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL +}; + +static grn_char_type grn_nfkc121_char_type_table_e0b9[] = { + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL +}; + +static grn_char_type grn_nfkc121_char_type_table_e0ba[] = { + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA +}; + +static grn_char_type grn_nfkc121_char_type_table_e0bb[] = { + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA +}; + +static grn_char_type grn_nfkc121_char_type_table_e0bc[] = { + GRN_CHAR_ALPHA, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, + GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL +}; + +static grn_char_type grn_nfkc121_char_type_table_e0bd[] = { + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA +}; + +static grn_char_type grn_nfkc121_char_type_table_e0be[] = { + GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL +}; + +static grn_char_type grn_nfkc121_char_type_table_e0bf[] = { + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL +}; + +static grn_char_type grn_nfkc121_char_type_table_e180[] = { + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA +}; + +static grn_char_type grn_nfkc121_char_type_table_e181[] = { + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA +}; + +static grn_char_type grn_nfkc121_char_type_table_e182[] = { + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA +}; + +static grn_char_type grn_nfkc121_char_type_table_e183[] = { + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_SYMBOL, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA +}; + +static grn_char_type grn_nfkc121_char_type_table_e189[] = { + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, + GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA +}; + +static grn_char_type grn_nfkc121_char_type_table_e18a[] = { + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA +}; + +static grn_char_type grn_nfkc121_char_type_table_e18b[] = { + GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA +}; + +static grn_char_type grn_nfkc121_char_type_table_e18c[] = { + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA +}; + +static grn_char_type grn_nfkc121_char_type_table_e18d[] = { + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT +}; + +static grn_char_type grn_nfkc121_char_type_table_e18e[] = { + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA +}; + +static grn_char_type grn_nfkc121_char_type_table_e18f[] = { + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA +}; + +static grn_char_type grn_nfkc121_char_type_table_e190[] = { + GRN_CHAR_SYMBOL, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA +}; + +static grn_char_type grn_nfkc121_char_type_table_e199[] = { + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA +}; + +static grn_char_type grn_nfkc121_char_type_table_e19a[] = { + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA +}; + +static grn_char_type grn_nfkc121_char_type_table_e19b[] = { + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA +}; + +static grn_char_type grn_nfkc121_char_type_table_e19c[] = { + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL +}; + +static grn_char_type grn_nfkc121_char_type_table_e19d[] = { + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA +}; + +static grn_char_type grn_nfkc121_char_type_table_e19f[] = { + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_ALPHA, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT +}; + +static grn_char_type grn_nfkc121_char_type_table_e1a0[] = { + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA +}; + +static grn_char_type grn_nfkc121_char_type_table_e1a2[] = { + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA +}; + +static grn_char_type grn_nfkc121_char_type_table_e1a5[] = { + GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA +}; + +static grn_char_type grn_nfkc121_char_type_table_e1a6[] = { + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA +}; + +static grn_char_type grn_nfkc121_char_type_table_e1a7[] = { + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL +}; + +static grn_char_type grn_nfkc121_char_type_table_e1a8[] = { + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA +}; + +static grn_char_type grn_nfkc121_char_type_table_e1aa[] = { + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_ALPHA, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL +}; + +static grn_char_type grn_nfkc121_char_type_table_e1ad[] = { + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL +}; + +static grn_char_type grn_nfkc121_char_type_table_e1ae[] = { + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA +}; + +static grn_char_type grn_nfkc121_char_type_table_e1af[] = { + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL +}; + +static grn_char_type grn_nfkc121_char_type_table_e1b0[] = { + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL +}; + +static grn_char_type grn_nfkc121_char_type_table_e1b1[] = { + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL +}; + +static grn_char_type grn_nfkc121_char_type_table_e1b2[] = { + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA +}; + +static grn_char_type grn_nfkc121_char_type_table_e1b3[] = { + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA +}; + +static grn_char_type grn_nfkc121_char_type_table_e1bc[] = { + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA +}; + +static grn_char_type grn_nfkc121_char_type_table_e1bd[] = { + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA +}; + +static grn_char_type grn_nfkc121_char_type_table_e1be[] = { + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_SYMBOL, GRN_CHAR_ALPHA, GRN_CHAR_SYMBOL +}; + +static grn_char_type grn_nfkc121_char_type_table_e1bf[] = { + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL +}; + +static grn_char_type grn_nfkc121_char_type_table_e280[] = { + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_EMOJI, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL +}; + +static grn_char_type grn_nfkc121_char_type_table_e281[] = { + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_EMOJI, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_DIGIT, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_ALPHA +}; + +static grn_char_type grn_nfkc121_char_type_table_e282[] = { + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL +}; + +static grn_char_type grn_nfkc121_char_type_table_e284[] = { + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_ALPHA, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_ALPHA, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_SYMBOL, GRN_CHAR_ALPHA, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_EMOJI, GRN_CHAR_SYMBOL, GRN_CHAR_ALPHA, GRN_CHAR_SYMBOL, GRN_CHAR_ALPHA, GRN_CHAR_SYMBOL, + GRN_CHAR_ALPHA, GRN_CHAR_SYMBOL, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_SYMBOL, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA +}; + +static grn_char_type grn_nfkc121_char_type_table_e285[] = { + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_ALPHA, GRN_CHAR_SYMBOL, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT +}; + +static grn_char_type grn_nfkc121_char_type_table_e286[] = { + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, + GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL +}; + +static grn_char_type grn_nfkc121_char_type_table_e28c[] = { + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_EMOJI, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL +}; + +static grn_char_type grn_nfkc121_char_type_table_e28f[] = { + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_EMOJI, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, + GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL +}; + +static grn_char_type grn_nfkc121_char_type_table_e291[] = { + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT +}; + +static grn_char_type grn_nfkc121_char_type_table_e292[] = { + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL +}; + +static grn_char_type grn_nfkc121_char_type_table_e293[] = { + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_EMOJI, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT +}; + +static grn_char_type grn_nfkc121_char_type_table_e296[] = { + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_EMOJI, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL +}; + +static grn_char_type grn_nfkc121_char_type_table_e297[] = { + GRN_CHAR_EMOJI, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_SYMBOL +}; + +static grn_char_type grn_nfkc121_char_type_table_e298[] = { + GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_EMOJI, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_EMOJI, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_EMOJI, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_EMOJI, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_EMOJI, GRN_CHAR_SYMBOL, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_EMOJI, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_EMOJI, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL +}; + +static grn_char_type grn_nfkc121_char_type_table_e299[] = { + GRN_CHAR_EMOJI, GRN_CHAR_SYMBOL, GRN_CHAR_EMOJI, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, + GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_EMOJI, + GRN_CHAR_EMOJI, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_EMOJI, GRN_CHAR_SYMBOL, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_SYMBOL, + GRN_CHAR_EMOJI, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_EMOJI, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI +}; + +static grn_char_type grn_nfkc121_char_type_table_e29a[] = { + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, + GRN_CHAR_SYMBOL, GRN_CHAR_EMOJI, GRN_CHAR_SYMBOL, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_SYMBOL +}; + +static grn_char_type grn_nfkc121_char_type_table_e29b[] = { + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_EMOJI, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, + GRN_CHAR_SYMBOL, GRN_CHAR_EMOJI, GRN_CHAR_SYMBOL, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_SYMBOL, GRN_CHAR_EMOJI, + GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_EMOJI, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL +}; + +static grn_char_type grn_nfkc121_char_type_table_e29c[] = { + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_EMOJI, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_EMOJI, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_SYMBOL, GRN_CHAR_EMOJI, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_EMOJI, GRN_CHAR_SYMBOL, GRN_CHAR_EMOJI, GRN_CHAR_SYMBOL, GRN_CHAR_EMOJI, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_EMOJI, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_EMOJI, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_EMOJI, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL +}; + +static grn_char_type grn_nfkc121_char_type_table_e29d[] = { + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_EMOJI, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_EMOJI, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_EMOJI, GRN_CHAR_SYMBOL, GRN_CHAR_EMOJI, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_SYMBOL, GRN_CHAR_EMOJI, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT +}; + +static grn_char_type grn_nfkc121_char_type_table_e29e[] = { + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_SYMBOL, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_EMOJI, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_EMOJI, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_EMOJI +}; + +static grn_char_type grn_nfkc121_char_type_table_e2a4[] = { + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL +}; + +static grn_char_type grn_nfkc121_char_type_table_e2ac[] = { + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL +}; + +static grn_char_type grn_nfkc121_char_type_table_e2ad[] = { + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_EMOJI, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_EMOJI, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL +}; + +static grn_char_type grn_nfkc121_char_type_table_e2ae[] = { + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL +}; + +static grn_char_type grn_nfkc121_char_type_table_e2b0[] = { + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA +}; + +static grn_char_type grn_nfkc121_char_type_table_e2b1[] = { + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA +}; + +static grn_char_type grn_nfkc121_char_type_table_e2b3[] = { + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_DIGIT, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL +}; + +static grn_char_type grn_nfkc121_char_type_table_e2b4[] = { + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA +}; + +static grn_char_type grn_nfkc121_char_type_table_e2b5[] = { + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, + GRN_CHAR_SYMBOL +}; + +static grn_char_type grn_nfkc121_char_type_table_e2b6[] = { + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA +}; + +static grn_char_type grn_nfkc121_char_type_table_e2b7[] = { + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA +}; + +static grn_char_type grn_nfkc121_char_type_table_e2b8[] = { + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_ALPHA, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL +}; + +static grn_char_type grn_nfkc121_char_type_table_e2bf[] = { + GRN_CHAR_KANJI, GRN_CHAR_KANJI, GRN_CHAR_KANJI, GRN_CHAR_KANJI, GRN_CHAR_KANJI, GRN_CHAR_KANJI, GRN_CHAR_KANJI, GRN_CHAR_KANJI, + GRN_CHAR_KANJI, GRN_CHAR_KANJI, GRN_CHAR_KANJI, GRN_CHAR_KANJI, GRN_CHAR_KANJI, GRN_CHAR_KANJI, GRN_CHAR_KANJI, GRN_CHAR_KANJI, + GRN_CHAR_KANJI, GRN_CHAR_KANJI, GRN_CHAR_KANJI, GRN_CHAR_KANJI, GRN_CHAR_KANJI, GRN_CHAR_KANJI, GRN_CHAR_KANJI, GRN_CHAR_KANJI, + GRN_CHAR_KANJI, GRN_CHAR_KANJI, GRN_CHAR_KANJI, GRN_CHAR_KANJI, GRN_CHAR_KANJI, GRN_CHAR_KANJI, GRN_CHAR_KANJI, GRN_CHAR_KANJI, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL +}; + +static grn_char_type grn_nfkc121_char_type_table_e380[] = { + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_EMOJI, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_EMOJI, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL +}; + +static grn_char_type grn_nfkc121_char_type_table_e382[] = { + GRN_CHAR_HIRAGANA, GRN_CHAR_HIRAGANA, GRN_CHAR_HIRAGANA, GRN_CHAR_HIRAGANA, GRN_CHAR_HIRAGANA, GRN_CHAR_HIRAGANA, GRN_CHAR_HIRAGANA, GRN_CHAR_HIRAGANA, + GRN_CHAR_HIRAGANA, GRN_CHAR_HIRAGANA, GRN_CHAR_HIRAGANA, GRN_CHAR_HIRAGANA, GRN_CHAR_HIRAGANA, GRN_CHAR_HIRAGANA, GRN_CHAR_HIRAGANA, GRN_CHAR_HIRAGANA, + GRN_CHAR_HIRAGANA, GRN_CHAR_HIRAGANA, GRN_CHAR_HIRAGANA, GRN_CHAR_HIRAGANA, GRN_CHAR_HIRAGANA, GRN_CHAR_HIRAGANA, GRN_CHAR_HIRAGANA, GRN_CHAR_HIRAGANA, + GRN_CHAR_HIRAGANA, GRN_CHAR_HIRAGANA, GRN_CHAR_HIRAGANA, GRN_CHAR_HIRAGANA, GRN_CHAR_HIRAGANA, GRN_CHAR_HIRAGANA, GRN_CHAR_HIRAGANA, GRN_CHAR_HIRAGANA, + GRN_CHAR_KATAKANA, GRN_CHAR_KATAKANA, GRN_CHAR_KATAKANA, GRN_CHAR_KATAKANA, GRN_CHAR_KATAKANA, GRN_CHAR_KATAKANA, GRN_CHAR_KATAKANA, GRN_CHAR_KATAKANA, + GRN_CHAR_KATAKANA, GRN_CHAR_KATAKANA, GRN_CHAR_KATAKANA, GRN_CHAR_KATAKANA, GRN_CHAR_KATAKANA, GRN_CHAR_KATAKANA, GRN_CHAR_KATAKANA, GRN_CHAR_KATAKANA, + GRN_CHAR_KATAKANA, GRN_CHAR_KATAKANA, GRN_CHAR_KATAKANA, GRN_CHAR_KATAKANA, GRN_CHAR_KATAKANA, GRN_CHAR_KATAKANA, GRN_CHAR_KATAKANA, GRN_CHAR_KATAKANA, + GRN_CHAR_KATAKANA, GRN_CHAR_KATAKANA, GRN_CHAR_KATAKANA, GRN_CHAR_KATAKANA, GRN_CHAR_KATAKANA, GRN_CHAR_KATAKANA, GRN_CHAR_KATAKANA, GRN_CHAR_KATAKANA +}; + +static grn_char_type grn_nfkc121_char_type_table_e387[] = { + GRN_CHAR_KANJI, GRN_CHAR_KANJI, GRN_CHAR_KANJI, GRN_CHAR_KANJI, GRN_CHAR_KANJI, GRN_CHAR_KANJI, GRN_CHAR_KANJI, GRN_CHAR_KANJI, + GRN_CHAR_KANJI, GRN_CHAR_KANJI, GRN_CHAR_KANJI, GRN_CHAR_KANJI, GRN_CHAR_KANJI, GRN_CHAR_KANJI, GRN_CHAR_KANJI, GRN_CHAR_KANJI, + GRN_CHAR_KANJI, GRN_CHAR_KANJI, GRN_CHAR_KANJI, GRN_CHAR_KANJI, GRN_CHAR_KANJI, GRN_CHAR_KANJI, GRN_CHAR_KANJI, GRN_CHAR_KANJI, + GRN_CHAR_KANJI, GRN_CHAR_KANJI, GRN_CHAR_KANJI, GRN_CHAR_KANJI, GRN_CHAR_KANJI, GRN_CHAR_KANJI, GRN_CHAR_KANJI, GRN_CHAR_KANJI, + GRN_CHAR_KANJI, GRN_CHAR_KANJI, GRN_CHAR_KANJI, GRN_CHAR_KANJI, GRN_CHAR_KANJI, GRN_CHAR_KANJI, GRN_CHAR_KANJI, GRN_CHAR_KANJI, + GRN_CHAR_KANJI, GRN_CHAR_KANJI, GRN_CHAR_KANJI, GRN_CHAR_KANJI, GRN_CHAR_KANJI, GRN_CHAR_KANJI, GRN_CHAR_KANJI, GRN_CHAR_KANJI, + GRN_CHAR_KATAKANA, GRN_CHAR_KATAKANA, GRN_CHAR_KATAKANA, GRN_CHAR_KATAKANA, GRN_CHAR_KATAKANA, GRN_CHAR_KATAKANA, GRN_CHAR_KATAKANA, GRN_CHAR_KATAKANA, + GRN_CHAR_KATAKANA, GRN_CHAR_KATAKANA, GRN_CHAR_KATAKANA, GRN_CHAR_KATAKANA, GRN_CHAR_KATAKANA, GRN_CHAR_KATAKANA, GRN_CHAR_KATAKANA, GRN_CHAR_KATAKANA +}; + +static grn_char_type grn_nfkc121_char_type_table_e38a[] = { + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_EMOJI, + GRN_CHAR_SYMBOL, GRN_CHAR_EMOJI, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL +}; + +static grn_char_type grn_nfkc121_char_type_table_ea93[] = { + GRN_CHAR_KANJI, GRN_CHAR_KANJI, GRN_CHAR_KANJI, GRN_CHAR_KANJI, GRN_CHAR_KANJI, GRN_CHAR_KANJI, GRN_CHAR_KANJI, GRN_CHAR_KANJI, + GRN_CHAR_KANJI, GRN_CHAR_KANJI, GRN_CHAR_KANJI, GRN_CHAR_KANJI, GRN_CHAR_KANJI, GRN_CHAR_KANJI, GRN_CHAR_KANJI, GRN_CHAR_KANJI, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL +}; + +static grn_char_type grn_nfkc121_char_type_table_ea98[] = { + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA +}; + +static grn_char_type grn_nfkc121_char_type_table_ea99[] = { + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_ALPHA +}; + +static grn_char_type grn_nfkc121_char_type_table_ea9a[] = { + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA +}; + +static grn_char_type grn_nfkc121_char_type_table_ea9b[] = { + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL +}; + +static grn_char_type grn_nfkc121_char_type_table_ea9c[] = { + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA +}; + +static grn_char_type grn_nfkc121_char_type_table_ea9e[] = { + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA +}; + +static grn_char_type grn_nfkc121_char_type_table_ea9f[] = { + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA +}; + +static grn_char_type grn_nfkc121_char_type_table_eaa0[] = { + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL +}; + +static grn_char_type grn_nfkc121_char_type_table_eaa1[] = { + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL +}; + +static grn_char_type grn_nfkc121_char_type_table_eaa3[] = { + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_ALPHA, GRN_CHAR_SYMBOL, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA +}; + +static grn_char_type grn_nfkc121_char_type_table_eaa4[] = { + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA +}; + +static grn_char_type grn_nfkc121_char_type_table_eaa5[] = { + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, + GRN_CHAR_KANJI, GRN_CHAR_KANJI, GRN_CHAR_KANJI, GRN_CHAR_KANJI, GRN_CHAR_KANJI, GRN_CHAR_KANJI, GRN_CHAR_KANJI, GRN_CHAR_KANJI, + GRN_CHAR_KANJI, GRN_CHAR_KANJI, GRN_CHAR_KANJI, GRN_CHAR_KANJI, GRN_CHAR_KANJI, GRN_CHAR_KANJI, GRN_CHAR_KANJI, GRN_CHAR_KANJI, + GRN_CHAR_KANJI, GRN_CHAR_KANJI, GRN_CHAR_KANJI, GRN_CHAR_KANJI, GRN_CHAR_KANJI, GRN_CHAR_KANJI, GRN_CHAR_KANJI, GRN_CHAR_KANJI, + GRN_CHAR_KANJI, GRN_CHAR_KANJI, GRN_CHAR_KANJI, GRN_CHAR_KANJI, GRN_CHAR_KANJI, GRN_CHAR_KANJI, GRN_CHAR_KANJI, GRN_CHAR_KANJI +}; + +static grn_char_type grn_nfkc121_char_type_table_eaa7[] = { + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA +}; + +static grn_char_type grn_nfkc121_char_type_table_eaa9[] = { + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA +}; + +static grn_char_type grn_nfkc121_char_type_table_eaaa[] = { + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA +}; + +static grn_char_type grn_nfkc121_char_type_table_eaab[] = { + GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA +}; + +static grn_char_type grn_nfkc121_char_type_table_eaac[] = { + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA +}; + +static grn_char_type grn_nfkc121_char_type_table_eaad[] = { + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_SYMBOL, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA +}; + +static grn_char_type grn_nfkc121_char_type_table_eaaf[] = { + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT +}; + +static grn_char_type grn_nfkc121_char_type_table_efac[] = { + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_SYMBOL, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA +}; + +static grn_char_type grn_nfkc121_char_type_table_efad[] = { + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA +}; + +static grn_char_type grn_nfkc121_char_type_table_efae[] = { + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL +}; + +static grn_char_type grn_nfkc121_char_type_table_efaf[] = { + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA +}; + +static grn_char_type grn_nfkc121_char_type_table_efb4[] = { + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL +}; + +static grn_char_type grn_nfkc121_char_type_table_efb6[] = { + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA +}; + +static grn_char_type grn_nfkc121_char_type_table_efb7[] = { + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL +}; + +static grn_char_type grn_nfkc121_char_type_table_efb8[] = { + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL +}; + +static grn_char_type grn_nfkc121_char_type_table_efb9[] = { + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA +}; + +static grn_char_type grn_nfkc121_char_type_table_efbc[] = { + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL +}; + +static grn_char_type grn_nfkc121_char_type_table_efbd[] = { + GRN_CHAR_SYMBOL, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA +}; + +static grn_char_type grn_nfkc121_char_type_table_efbf[] = { + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL +}; + +static grn_char_type grn_nfkc121_char_type_table_f09080[] = { + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA +}; + +static grn_char_type grn_nfkc121_char_type_table_f09081[] = { + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA +}; + +static grn_char_type grn_nfkc121_char_type_table_f09084[] = { + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL +}; + +static grn_char_type grn_nfkc121_char_type_table_f09085[] = { + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL +}; + +static grn_char_type grn_nfkc121_char_type_table_f09086[] = { + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_SYMBOL +}; + +static grn_char_type grn_nfkc121_char_type_table_f0908a[] = { + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA +}; + +static grn_char_type grn_nfkc121_char_type_table_f0908b[] = { + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT +}; + +static grn_char_type grn_nfkc121_char_type_table_f0908c[] = { + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA +}; + +static grn_char_type grn_nfkc121_char_type_table_f0908d[] = { + GRN_CHAR_ALPHA, GRN_CHAR_DIGIT, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_DIGIT, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA +}; + +static grn_char_type grn_nfkc121_char_type_table_f0908e[] = { + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA +}; + +static grn_char_type grn_nfkc121_char_type_table_f0908f[] = { + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_SYMBOL, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT +}; + +static grn_char_type grn_nfkc121_char_type_table_f09092[] = { + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA +}; + +static grn_char_type grn_nfkc121_char_type_table_f09093[] = { + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA +}; + +static grn_char_type grn_nfkc121_char_type_table_f09094[] = { + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA +}; + +static grn_char_type grn_nfkc121_char_type_table_f09095[] = { + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL +}; + +static grn_char_type grn_nfkc121_char_type_table_f0909d[] = { + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA +}; + +static grn_char_type grn_nfkc121_char_type_table_f090a0[] = { + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA +}; + +static grn_char_type grn_nfkc121_char_type_table_f090a1[] = { + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT +}; + +static grn_char_type grn_nfkc121_char_type_table_f090a2[] = { + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT +}; + +static grn_char_type grn_nfkc121_char_type_table_f090a3[] = { + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT +}; + +static grn_char_type grn_nfkc121_char_type_table_f090a4[] = { + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL +}; + +static grn_char_type grn_nfkc121_char_type_table_f090a6[] = { + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA +}; + +static grn_char_type grn_nfkc121_char_type_table_f090a7[] = { + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT +}; + +static grn_char_type grn_nfkc121_char_type_table_f090a8[] = { + GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA +}; + +static grn_char_type grn_nfkc121_char_type_table_f090a9[] = { + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_SYMBOL +}; + +static grn_char_type grn_nfkc121_char_type_table_f090aa[] = { + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT +}; + +static grn_char_type grn_nfkc121_char_type_table_f090ab[] = { + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_SYMBOL, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL +}; + +static grn_char_type grn_nfkc121_char_type_table_f090ac[] = { + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL +}; + +static grn_char_type grn_nfkc121_char_type_table_f090ad[] = { + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT +}; + +static grn_char_type grn_nfkc121_char_type_table_f090ae[] = { + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT +}; + +static grn_char_type grn_nfkc121_char_type_table_f090b3[] = { + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT +}; + +static grn_char_type grn_nfkc121_char_type_table_f090b4[] = { + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT +}; + +static grn_char_type grn_nfkc121_char_type_table_f090bc[] = { + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_ALPHA, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA +}; + +static grn_char_type grn_nfkc121_char_type_table_f090bd[] = { + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL +}; + +static grn_char_type grn_nfkc121_char_type_table_f09181[] = { + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT +}; + +static grn_char_type grn_nfkc121_char_type_table_f09182[] = { + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL +}; + +static grn_char_type grn_nfkc121_char_type_table_f09183[] = { + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT +}; + +static grn_char_type grn_nfkc121_char_type_table_f09184[] = { + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT +}; + +static grn_char_type grn_nfkc121_char_type_table_f09185[] = { + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_ALPHA +}; + +static grn_char_type grn_nfkc121_char_type_table_f09187[] = { + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_ALPHA, GRN_CHAR_SYMBOL, GRN_CHAR_ALPHA, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT +}; + +static grn_char_type grn_nfkc121_char_type_table_f09188[] = { + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL +}; + +static grn_char_type grn_nfkc121_char_type_table_f0918a[] = { + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, + GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA +}; + +static grn_char_type grn_nfkc121_char_type_table_f0918b[] = { + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT +}; + +static grn_char_type grn_nfkc121_char_type_table_f0918c[] = { + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_ALPHA +}; + +static grn_char_type grn_nfkc121_char_type_table_f0918d[] = { + GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA +}; + +static grn_char_type grn_nfkc121_char_type_table_f09191[] = { + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, + GRN_CHAR_ALPHA +}; + +static grn_char_type grn_nfkc121_char_type_table_f09193[] = { + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_SYMBOL, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT +}; + +static grn_char_type grn_nfkc121_char_type_table_f09197[] = { + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA +}; + +static grn_char_type grn_nfkc121_char_type_table_f09199[] = { + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL +}; + +static grn_char_type grn_nfkc121_char_type_table_f0919a[] = { + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_ALPHA +}; + +static grn_char_type grn_nfkc121_char_type_table_f0919c[] = { + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL +}; + +static grn_char_type grn_nfkc121_char_type_table_f091a0[] = { + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL +}; + +static grn_char_type grn_nfkc121_char_type_table_f091a3[] = { + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA +}; + +static grn_char_type grn_nfkc121_char_type_table_f091a6[] = { + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA +}; + +static grn_char_type grn_nfkc121_char_type_table_f091a7[] = { + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_SYMBOL, GRN_CHAR_ALPHA +}; + +static grn_char_type grn_nfkc121_char_type_table_f091a8[] = { + GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL +}; + +static grn_char_type grn_nfkc121_char_type_table_f091a9[] = { + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA +}; + +static grn_char_type grn_nfkc121_char_type_table_f091aa[] = { + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_ALPHA, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL +}; + +static grn_char_type grn_nfkc121_char_type_table_f091b0[] = { + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA +}; + +static grn_char_type grn_nfkc121_char_type_table_f091b1[] = { + GRN_CHAR_ALPHA, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA +}; + +static grn_char_type grn_nfkc121_char_type_table_f091b4[] = { + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA +}; + +static grn_char_type grn_nfkc121_char_type_table_f091b5[] = { + GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA +}; + +static grn_char_type grn_nfkc121_char_type_table_f091b6[] = { + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT +}; + +static grn_char_type grn_nfkc121_char_type_table_f091bb[] = { + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL +}; + +static grn_char_type grn_nfkc121_char_type_table_f091bf[] = { + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL +}; + +static grn_char_type grn_nfkc121_char_type_table_f09291[] = { + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_OTHERS, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL +}; + +static grn_char_type grn_nfkc121_char_type_table_f096a9[] = { + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL +}; + +static grn_char_type grn_nfkc121_char_type_table_f096ab[] = { + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL +}; + +static grn_char_type grn_nfkc121_char_type_table_f096ac[] = { + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL +}; + +static grn_char_type grn_nfkc121_char_type_table_f096ad[] = { + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_OTHERS, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA +}; + +static grn_char_type grn_nfkc121_char_type_table_f096ba[] = { + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL +}; + +static grn_char_type grn_nfkc121_char_type_table_f096bd[] = { + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_ALPHA +}; + +static grn_char_type grn_nfkc121_char_type_table_f096bf[] = { + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_SYMBOL, GRN_CHAR_ALPHA +}; + +static grn_char_type grn_nfkc121_char_type_table_f09b80[] = { + GRN_CHAR_KATAKANA, GRN_CHAR_HIRAGANA, GRN_CHAR_HIRAGANA, GRN_CHAR_HIRAGANA, GRN_CHAR_HIRAGANA, GRN_CHAR_HIRAGANA, GRN_CHAR_HIRAGANA, GRN_CHAR_HIRAGANA, + GRN_CHAR_HIRAGANA, GRN_CHAR_HIRAGANA, GRN_CHAR_HIRAGANA, GRN_CHAR_HIRAGANA, GRN_CHAR_HIRAGANA, GRN_CHAR_HIRAGANA, GRN_CHAR_HIRAGANA, GRN_CHAR_HIRAGANA, + GRN_CHAR_HIRAGANA, GRN_CHAR_HIRAGANA, GRN_CHAR_HIRAGANA, GRN_CHAR_HIRAGANA, GRN_CHAR_HIRAGANA, GRN_CHAR_HIRAGANA, GRN_CHAR_HIRAGANA, GRN_CHAR_HIRAGANA, + GRN_CHAR_HIRAGANA, GRN_CHAR_HIRAGANA, GRN_CHAR_HIRAGANA, GRN_CHAR_HIRAGANA, GRN_CHAR_HIRAGANA, GRN_CHAR_HIRAGANA, GRN_CHAR_HIRAGANA, GRN_CHAR_HIRAGANA, + GRN_CHAR_HIRAGANA, GRN_CHAR_HIRAGANA, GRN_CHAR_HIRAGANA, GRN_CHAR_HIRAGANA, GRN_CHAR_HIRAGANA, GRN_CHAR_HIRAGANA, GRN_CHAR_HIRAGANA, GRN_CHAR_HIRAGANA, + GRN_CHAR_HIRAGANA, GRN_CHAR_HIRAGANA, GRN_CHAR_HIRAGANA, GRN_CHAR_HIRAGANA, GRN_CHAR_HIRAGANA, GRN_CHAR_HIRAGANA, GRN_CHAR_HIRAGANA, GRN_CHAR_HIRAGANA, + GRN_CHAR_HIRAGANA, GRN_CHAR_HIRAGANA, GRN_CHAR_HIRAGANA, GRN_CHAR_HIRAGANA, GRN_CHAR_HIRAGANA, GRN_CHAR_HIRAGANA, GRN_CHAR_HIRAGANA, GRN_CHAR_HIRAGANA, + GRN_CHAR_HIRAGANA, GRN_CHAR_HIRAGANA, GRN_CHAR_HIRAGANA, GRN_CHAR_HIRAGANA, GRN_CHAR_HIRAGANA, GRN_CHAR_HIRAGANA, GRN_CHAR_HIRAGANA, GRN_CHAR_HIRAGANA +}; + +static grn_char_type grn_nfkc121_char_type_table_f09b85[] = { + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA +}; + +static grn_char_type grn_nfkc121_char_type_table_f09bb1[] = { + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA +}; + +static grn_char_type grn_nfkc121_char_type_table_f09bb2[] = { + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL +}; + +static grn_char_type grn_nfkc121_char_type_table_f09d84[] = { + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL +}; + +static grn_char_type grn_nfkc121_char_type_table_f09d85[] = { + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL +}; + +static grn_char_type grn_nfkc121_char_type_table_f09d86[] = { + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL +}; + +static grn_char_type grn_nfkc121_char_type_table_f09d89[] = { + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL +}; + +static grn_char_type grn_nfkc121_char_type_table_f09d8d[] = { + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT +}; + +static grn_char_type grn_nfkc121_char_type_table_f09d91[] = { + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA +}; + +static grn_char_type grn_nfkc121_char_type_table_f09d92[] = { + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA +}; + +static grn_char_type grn_nfkc121_char_type_table_f09d93[] = { + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA +}; + +static grn_char_type grn_nfkc121_char_type_table_f09d94[] = { + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA +}; + +static grn_char_type grn_nfkc121_char_type_table_f09d95[] = { + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA +}; + +static grn_char_type grn_nfkc121_char_type_table_f09d9a[] = { + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA +}; + +static grn_char_type grn_nfkc121_char_type_table_f09d9b[] = { + GRN_CHAR_ALPHA, GRN_CHAR_SYMBOL, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_SYMBOL, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_SYMBOL, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA +}; + +static grn_char_type grn_nfkc121_char_type_table_f09d9c[] = { + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_SYMBOL, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_SYMBOL, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA +}; + +static grn_char_type grn_nfkc121_char_type_table_f09d9d[] = { + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_SYMBOL, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_SYMBOL, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA +}; + +static grn_char_type grn_nfkc121_char_type_table_f09d9e[] = { + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_SYMBOL, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_SYMBOL, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA +}; + +static grn_char_type grn_nfkc121_char_type_table_f09d9f[] = { + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_SYMBOL, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT +}; + +static grn_char_type grn_nfkc121_char_type_table_f09da9[] = { + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL +}; + +static grn_char_type grn_nfkc121_char_type_table_f09daa[] = { + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL +}; + +static grn_char_type grn_nfkc121_char_type_table_f09e84[] = { + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA +}; + +static grn_char_type grn_nfkc121_char_type_table_f09e85[] = { + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_SYMBOL +}; + +static grn_char_type grn_nfkc121_char_type_table_f09e8b[] = { + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL +}; + +static grn_char_type grn_nfkc121_char_type_table_f09ea3[] = { + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT +}; + +static grn_char_type grn_nfkc121_char_type_table_f09ea5[] = { + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL +}; + +static grn_char_type grn_nfkc121_char_type_table_f09eb2[] = { + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_SYMBOL, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_SYMBOL, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT +}; + +static grn_char_type grn_nfkc121_char_type_table_f09eb4[] = { + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_SYMBOL, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT +}; + +static grn_char_type grn_nfkc121_char_type_table_f09eb8[] = { + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, + GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA +}; + +static grn_char_type grn_nfkc121_char_type_table_f09eb9[] = { + GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, + GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, + GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA +}; + +static grn_char_type grn_nfkc121_char_type_table_f09eba[] = { + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, + GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA +}; + +static grn_char_type grn_nfkc121_char_type_table_f09f80[] = { + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_EMOJI, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL +}; + +static grn_char_type grn_nfkc121_char_type_table_f09f82[] = { + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL +}; + +static grn_char_type grn_nfkc121_char_type_table_f09f83[] = { + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_EMOJI, GRN_CHAR_OTHERS, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL +}; + +static grn_char_type grn_nfkc121_char_type_table_f09f84[] = { + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, + GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL +}; + +static grn_char_type grn_nfkc121_char_type_table_f09f85[] = { + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI +}; + +static grn_char_type grn_nfkc121_char_type_table_f09f86[] = { + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_EMOJI, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, + GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL +}; + +static grn_char_type grn_nfkc121_char_type_table_f09f88[] = { + GRN_CHAR_SYMBOL, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_EMOJI, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_EMOJI, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, + GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_SYMBOL +}; + +static grn_char_type grn_nfkc121_char_type_table_f09f89[] = { + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL +}; + +static grn_char_type grn_nfkc121_char_type_table_f09f99[] = { + GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, + GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL +}; + +static grn_char_type grn_nfkc121_char_type_table_f09f9f[] = { + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, + GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI +}; + +static grn_char_type grn_nfkc121_char_type_table_f09fa0[] = { + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL +}; + +static grn_char_type grn_nfkc121_char_type_table_f09fa1[] = { + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL +}; + +static grn_char_type grn_nfkc121_char_type_table_f09fa2[] = { + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL +}; + +static grn_char_type grn_nfkc121_char_type_table_f09fa4[] = { + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, + GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, + GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, + GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, + GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, + GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, + GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_SYMBOL, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI +}; + +static grn_char_type grn_nfkc121_char_type_table_f09fa5[] = { + GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_SYMBOL, GRN_CHAR_EMOJI, + GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, + GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, + GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, + GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, + GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, + GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_OTHERS, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI +}; + +static grn_char_type grn_nfkc121_char_type_table_f09fa6[] = { + GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, + GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, + GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, + GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, + GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, + GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, + GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, + GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI +}; + +static grn_char_type grn_nfkc121_char_type_table_f09fa7[] = { + GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, + GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, + GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, + GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, + GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, + GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, + GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, + GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI +}; + +static grn_char_type grn_nfkc121_char_type_table_f09fa9[] = { + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, + GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI +}; + +static grn_char_type grn_nfkc121_char_type_table_f09faa[] = { + GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, + GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI, GRN_CHAR_EMOJI +}; + +grn_char_type +grn_nfkc121_char_type(const unsigned char *utf8) +{ + if (utf8[0] < 0x80) { + if (utf8[0] >= 0x21 && + utf8[0] <= 0x7e) { + return grn_nfkc121_char_type_table_[utf8[0] - 0x21]; + } else { + return GRN_CHAR_OTHERS; + } + } else { + switch (utf8[0]) { + case 0xc2 : + if (utf8[1] >= 0xa1 && + utf8[1] <= 0xbf) { + return grn_nfkc121_char_type_table_c2[utf8[1] - 0xa1]; + } + break; + case 0xc3 : + return grn_nfkc121_char_type_table_c3[utf8[1] - 0x80]; + case 0xc4 : + return GRN_CHAR_ALPHA; + case 0xc5 : + return GRN_CHAR_ALPHA; + case 0xc6 : + return GRN_CHAR_ALPHA; + case 0xc7 : + return GRN_CHAR_ALPHA; + case 0xc8 : + return GRN_CHAR_ALPHA; + case 0xc9 : + return GRN_CHAR_ALPHA; + case 0xca : + return GRN_CHAR_ALPHA; + case 0xcb : + return grn_nfkc121_char_type_table_cb[utf8[1] - 0x80]; + case 0xcd : + if (utf8[1] >= 0xb0 && + utf8[1] <= 0xbf) { + return grn_nfkc121_char_type_table_cd[utf8[1] - 0xb0]; + } + break; + case 0xce : + if (utf8[1] >= 0x84 && + utf8[1] <= 0xbf) { + return grn_nfkc121_char_type_table_ce[utf8[1] - 0x84]; + } + break; + case 0xcf : + return grn_nfkc121_char_type_table_cf[utf8[1] - 0x80]; + case 0xd0 : + return GRN_CHAR_ALPHA; + case 0xd1 : + return GRN_CHAR_ALPHA; + case 0xd2 : + return grn_nfkc121_char_type_table_d2[utf8[1] - 0x80]; + case 0xd3 : + return GRN_CHAR_ALPHA; + case 0xd4 : + return grn_nfkc121_char_type_table_d4[utf8[1] - 0x80]; + case 0xd5 : + return grn_nfkc121_char_type_table_d5[utf8[1] - 0x80]; + case 0xd6 : + if (utf8[1] >= 0x80 && + utf8[1] <= 0xbe) { + return grn_nfkc121_char_type_table_d6[utf8[1] - 0x80]; + } + break; + case 0xd7 : + if (utf8[1] >= 0x80 && + utf8[1] <= 0xb4) { + return grn_nfkc121_char_type_table_d7[utf8[1] - 0x80]; + } + break; + case 0xd8 : + if (utf8[1] >= 0x86 && + utf8[1] <= 0xbf) { + return grn_nfkc121_char_type_table_d8[utf8[1] - 0x86]; + } + break; + case 0xd9 : + return grn_nfkc121_char_type_table_d9[utf8[1] - 0x80]; + case 0xda : + return GRN_CHAR_ALPHA; + case 0xdb : + return grn_nfkc121_char_type_table_db[utf8[1] - 0x80]; + case 0xdc : + if (utf8[1] >= 0x80 && + utf8[1] <= 0xaf) { + return grn_nfkc121_char_type_table_dc[utf8[1] - 0x80]; + } + break; + case 0xdd : + if (utf8[1] >= 0x8d && + utf8[1] <= 0xbf) { + return GRN_CHAR_ALPHA; + } + break; + case 0xde : + if (utf8[1] >= 0x80 && + utf8[1] <= 0xb1) { + return grn_nfkc121_char_type_table_de[utf8[1] - 0x80]; + } + break; + case 0xdf : + return grn_nfkc121_char_type_table_df[utf8[1] - 0x80]; + case 0xe0 : + switch (utf8[1]) { + case 0xa0 : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xbe) { + return grn_nfkc121_char_type_table_e0a0[utf8[2] - 0x80]; + } + break; + case 0xa1 : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xaa) { + return grn_nfkc121_char_type_table_e0a1[utf8[2] - 0x80]; + } + break; + case 0xa2 : + if (utf8[2] >= 0xa0 && + utf8[2] <= 0xbd) { + return grn_nfkc121_char_type_table_e0a2[utf8[2] - 0xa0]; + } + break; + case 0xa4 : + if (utf8[2] >= 0x84 && + utf8[2] <= 0xbd) { + return grn_nfkc121_char_type_table_e0a4[utf8[2] - 0x84]; + } + break; + case 0xa5 : + if (utf8[2] >= 0x90 && + utf8[2] <= 0xbf) { + return grn_nfkc121_char_type_table_e0a5[utf8[2] - 0x90]; + } + break; + case 0xa6 : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xbd) { + return grn_nfkc121_char_type_table_e0a6[utf8[2] - 0x80]; + } + break; + case 0xa7 : + if (utf8[2] >= 0x8e && + utf8[2] <= 0xbd) { + return grn_nfkc121_char_type_table_e0a7[utf8[2] - 0x8e]; + } + break; + case 0xa8 : + if (utf8[2] >= 0x85 && + utf8[2] <= 0xb9) { + return grn_nfkc121_char_type_table_e0a8[utf8[2] - 0x85]; + } + break; + case 0xa9 : + if (utf8[2] >= 0x99 && + utf8[2] <= 0xb6) { + return grn_nfkc121_char_type_table_e0a9[utf8[2] - 0x99]; + } + break; + case 0xaa : + if (utf8[2] >= 0x85 && + utf8[2] <= 0xbd) { + return grn_nfkc121_char_type_table_e0aa[utf8[2] - 0x85]; + } + break; + case 0xab : + if (utf8[2] >= 0x90 && + utf8[2] <= 0xb9) { + return grn_nfkc121_char_type_table_e0ab[utf8[2] - 0x90]; + } + break; + case 0xac : + if (utf8[2] >= 0x85 && + utf8[2] <= 0xbd) { + return grn_nfkc121_char_type_table_e0ac[utf8[2] - 0x85]; + } + break; + case 0xad : + if (utf8[2] >= 0x9c && + utf8[2] <= 0xb7) { + return grn_nfkc121_char_type_table_e0ad[utf8[2] - 0x9c]; + } + break; + case 0xae : + if (utf8[2] >= 0x83 && + utf8[2] <= 0xb9) { + return grn_nfkc121_char_type_table_e0ae[utf8[2] - 0x83]; + } + break; + case 0xaf : + if (utf8[2] >= 0x90 && + utf8[2] <= 0xba) { + return grn_nfkc121_char_type_table_e0af[utf8[2] - 0x90]; + } + break; + case 0xb0 : + if (utf8[2] >= 0x85 && + utf8[2] <= 0xbd) { + return grn_nfkc121_char_type_table_e0b0[utf8[2] - 0x85]; + } + break; + case 0xb1 : + if (utf8[2] >= 0x98 && + utf8[2] <= 0xbf) { + return grn_nfkc121_char_type_table_e0b1[utf8[2] - 0x98]; + } + break; + case 0xb2 : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xbd) { + return grn_nfkc121_char_type_table_e0b2[utf8[2] - 0x80]; + } + break; + case 0xb3 : + if (utf8[2] >= 0x9e && + utf8[2] <= 0xb2) { + return grn_nfkc121_char_type_table_e0b3[utf8[2] - 0x9e]; + } + break; + case 0xb4 : + if (utf8[2] >= 0x85 && + utf8[2] <= 0xbd) { + return grn_nfkc121_char_type_table_e0b4[utf8[2] - 0x85]; + } + break; + case 0xb5 : + if (utf8[2] >= 0x8e && + utf8[2] <= 0xbf) { + return grn_nfkc121_char_type_table_e0b5[utf8[2] - 0x8e]; + } + break; + case 0xb6 : + if (utf8[2] >= 0x85 && + utf8[2] <= 0xbd) { + return grn_nfkc121_char_type_table_e0b6[utf8[2] - 0x85]; + } + break; + case 0xb7 : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xb4) { + return grn_nfkc121_char_type_table_e0b7[utf8[2] - 0x80]; + } + break; + case 0xb8 : + if (utf8[2] >= 0x81 && + utf8[2] <= 0xbf) { + return grn_nfkc121_char_type_table_e0b8[utf8[2] - 0x81]; + } + break; + case 0xb9 : + if (utf8[2] >= 0x80 && + utf8[2] <= 0x9b) { + return grn_nfkc121_char_type_table_e0b9[utf8[2] - 0x80]; + } + break; + case 0xba : + if (utf8[2] >= 0x81 && + utf8[2] <= 0xbd) { + return grn_nfkc121_char_type_table_e0ba[utf8[2] - 0x81]; + } + break; + case 0xbb : + if (utf8[2] >= 0x80 && + utf8[2] <= 0x9f) { + return grn_nfkc121_char_type_table_e0bb[utf8[2] - 0x80]; + } + break; + case 0xbc : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xbd) { + return grn_nfkc121_char_type_table_e0bc[utf8[2] - 0x80]; + } + break; + case 0xbd : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xac) { + return grn_nfkc121_char_type_table_e0bd[utf8[2] - 0x80]; + } + break; + case 0xbe : + if (utf8[2] >= 0x85 && + utf8[2] <= 0xbf) { + return grn_nfkc121_char_type_table_e0be[utf8[2] - 0x85]; + } + break; + case 0xbf : + if (utf8[2] >= 0x80 && + utf8[2] <= 0x9a) { + return grn_nfkc121_char_type_table_e0bf[utf8[2] - 0x80]; + } + break; + default : + break; + } + break; + case 0xe1 : + switch (utf8[1]) { + case 0x80 : + return grn_nfkc121_char_type_table_e180[utf8[2] - 0x80]; + case 0x81 : + return grn_nfkc121_char_type_table_e181[utf8[2] - 0x80]; + case 0x82 : + return grn_nfkc121_char_type_table_e182[utf8[2] - 0x80]; + case 0x83 : + return grn_nfkc121_char_type_table_e183[utf8[2] - 0x80]; + case 0x84 : + return GRN_CHAR_KANJI; + case 0x85 : + return GRN_CHAR_KANJI; + case 0x86 : + return GRN_CHAR_KANJI; + case 0x87 : + return GRN_CHAR_KANJI; + case 0x88 : + return GRN_CHAR_ALPHA; + case 0x89 : + return grn_nfkc121_char_type_table_e189[utf8[2] - 0x80]; + case 0x8a : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xbe) { + return grn_nfkc121_char_type_table_e18a[utf8[2] - 0x80]; + } + break; + case 0x8b : + return grn_nfkc121_char_type_table_e18b[utf8[2] - 0x80]; + case 0x8c : + return grn_nfkc121_char_type_table_e18c[utf8[2] - 0x80]; + case 0x8d : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xbc) { + return grn_nfkc121_char_type_table_e18d[utf8[2] - 0x80]; + } + break; + case 0x8e : + return grn_nfkc121_char_type_table_e18e[utf8[2] - 0x80]; + case 0x8f : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xbd) { + return grn_nfkc121_char_type_table_e18f[utf8[2] - 0x80]; + } + break; + case 0x90 : + return grn_nfkc121_char_type_table_e190[utf8[2] - 0x80]; + case 0x91 : + return GRN_CHAR_ALPHA; + case 0x92 : + return GRN_CHAR_ALPHA; + case 0x93 : + return GRN_CHAR_ALPHA; + case 0x94 : + return GRN_CHAR_ALPHA; + case 0x95 : + return GRN_CHAR_ALPHA; + case 0x96 : + return GRN_CHAR_ALPHA; + case 0x97 : + return GRN_CHAR_ALPHA; + case 0x98 : + return GRN_CHAR_ALPHA; + case 0x99 : + return grn_nfkc121_char_type_table_e199[utf8[2] - 0x80]; + case 0x9a : + if (utf8[2] >= 0x81 && + utf8[2] <= 0xbf) { + return grn_nfkc121_char_type_table_e19a[utf8[2] - 0x81]; + } + break; + case 0x9b : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xb8) { + return grn_nfkc121_char_type_table_e19b[utf8[2] - 0x80]; + } + break; + case 0x9c : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xb6) { + return grn_nfkc121_char_type_table_e19c[utf8[2] - 0x80]; + } + break; + case 0x9d : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xb0) { + return grn_nfkc121_char_type_table_e19d[utf8[2] - 0x80]; + } + break; + case 0x9e : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xb3) { + return GRN_CHAR_ALPHA; + } + break; + case 0x9f : + if (utf8[2] >= 0x94 && + utf8[2] <= 0xb9) { + return grn_nfkc121_char_type_table_e19f[utf8[2] - 0x94]; + } + break; + case 0xa0 : + return grn_nfkc121_char_type_table_e1a0[utf8[2] - 0x80]; + case 0xa1 : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xb8) { + return GRN_CHAR_ALPHA; + } + break; + case 0xa2 : + return grn_nfkc121_char_type_table_e1a2[utf8[2] - 0x80]; + case 0xa3 : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xb5) { + return GRN_CHAR_ALPHA; + } + break; + case 0xa4 : + if (utf8[2] >= 0x80 && + utf8[2] <= 0x9e) { + return GRN_CHAR_ALPHA; + } + break; + case 0xa5 : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xb4) { + return grn_nfkc121_char_type_table_e1a5[utf8[2] - 0x80]; + } + break; + case 0xa6 : + return grn_nfkc121_char_type_table_e1a6[utf8[2] - 0x80]; + case 0xa7 : + return grn_nfkc121_char_type_table_e1a7[utf8[2] - 0x80]; + case 0xa8 : + return grn_nfkc121_char_type_table_e1a8[utf8[2] - 0x80]; + case 0xa9 : + if (utf8[2] >= 0x80 && + utf8[2] <= 0x94) { + return GRN_CHAR_ALPHA; + } + break; + case 0xaa : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xad) { + return grn_nfkc121_char_type_table_e1aa[utf8[2] - 0x80]; + } + break; + case 0xac : + if (utf8[2] >= 0x85 && + utf8[2] <= 0xb3) { + return GRN_CHAR_ALPHA; + } + break; + case 0xad : + if (utf8[2] >= 0x85 && + utf8[2] <= 0xbc) { + return grn_nfkc121_char_type_table_e1ad[utf8[2] - 0x85]; + } + break; + case 0xae : + if (utf8[2] >= 0x83 && + utf8[2] <= 0xbf) { + return grn_nfkc121_char_type_table_e1ae[utf8[2] - 0x83]; + } + break; + case 0xaf : + return grn_nfkc121_char_type_table_e1af[utf8[2] - 0x80]; + case 0xb0 : + return grn_nfkc121_char_type_table_e1b0[utf8[2] - 0x80]; + case 0xb1 : + return grn_nfkc121_char_type_table_e1b1[utf8[2] - 0x80]; + case 0xb2 : + return grn_nfkc121_char_type_table_e1b2[utf8[2] - 0x80]; + case 0xb3 : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xba) { + return grn_nfkc121_char_type_table_e1b3[utf8[2] - 0x80]; + } + break; + case 0xb4 : + return GRN_CHAR_ALPHA; + case 0xb5 : + return GRN_CHAR_ALPHA; + case 0xb6 : + return GRN_CHAR_ALPHA; + case 0xb8 : + return GRN_CHAR_ALPHA; + case 0xb9 : + return GRN_CHAR_ALPHA; + case 0xba : + return GRN_CHAR_ALPHA; + case 0xbb : + return GRN_CHAR_ALPHA; + case 0xbc : + return grn_nfkc121_char_type_table_e1bc[utf8[2] - 0x80]; + case 0xbd : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xbd) { + return grn_nfkc121_char_type_table_e1bd[utf8[2] - 0x80]; + } + break; + case 0xbe : + return grn_nfkc121_char_type_table_e1be[utf8[2] - 0x80]; + case 0xbf : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xbe) { + return grn_nfkc121_char_type_table_e1bf[utf8[2] - 0x80]; + } + break; + default : + break; + } + break; + case 0xe2 : + switch (utf8[1]) { + case 0x80 : + if (utf8[2] >= 0x90 && + utf8[2] <= 0xbf) { + return grn_nfkc121_char_type_table_e280[utf8[2] - 0x90]; + } + break; + case 0x81 : + return grn_nfkc121_char_type_table_e281[utf8[2] - 0x80]; + case 0x82 : + return grn_nfkc121_char_type_table_e282[utf8[2] - 0x80]; + case 0x84 : + return grn_nfkc121_char_type_table_e284[utf8[2] - 0x80]; + case 0x85 : + return grn_nfkc121_char_type_table_e285[utf8[2] - 0x80]; + case 0x86 : + return grn_nfkc121_char_type_table_e286[utf8[2] - 0x80]; + case 0x87 : + return GRN_CHAR_SYMBOL; + case 0x88 : + return GRN_CHAR_SYMBOL; + case 0x89 : + return GRN_CHAR_SYMBOL; + case 0x8a : + return GRN_CHAR_SYMBOL; + case 0x8b : + return GRN_CHAR_SYMBOL; + case 0x8c : + return grn_nfkc121_char_type_table_e28c[utf8[2] - 0x80]; + case 0x8d : + return GRN_CHAR_SYMBOL; + case 0x8e : + return GRN_CHAR_SYMBOL; + case 0x8f : + return grn_nfkc121_char_type_table_e28f[utf8[2] - 0x80]; + case 0x90 : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xa6) { + return GRN_CHAR_SYMBOL; + } + break; + case 0x91 : + return grn_nfkc121_char_type_table_e291[utf8[2] - 0x80]; + case 0x92 : + return grn_nfkc121_char_type_table_e292[utf8[2] - 0x80]; + case 0x93 : + return grn_nfkc121_char_type_table_e293[utf8[2] - 0x80]; + case 0x94 : + return GRN_CHAR_SYMBOL; + case 0x95 : + return GRN_CHAR_SYMBOL; + case 0x96 : + return grn_nfkc121_char_type_table_e296[utf8[2] - 0x80]; + case 0x97 : + return grn_nfkc121_char_type_table_e297[utf8[2] - 0x80]; + case 0x98 : + return grn_nfkc121_char_type_table_e298[utf8[2] - 0x80]; + case 0x99 : + return grn_nfkc121_char_type_table_e299[utf8[2] - 0x80]; + case 0x9a : + return grn_nfkc121_char_type_table_e29a[utf8[2] - 0x80]; + case 0x9b : + return grn_nfkc121_char_type_table_e29b[utf8[2] - 0x80]; + case 0x9c : + return grn_nfkc121_char_type_table_e29c[utf8[2] - 0x80]; + case 0x9d : + return grn_nfkc121_char_type_table_e29d[utf8[2] - 0x80]; + case 0x9e : + return grn_nfkc121_char_type_table_e29e[utf8[2] - 0x80]; + case 0x9f : + return GRN_CHAR_SYMBOL; + case 0xa0 : + return GRN_CHAR_SYMBOL; + case 0xa1 : + return GRN_CHAR_SYMBOL; + case 0xa2 : + return GRN_CHAR_SYMBOL; + case 0xa3 : + return GRN_CHAR_SYMBOL; + case 0xa4 : + return grn_nfkc121_char_type_table_e2a4[utf8[2] - 0x80]; + case 0xa5 : + return GRN_CHAR_SYMBOL; + case 0xa6 : + return GRN_CHAR_SYMBOL; + case 0xa7 : + return GRN_CHAR_SYMBOL; + case 0xa8 : + return GRN_CHAR_SYMBOL; + case 0xa9 : + return GRN_CHAR_SYMBOL; + case 0xaa : + return GRN_CHAR_SYMBOL; + case 0xab : + return GRN_CHAR_SYMBOL; + case 0xac : + return grn_nfkc121_char_type_table_e2ac[utf8[2] - 0x80]; + case 0xad : + return grn_nfkc121_char_type_table_e2ad[utf8[2] - 0x80]; + case 0xae : + return grn_nfkc121_char_type_table_e2ae[utf8[2] - 0x80]; + case 0xaf : + return GRN_CHAR_SYMBOL; + case 0xb0 : + return grn_nfkc121_char_type_table_e2b0[utf8[2] - 0x80]; + case 0xb1 : + return grn_nfkc121_char_type_table_e2b1[utf8[2] - 0x80]; + case 0xb2 : + return GRN_CHAR_ALPHA; + case 0xb3 : + return grn_nfkc121_char_type_table_e2b3[utf8[2] - 0x80]; + case 0xb4 : + return grn_nfkc121_char_type_table_e2b4[utf8[2] - 0x80]; + case 0xb5 : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xb0) { + return grn_nfkc121_char_type_table_e2b5[utf8[2] - 0x80]; + } + break; + case 0xb6 : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xbe) { + return grn_nfkc121_char_type_table_e2b6[utf8[2] - 0x80]; + } + break; + case 0xb7 : + if (utf8[2] >= 0x80 && + utf8[2] <= 0x9e) { + return grn_nfkc121_char_type_table_e2b7[utf8[2] - 0x80]; + } + break; + case 0xb8 : + return grn_nfkc121_char_type_table_e2b8[utf8[2] - 0x80]; + case 0xb9 : + if (utf8[2] >= 0x80 && + utf8[2] <= 0x8f) { + return GRN_CHAR_SYMBOL; + } + break; + case 0xba : + return GRN_CHAR_KANJI; + case 0xbb : + return GRN_CHAR_KANJI; + case 0xbc : + return GRN_CHAR_KANJI; + case 0xbd : + return GRN_CHAR_KANJI; + case 0xbe : + return GRN_CHAR_KANJI; + case 0xbf : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xbb) { + return grn_nfkc121_char_type_table_e2bf[utf8[2] - 0x80]; + } + break; + default : + break; + } + break; + case 0xe3 : + switch (utf8[1]) { + case 0x80 : + return grn_nfkc121_char_type_table_e380[utf8[2] - 0x80]; + case 0x81 : + return GRN_CHAR_HIRAGANA; + case 0x82 : + return grn_nfkc121_char_type_table_e382[utf8[2] - 0x80]; + case 0x83 : + return GRN_CHAR_KATAKANA; + case 0x84 : + return GRN_CHAR_KANJI; + case 0x85 : + return GRN_CHAR_KANJI; + case 0x86 : + return GRN_CHAR_KANJI; + case 0x87 : + return grn_nfkc121_char_type_table_e387[utf8[2] - 0x80]; + case 0x88 : + return GRN_CHAR_SYMBOL; + case 0x89 : + return GRN_CHAR_SYMBOL; + case 0x8a : + return grn_nfkc121_char_type_table_e38a[utf8[2] - 0x80]; + case 0x8b : + return GRN_CHAR_SYMBOL; + case 0x8c : + return GRN_CHAR_SYMBOL; + case 0x8d : + return GRN_CHAR_SYMBOL; + case 0x8e : + return GRN_CHAR_SYMBOL; + case 0x8f : + return GRN_CHAR_SYMBOL; + case 0x90 : + return GRN_CHAR_KANJI; + case 0x91 : + return GRN_CHAR_KANJI; + case 0x92 : + return GRN_CHAR_KANJI; + case 0x93 : + return GRN_CHAR_KANJI; + case 0x94 : + return GRN_CHAR_KANJI; + case 0x95 : + return GRN_CHAR_KANJI; + case 0x96 : + return GRN_CHAR_KANJI; + case 0x97 : + return GRN_CHAR_KANJI; + case 0x98 : + return GRN_CHAR_KANJI; + case 0x99 : + return GRN_CHAR_KANJI; + case 0x9a : + return GRN_CHAR_KANJI; + case 0x9b : + return GRN_CHAR_KANJI; + case 0x9c : + return GRN_CHAR_KANJI; + case 0x9d : + return GRN_CHAR_KANJI; + case 0x9e : + return GRN_CHAR_KANJI; + case 0x9f : + return GRN_CHAR_KANJI; + case 0xa0 : + return GRN_CHAR_KANJI; + case 0xa1 : + return GRN_CHAR_KANJI; + case 0xa2 : + return GRN_CHAR_KANJI; + case 0xa3 : + return GRN_CHAR_KANJI; + case 0xa4 : + return GRN_CHAR_KANJI; + case 0xa5 : + return GRN_CHAR_KANJI; + case 0xa6 : + return GRN_CHAR_KANJI; + case 0xa7 : + return GRN_CHAR_KANJI; + case 0xa8 : + return GRN_CHAR_KANJI; + case 0xa9 : + return GRN_CHAR_KANJI; + case 0xaa : + return GRN_CHAR_KANJI; + case 0xab : + return GRN_CHAR_KANJI; + case 0xac : + return GRN_CHAR_KANJI; + case 0xad : + return GRN_CHAR_KANJI; + case 0xae : + return GRN_CHAR_KANJI; + case 0xaf : + return GRN_CHAR_KANJI; + case 0xb0 : + return GRN_CHAR_KANJI; + case 0xb1 : + return GRN_CHAR_KANJI; + case 0xb2 : + return GRN_CHAR_KANJI; + case 0xb3 : + return GRN_CHAR_KANJI; + case 0xb4 : + return GRN_CHAR_KANJI; + case 0xb5 : + return GRN_CHAR_KANJI; + case 0xb6 : + return GRN_CHAR_KANJI; + case 0xb7 : + return GRN_CHAR_KANJI; + case 0xb8 : + return GRN_CHAR_KANJI; + case 0xb9 : + return GRN_CHAR_KANJI; + case 0xba : + return GRN_CHAR_KANJI; + case 0xbb : + return GRN_CHAR_KANJI; + case 0xbc : + return GRN_CHAR_KANJI; + case 0xbd : + return GRN_CHAR_KANJI; + case 0xbe : + return GRN_CHAR_KANJI; + case 0xbf : + return GRN_CHAR_KANJI; + default : + break; + } + break; + case 0xe4 : + switch (utf8[1]) { + case 0x80 : + return GRN_CHAR_KANJI; + case 0x81 : + return GRN_CHAR_KANJI; + case 0x82 : + return GRN_CHAR_KANJI; + case 0x83 : + return GRN_CHAR_KANJI; + case 0x84 : + return GRN_CHAR_KANJI; + case 0x85 : + return GRN_CHAR_KANJI; + case 0x86 : + return GRN_CHAR_KANJI; + case 0x87 : + return GRN_CHAR_KANJI; + case 0x88 : + return GRN_CHAR_KANJI; + case 0x89 : + return GRN_CHAR_KANJI; + case 0x8a : + return GRN_CHAR_KANJI; + case 0x8b : + return GRN_CHAR_KANJI; + case 0x8c : + return GRN_CHAR_KANJI; + case 0x8d : + return GRN_CHAR_KANJI; + case 0x8e : + return GRN_CHAR_KANJI; + case 0x8f : + return GRN_CHAR_KANJI; + case 0x90 : + return GRN_CHAR_KANJI; + case 0x91 : + return GRN_CHAR_KANJI; + case 0x92 : + return GRN_CHAR_KANJI; + case 0x93 : + return GRN_CHAR_KANJI; + case 0x94 : + return GRN_CHAR_KANJI; + case 0x95 : + return GRN_CHAR_KANJI; + case 0x96 : + return GRN_CHAR_KANJI; + case 0x97 : + return GRN_CHAR_KANJI; + case 0x98 : + return GRN_CHAR_KANJI; + case 0x99 : + return GRN_CHAR_KANJI; + case 0x9a : + return GRN_CHAR_KANJI; + case 0x9b : + return GRN_CHAR_KANJI; + case 0x9c : + return GRN_CHAR_KANJI; + case 0x9d : + return GRN_CHAR_KANJI; + case 0x9e : + return GRN_CHAR_KANJI; + case 0x9f : + return GRN_CHAR_KANJI; + case 0xa0 : + return GRN_CHAR_KANJI; + case 0xa1 : + return GRN_CHAR_KANJI; + case 0xa2 : + return GRN_CHAR_KANJI; + case 0xa3 : + return GRN_CHAR_KANJI; + case 0xa4 : + return GRN_CHAR_KANJI; + case 0xa5 : + return GRN_CHAR_KANJI; + case 0xa6 : + return GRN_CHAR_KANJI; + case 0xa7 : + return GRN_CHAR_KANJI; + case 0xa8 : + return GRN_CHAR_KANJI; + case 0xa9 : + return GRN_CHAR_KANJI; + case 0xaa : + return GRN_CHAR_KANJI; + case 0xab : + return GRN_CHAR_KANJI; + case 0xac : + return GRN_CHAR_KANJI; + case 0xad : + return GRN_CHAR_KANJI; + case 0xae : + return GRN_CHAR_KANJI; + case 0xaf : + return GRN_CHAR_KANJI; + case 0xb0 : + return GRN_CHAR_KANJI; + case 0xb1 : + return GRN_CHAR_KANJI; + case 0xb2 : + return GRN_CHAR_KANJI; + case 0xb3 : + return GRN_CHAR_KANJI; + case 0xb4 : + return GRN_CHAR_KANJI; + case 0xb5 : + return GRN_CHAR_KANJI; + case 0xb6 : + return GRN_CHAR_KANJI; + case 0xb7 : + return GRN_CHAR_SYMBOL; + case 0xb8 : + return GRN_CHAR_KANJI; + case 0xb9 : + return GRN_CHAR_KANJI; + case 0xba : + return GRN_CHAR_KANJI; + case 0xbb : + return GRN_CHAR_KANJI; + case 0xbc : + return GRN_CHAR_KANJI; + case 0xbd : + return GRN_CHAR_KANJI; + case 0xbe : + return GRN_CHAR_KANJI; + case 0xbf : + return GRN_CHAR_KANJI; + default : + break; + } + break; + case 0xe5 : + switch (utf8[1]) { + case 0x80 : + return GRN_CHAR_KANJI; + case 0x81 : + return GRN_CHAR_KANJI; + case 0x82 : + return GRN_CHAR_KANJI; + case 0x83 : + return GRN_CHAR_KANJI; + case 0x84 : + return GRN_CHAR_KANJI; + case 0x85 : + return GRN_CHAR_KANJI; + case 0x86 : + return GRN_CHAR_KANJI; + case 0x87 : + return GRN_CHAR_KANJI; + case 0x88 : + return GRN_CHAR_KANJI; + case 0x89 : + return GRN_CHAR_KANJI; + case 0x8a : + return GRN_CHAR_KANJI; + case 0x8b : + return GRN_CHAR_KANJI; + case 0x8c : + return GRN_CHAR_KANJI; + case 0x8d : + return GRN_CHAR_KANJI; + case 0x8e : + return GRN_CHAR_KANJI; + case 0x8f : + return GRN_CHAR_KANJI; + case 0x90 : + return GRN_CHAR_KANJI; + case 0x91 : + return GRN_CHAR_KANJI; + case 0x92 : + return GRN_CHAR_KANJI; + case 0x93 : + return GRN_CHAR_KANJI; + case 0x94 : + return GRN_CHAR_KANJI; + case 0x95 : + return GRN_CHAR_KANJI; + case 0x96 : + return GRN_CHAR_KANJI; + case 0x97 : + return GRN_CHAR_KANJI; + case 0x98 : + return GRN_CHAR_KANJI; + case 0x99 : + return GRN_CHAR_KANJI; + case 0x9a : + return GRN_CHAR_KANJI; + case 0x9b : + return GRN_CHAR_KANJI; + case 0x9c : + return GRN_CHAR_KANJI; + case 0x9d : + return GRN_CHAR_KANJI; + case 0x9e : + return GRN_CHAR_KANJI; + case 0x9f : + return GRN_CHAR_KANJI; + case 0xa0 : + return GRN_CHAR_KANJI; + case 0xa1 : + return GRN_CHAR_KANJI; + case 0xa2 : + return GRN_CHAR_KANJI; + case 0xa3 : + return GRN_CHAR_KANJI; + case 0xa4 : + return GRN_CHAR_KANJI; + case 0xa5 : + return GRN_CHAR_KANJI; + case 0xa6 : + return GRN_CHAR_KANJI; + case 0xa7 : + return GRN_CHAR_KANJI; + case 0xa8 : + return GRN_CHAR_KANJI; + case 0xa9 : + return GRN_CHAR_KANJI; + case 0xaa : + return GRN_CHAR_KANJI; + case 0xab : + return GRN_CHAR_KANJI; + case 0xac : + return GRN_CHAR_KANJI; + case 0xad : + return GRN_CHAR_KANJI; + case 0xae : + return GRN_CHAR_KANJI; + case 0xaf : + return GRN_CHAR_KANJI; + case 0xb0 : + return GRN_CHAR_KANJI; + case 0xb1 : + return GRN_CHAR_KANJI; + case 0xb2 : + return GRN_CHAR_KANJI; + case 0xb3 : + return GRN_CHAR_KANJI; + case 0xb4 : + return GRN_CHAR_KANJI; + case 0xb5 : + return GRN_CHAR_KANJI; + case 0xb6 : + return GRN_CHAR_KANJI; + case 0xb7 : + return GRN_CHAR_KANJI; + case 0xb8 : + return GRN_CHAR_KANJI; + case 0xb9 : + return GRN_CHAR_KANJI; + case 0xba : + return GRN_CHAR_KANJI; + case 0xbb : + return GRN_CHAR_KANJI; + case 0xbc : + return GRN_CHAR_KANJI; + case 0xbd : + return GRN_CHAR_KANJI; + case 0xbe : + return GRN_CHAR_KANJI; + case 0xbf : + return GRN_CHAR_KANJI; + default : + break; + } + break; + case 0xe6 : + switch (utf8[1]) { + case 0x80 : + return GRN_CHAR_KANJI; + case 0x81 : + return GRN_CHAR_KANJI; + case 0x82 : + return GRN_CHAR_KANJI; + case 0x83 : + return GRN_CHAR_KANJI; + case 0x84 : + return GRN_CHAR_KANJI; + case 0x85 : + return GRN_CHAR_KANJI; + case 0x86 : + return GRN_CHAR_KANJI; + case 0x87 : + return GRN_CHAR_KANJI; + case 0x88 : + return GRN_CHAR_KANJI; + case 0x89 : + return GRN_CHAR_KANJI; + case 0x8a : + return GRN_CHAR_KANJI; + case 0x8b : + return GRN_CHAR_KANJI; + case 0x8c : + return GRN_CHAR_KANJI; + case 0x8d : + return GRN_CHAR_KANJI; + case 0x8e : + return GRN_CHAR_KANJI; + case 0x8f : + return GRN_CHAR_KANJI; + case 0x90 : + return GRN_CHAR_KANJI; + case 0x91 : + return GRN_CHAR_KANJI; + case 0x92 : + return GRN_CHAR_KANJI; + case 0x93 : + return GRN_CHAR_KANJI; + case 0x94 : + return GRN_CHAR_KANJI; + case 0x95 : + return GRN_CHAR_KANJI; + case 0x96 : + return GRN_CHAR_KANJI; + case 0x97 : + return GRN_CHAR_KANJI; + case 0x98 : + return GRN_CHAR_KANJI; + case 0x99 : + return GRN_CHAR_KANJI; + case 0x9a : + return GRN_CHAR_KANJI; + case 0x9b : + return GRN_CHAR_KANJI; + case 0x9c : + return GRN_CHAR_KANJI; + case 0x9d : + return GRN_CHAR_KANJI; + case 0x9e : + return GRN_CHAR_KANJI; + case 0x9f : + return GRN_CHAR_KANJI; + case 0xa0 : + return GRN_CHAR_KANJI; + case 0xa1 : + return GRN_CHAR_KANJI; + case 0xa2 : + return GRN_CHAR_KANJI; + case 0xa3 : + return GRN_CHAR_KANJI; + case 0xa4 : + return GRN_CHAR_KANJI; + case 0xa5 : + return GRN_CHAR_KANJI; + case 0xa6 : + return GRN_CHAR_KANJI; + case 0xa7 : + return GRN_CHAR_KANJI; + case 0xa8 : + return GRN_CHAR_KANJI; + case 0xa9 : + return GRN_CHAR_KANJI; + case 0xaa : + return GRN_CHAR_KANJI; + case 0xab : + return GRN_CHAR_KANJI; + case 0xac : + return GRN_CHAR_KANJI; + case 0xad : + return GRN_CHAR_KANJI; + case 0xae : + return GRN_CHAR_KANJI; + case 0xaf : + return GRN_CHAR_KANJI; + case 0xb0 : + return GRN_CHAR_KANJI; + case 0xb1 : + return GRN_CHAR_KANJI; + case 0xb2 : + return GRN_CHAR_KANJI; + case 0xb3 : + return GRN_CHAR_KANJI; + case 0xb4 : + return GRN_CHAR_KANJI; + case 0xb5 : + return GRN_CHAR_KANJI; + case 0xb6 : + return GRN_CHAR_KANJI; + case 0xb7 : + return GRN_CHAR_KANJI; + case 0xb8 : + return GRN_CHAR_KANJI; + case 0xb9 : + return GRN_CHAR_KANJI; + case 0xba : + return GRN_CHAR_KANJI; + case 0xbb : + return GRN_CHAR_KANJI; + case 0xbc : + return GRN_CHAR_KANJI; + case 0xbd : + return GRN_CHAR_KANJI; + case 0xbe : + return GRN_CHAR_KANJI; + case 0xbf : + return GRN_CHAR_KANJI; + default : + break; + } + break; + case 0xe7 : + switch (utf8[1]) { + case 0x80 : + return GRN_CHAR_KANJI; + case 0x81 : + return GRN_CHAR_KANJI; + case 0x82 : + return GRN_CHAR_KANJI; + case 0x83 : + return GRN_CHAR_KANJI; + case 0x84 : + return GRN_CHAR_KANJI; + case 0x85 : + return GRN_CHAR_KANJI; + case 0x86 : + return GRN_CHAR_KANJI; + case 0x87 : + return GRN_CHAR_KANJI; + case 0x88 : + return GRN_CHAR_KANJI; + case 0x89 : + return GRN_CHAR_KANJI; + case 0x8a : + return GRN_CHAR_KANJI; + case 0x8b : + return GRN_CHAR_KANJI; + case 0x8c : + return GRN_CHAR_KANJI; + case 0x8d : + return GRN_CHAR_KANJI; + case 0x8e : + return GRN_CHAR_KANJI; + case 0x8f : + return GRN_CHAR_KANJI; + case 0x90 : + return GRN_CHAR_KANJI; + case 0x91 : + return GRN_CHAR_KANJI; + case 0x92 : + return GRN_CHAR_KANJI; + case 0x93 : + return GRN_CHAR_KANJI; + case 0x94 : + return GRN_CHAR_KANJI; + case 0x95 : + return GRN_CHAR_KANJI; + case 0x96 : + return GRN_CHAR_KANJI; + case 0x97 : + return GRN_CHAR_KANJI; + case 0x98 : + return GRN_CHAR_KANJI; + case 0x99 : + return GRN_CHAR_KANJI; + case 0x9a : + return GRN_CHAR_KANJI; + case 0x9b : + return GRN_CHAR_KANJI; + case 0x9c : + return GRN_CHAR_KANJI; + case 0x9d : + return GRN_CHAR_KANJI; + case 0x9e : + return GRN_CHAR_KANJI; + case 0x9f : + return GRN_CHAR_KANJI; + case 0xa0 : + return GRN_CHAR_KANJI; + case 0xa1 : + return GRN_CHAR_KANJI; + case 0xa2 : + return GRN_CHAR_KANJI; + case 0xa3 : + return GRN_CHAR_KANJI; + case 0xa4 : + return GRN_CHAR_KANJI; + case 0xa5 : + return GRN_CHAR_KANJI; + case 0xa6 : + return GRN_CHAR_KANJI; + case 0xa7 : + return GRN_CHAR_KANJI; + case 0xa8 : + return GRN_CHAR_KANJI; + case 0xa9 : + return GRN_CHAR_KANJI; + case 0xaa : + return GRN_CHAR_KANJI; + case 0xab : + return GRN_CHAR_KANJI; + case 0xac : + return GRN_CHAR_KANJI; + case 0xad : + return GRN_CHAR_KANJI; + case 0xae : + return GRN_CHAR_KANJI; + case 0xaf : + return GRN_CHAR_KANJI; + case 0xb0 : + return GRN_CHAR_KANJI; + case 0xb1 : + return GRN_CHAR_KANJI; + case 0xb2 : + return GRN_CHAR_KANJI; + case 0xb3 : + return GRN_CHAR_KANJI; + case 0xb4 : + return GRN_CHAR_KANJI; + case 0xb5 : + return GRN_CHAR_KANJI; + case 0xb6 : + return GRN_CHAR_KANJI; + case 0xb7 : + return GRN_CHAR_KANJI; + case 0xb8 : + return GRN_CHAR_KANJI; + case 0xb9 : + return GRN_CHAR_KANJI; + case 0xba : + return GRN_CHAR_KANJI; + case 0xbb : + return GRN_CHAR_KANJI; + case 0xbc : + return GRN_CHAR_KANJI; + case 0xbd : + return GRN_CHAR_KANJI; + case 0xbe : + return GRN_CHAR_KANJI; + case 0xbf : + return GRN_CHAR_KANJI; + default : + break; + } + break; + case 0xe8 : + switch (utf8[1]) { + case 0x80 : + return GRN_CHAR_KANJI; + case 0x81 : + return GRN_CHAR_KANJI; + case 0x82 : + return GRN_CHAR_KANJI; + case 0x83 : + return GRN_CHAR_KANJI; + case 0x84 : + return GRN_CHAR_KANJI; + case 0x85 : + return GRN_CHAR_KANJI; + case 0x86 : + return GRN_CHAR_KANJI; + case 0x87 : + return GRN_CHAR_KANJI; + case 0x88 : + return GRN_CHAR_KANJI; + case 0x89 : + return GRN_CHAR_KANJI; + case 0x8a : + return GRN_CHAR_KANJI; + case 0x8b : + return GRN_CHAR_KANJI; + case 0x8c : + return GRN_CHAR_KANJI; + case 0x8d : + return GRN_CHAR_KANJI; + case 0x8e : + return GRN_CHAR_KANJI; + case 0x8f : + return GRN_CHAR_KANJI; + case 0x90 : + return GRN_CHAR_KANJI; + case 0x91 : + return GRN_CHAR_KANJI; + case 0x92 : + return GRN_CHAR_KANJI; + case 0x93 : + return GRN_CHAR_KANJI; + case 0x94 : + return GRN_CHAR_KANJI; + case 0x95 : + return GRN_CHAR_KANJI; + case 0x96 : + return GRN_CHAR_KANJI; + case 0x97 : + return GRN_CHAR_KANJI; + case 0x98 : + return GRN_CHAR_KANJI; + case 0x99 : + return GRN_CHAR_KANJI; + case 0x9a : + return GRN_CHAR_KANJI; + case 0x9b : + return GRN_CHAR_KANJI; + case 0x9c : + return GRN_CHAR_KANJI; + case 0x9d : + return GRN_CHAR_KANJI; + case 0x9e : + return GRN_CHAR_KANJI; + case 0x9f : + return GRN_CHAR_KANJI; + case 0xa0 : + return GRN_CHAR_KANJI; + case 0xa1 : + return GRN_CHAR_KANJI; + case 0xa2 : + return GRN_CHAR_KANJI; + case 0xa3 : + return GRN_CHAR_KANJI; + case 0xa4 : + return GRN_CHAR_KANJI; + case 0xa5 : + return GRN_CHAR_KANJI; + case 0xa6 : + return GRN_CHAR_KANJI; + case 0xa7 : + return GRN_CHAR_KANJI; + case 0xa8 : + return GRN_CHAR_KANJI; + case 0xa9 : + return GRN_CHAR_KANJI; + case 0xaa : + return GRN_CHAR_KANJI; + case 0xab : + return GRN_CHAR_KANJI; + case 0xac : + return GRN_CHAR_KANJI; + case 0xad : + return GRN_CHAR_KANJI; + case 0xae : + return GRN_CHAR_KANJI; + case 0xaf : + return GRN_CHAR_KANJI; + case 0xb0 : + return GRN_CHAR_KANJI; + case 0xb1 : + return GRN_CHAR_KANJI; + case 0xb2 : + return GRN_CHAR_KANJI; + case 0xb3 : + return GRN_CHAR_KANJI; + case 0xb4 : + return GRN_CHAR_KANJI; + case 0xb5 : + return GRN_CHAR_KANJI; + case 0xb6 : + return GRN_CHAR_KANJI; + case 0xb7 : + return GRN_CHAR_KANJI; + case 0xb8 : + return GRN_CHAR_KANJI; + case 0xb9 : + return GRN_CHAR_KANJI; + case 0xba : + return GRN_CHAR_KANJI; + case 0xbb : + return GRN_CHAR_KANJI; + case 0xbc : + return GRN_CHAR_KANJI; + case 0xbd : + return GRN_CHAR_KANJI; + case 0xbe : + return GRN_CHAR_KANJI; + case 0xbf : + return GRN_CHAR_KANJI; + default : + break; + } + break; + case 0xe9 : + switch (utf8[1]) { + case 0x80 : + return GRN_CHAR_KANJI; + case 0x81 : + return GRN_CHAR_KANJI; + case 0x82 : + return GRN_CHAR_KANJI; + case 0x83 : + return GRN_CHAR_KANJI; + case 0x84 : + return GRN_CHAR_KANJI; + case 0x85 : + return GRN_CHAR_KANJI; + case 0x86 : + return GRN_CHAR_KANJI; + case 0x87 : + return GRN_CHAR_KANJI; + case 0x88 : + return GRN_CHAR_KANJI; + case 0x89 : + return GRN_CHAR_KANJI; + case 0x8a : + return GRN_CHAR_KANJI; + case 0x8b : + return GRN_CHAR_KANJI; + case 0x8c : + return GRN_CHAR_KANJI; + case 0x8d : + return GRN_CHAR_KANJI; + case 0x8e : + return GRN_CHAR_KANJI; + case 0x8f : + return GRN_CHAR_KANJI; + case 0x90 : + return GRN_CHAR_KANJI; + case 0x91 : + return GRN_CHAR_KANJI; + case 0x92 : + return GRN_CHAR_KANJI; + case 0x93 : + return GRN_CHAR_KANJI; + case 0x94 : + return GRN_CHAR_KANJI; + case 0x95 : + return GRN_CHAR_KANJI; + case 0x96 : + return GRN_CHAR_KANJI; + case 0x97 : + return GRN_CHAR_KANJI; + case 0x98 : + return GRN_CHAR_KANJI; + case 0x99 : + return GRN_CHAR_KANJI; + case 0x9a : + return GRN_CHAR_KANJI; + case 0x9b : + return GRN_CHAR_KANJI; + case 0x9c : + return GRN_CHAR_KANJI; + case 0x9d : + return GRN_CHAR_KANJI; + case 0x9e : + return GRN_CHAR_KANJI; + case 0x9f : + return GRN_CHAR_KANJI; + case 0xa0 : + return GRN_CHAR_KANJI; + case 0xa1 : + return GRN_CHAR_KANJI; + case 0xa2 : + return GRN_CHAR_KANJI; + case 0xa3 : + return GRN_CHAR_KANJI; + case 0xa4 : + return GRN_CHAR_KANJI; + case 0xa5 : + return GRN_CHAR_KANJI; + case 0xa6 : + return GRN_CHAR_KANJI; + case 0xa7 : + return GRN_CHAR_KANJI; + case 0xa8 : + return GRN_CHAR_KANJI; + case 0xa9 : + return GRN_CHAR_KANJI; + case 0xaa : + return GRN_CHAR_KANJI; + case 0xab : + return GRN_CHAR_KANJI; + case 0xac : + return GRN_CHAR_KANJI; + case 0xad : + return GRN_CHAR_KANJI; + case 0xae : + return GRN_CHAR_KANJI; + case 0xaf : + return GRN_CHAR_KANJI; + case 0xb0 : + return GRN_CHAR_KANJI; + case 0xb1 : + return GRN_CHAR_KANJI; + case 0xb2 : + return GRN_CHAR_KANJI; + case 0xb3 : + return GRN_CHAR_KANJI; + case 0xb4 : + return GRN_CHAR_KANJI; + case 0xb5 : + return GRN_CHAR_KANJI; + case 0xb6 : + return GRN_CHAR_KANJI; + case 0xb7 : + return GRN_CHAR_KANJI; + case 0xb8 : + return GRN_CHAR_KANJI; + case 0xb9 : + return GRN_CHAR_KANJI; + case 0xba : + return GRN_CHAR_KANJI; + case 0xbb : + return GRN_CHAR_KANJI; + case 0xbc : + return GRN_CHAR_KANJI; + case 0xbd : + return GRN_CHAR_KANJI; + case 0xbe : + return GRN_CHAR_KANJI; + case 0xbf : + return GRN_CHAR_KANJI; + default : + break; + } + break; + case 0xea : + switch (utf8[1]) { + case 0x80 : + return GRN_CHAR_KANJI; + case 0x81 : + return GRN_CHAR_KANJI; + case 0x82 : + return GRN_CHAR_KANJI; + case 0x83 : + return GRN_CHAR_KANJI; + case 0x84 : + return GRN_CHAR_KANJI; + case 0x85 : + return GRN_CHAR_KANJI; + case 0x86 : + return GRN_CHAR_KANJI; + case 0x87 : + return GRN_CHAR_KANJI; + case 0x88 : + return GRN_CHAR_KANJI; + case 0x89 : + return GRN_CHAR_KANJI; + case 0x8a : + return GRN_CHAR_KANJI; + case 0x8b : + return GRN_CHAR_KANJI; + case 0x8c : + return GRN_CHAR_KANJI; + case 0x8d : + return GRN_CHAR_KANJI; + case 0x8e : + return GRN_CHAR_KANJI; + case 0x8f : + return GRN_CHAR_KANJI; + case 0x90 : + return GRN_CHAR_KANJI; + case 0x91 : + return GRN_CHAR_KANJI; + case 0x92 : + return GRN_CHAR_KANJI; + case 0x93 : + return grn_nfkc121_char_type_table_ea93[utf8[2] - 0x80]; + case 0x94 : + return GRN_CHAR_ALPHA; + case 0x95 : + return GRN_CHAR_ALPHA; + case 0x96 : + return GRN_CHAR_ALPHA; + case 0x97 : + return GRN_CHAR_ALPHA; + case 0x98 : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xab) { + return grn_nfkc121_char_type_table_ea98[utf8[2] - 0x80]; + } + break; + case 0x99 : + return grn_nfkc121_char_type_table_ea99[utf8[2] - 0x80]; + case 0x9a : + return grn_nfkc121_char_type_table_ea9a[utf8[2] - 0x80]; + case 0x9b : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xb7) { + return grn_nfkc121_char_type_table_ea9b[utf8[2] - 0x80]; + } + break; + case 0x9c : + return grn_nfkc121_char_type_table_ea9c[utf8[2] - 0x80]; + case 0x9d : + return GRN_CHAR_ALPHA; + case 0x9e : + return grn_nfkc121_char_type_table_ea9e[utf8[2] - 0x80]; + case 0x9f : + if (utf8[2] >= 0x82 && + utf8[2] <= 0xbf) { + return grn_nfkc121_char_type_table_ea9f[utf8[2] - 0x82]; + } + break; + case 0xa0 : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xb9) { + return grn_nfkc121_char_type_table_eaa0[utf8[2] - 0x80]; + } + break; + case 0xa1 : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xb7) { + return grn_nfkc121_char_type_table_eaa1[utf8[2] - 0x80]; + } + break; + case 0xa2 : + if (utf8[2] >= 0x82 && + utf8[2] <= 0xb3) { + return GRN_CHAR_ALPHA; + } + break; + case 0xa3 : + if (utf8[2] >= 0x8e && + utf8[2] <= 0xbe) { + return grn_nfkc121_char_type_table_eaa3[utf8[2] - 0x8e]; + } + break; + case 0xa4 : + return grn_nfkc121_char_type_table_eaa4[utf8[2] - 0x80]; + case 0xa5 : + return grn_nfkc121_char_type_table_eaa5[utf8[2] - 0x80]; + case 0xa6 : + if (utf8[2] >= 0x84 && + utf8[2] <= 0xb2) { + return GRN_CHAR_ALPHA; + } + break; + case 0xa7 : + if (utf8[2] >= 0x81 && + utf8[2] <= 0xbe) { + return grn_nfkc121_char_type_table_eaa7[utf8[2] - 0x81]; + } + break; + case 0xa8 : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xa8) { + return GRN_CHAR_ALPHA; + } + break; + case 0xa9 : + return grn_nfkc121_char_type_table_eaa9[utf8[2] - 0x80]; + case 0xaa : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xbd) { + return grn_nfkc121_char_type_table_eaaa[utf8[2] - 0x80]; + } + break; + case 0xab : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xb4) { + return grn_nfkc121_char_type_table_eaab[utf8[2] - 0x80]; + } + break; + case 0xac : + if (utf8[2] >= 0x81 && + utf8[2] <= 0xbf) { + return grn_nfkc121_char_type_table_eaac[utf8[2] - 0x81]; + } + break; + case 0xad : + return grn_nfkc121_char_type_table_eaad[utf8[2] - 0x80]; + case 0xae : + return GRN_CHAR_ALPHA; + case 0xaf : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xb9) { + return grn_nfkc121_char_type_table_eaaf[utf8[2] - 0x80]; + } + break; + case 0xb0 : + return GRN_CHAR_KANJI; + case 0xb1 : + return GRN_CHAR_KANJI; + case 0xb2 : + return GRN_CHAR_KANJI; + case 0xb3 : + return GRN_CHAR_KANJI; + case 0xb4 : + return GRN_CHAR_KANJI; + case 0xb5 : + return GRN_CHAR_KANJI; + case 0xb6 : + return GRN_CHAR_KANJI; + case 0xb7 : + return GRN_CHAR_KANJI; + case 0xb8 : + return GRN_CHAR_KANJI; + case 0xb9 : + return GRN_CHAR_KANJI; + case 0xba : + return GRN_CHAR_KANJI; + case 0xbb : + return GRN_CHAR_KANJI; + case 0xbc : + return GRN_CHAR_KANJI; + case 0xbd : + return GRN_CHAR_KANJI; + case 0xbe : + return GRN_CHAR_KANJI; + case 0xbf : + return GRN_CHAR_KANJI; + default : + break; + } + break; + case 0xeb : + switch (utf8[1]) { + case 0x80 : + return GRN_CHAR_KANJI; + case 0x81 : + return GRN_CHAR_KANJI; + case 0x82 : + return GRN_CHAR_KANJI; + case 0x83 : + return GRN_CHAR_KANJI; + case 0x84 : + return GRN_CHAR_KANJI; + case 0x85 : + return GRN_CHAR_KANJI; + case 0x86 : + return GRN_CHAR_KANJI; + case 0x87 : + return GRN_CHAR_KANJI; + case 0x88 : + return GRN_CHAR_KANJI; + case 0x89 : + return GRN_CHAR_KANJI; + case 0x8a : + return GRN_CHAR_KANJI; + case 0x8b : + return GRN_CHAR_KANJI; + case 0x8c : + return GRN_CHAR_KANJI; + case 0x8d : + return GRN_CHAR_KANJI; + case 0x8e : + return GRN_CHAR_KANJI; + case 0x8f : + return GRN_CHAR_KANJI; + case 0x90 : + return GRN_CHAR_KANJI; + case 0x91 : + return GRN_CHAR_KANJI; + case 0x92 : + return GRN_CHAR_KANJI; + case 0x93 : + return GRN_CHAR_KANJI; + case 0x94 : + return GRN_CHAR_KANJI; + case 0x95 : + return GRN_CHAR_KANJI; + case 0x96 : + return GRN_CHAR_KANJI; + case 0x97 : + return GRN_CHAR_KANJI; + case 0x98 : + return GRN_CHAR_KANJI; + case 0x99 : + return GRN_CHAR_KANJI; + case 0x9a : + return GRN_CHAR_KANJI; + case 0x9b : + return GRN_CHAR_KANJI; + case 0x9c : + return GRN_CHAR_KANJI; + case 0x9d : + return GRN_CHAR_KANJI; + case 0x9e : + return GRN_CHAR_KANJI; + case 0x9f : + return GRN_CHAR_KANJI; + case 0xa0 : + return GRN_CHAR_KANJI; + case 0xa1 : + return GRN_CHAR_KANJI; + case 0xa2 : + return GRN_CHAR_KANJI; + case 0xa3 : + return GRN_CHAR_KANJI; + case 0xa4 : + return GRN_CHAR_KANJI; + case 0xa5 : + return GRN_CHAR_KANJI; + case 0xa6 : + return GRN_CHAR_KANJI; + case 0xa7 : + return GRN_CHAR_KANJI; + case 0xa8 : + return GRN_CHAR_KANJI; + case 0xa9 : + return GRN_CHAR_KANJI; + case 0xaa : + return GRN_CHAR_KANJI; + case 0xab : + return GRN_CHAR_KANJI; + case 0xac : + return GRN_CHAR_KANJI; + case 0xad : + return GRN_CHAR_KANJI; + case 0xae : + return GRN_CHAR_KANJI; + case 0xaf : + return GRN_CHAR_KANJI; + case 0xb0 : + return GRN_CHAR_KANJI; + case 0xb1 : + return GRN_CHAR_KANJI; + case 0xb2 : + return GRN_CHAR_KANJI; + case 0xb3 : + return GRN_CHAR_KANJI; + case 0xb4 : + return GRN_CHAR_KANJI; + case 0xb5 : + return GRN_CHAR_KANJI; + case 0xb6 : + return GRN_CHAR_KANJI; + case 0xb7 : + return GRN_CHAR_KANJI; + case 0xb8 : + return GRN_CHAR_KANJI; + case 0xb9 : + return GRN_CHAR_KANJI; + case 0xba : + return GRN_CHAR_KANJI; + case 0xbb : + return GRN_CHAR_KANJI; + case 0xbc : + return GRN_CHAR_KANJI; + case 0xbd : + return GRN_CHAR_KANJI; + case 0xbe : + return GRN_CHAR_KANJI; + case 0xbf : + return GRN_CHAR_KANJI; + default : + break; + } + break; + case 0xec : + switch (utf8[1]) { + case 0x80 : + return GRN_CHAR_KANJI; + case 0x81 : + return GRN_CHAR_KANJI; + case 0x82 : + return GRN_CHAR_KANJI; + case 0x83 : + return GRN_CHAR_KANJI; + case 0x84 : + return GRN_CHAR_KANJI; + case 0x85 : + return GRN_CHAR_KANJI; + case 0x86 : + return GRN_CHAR_KANJI; + case 0x87 : + return GRN_CHAR_KANJI; + case 0x88 : + return GRN_CHAR_KANJI; + case 0x89 : + return GRN_CHAR_KANJI; + case 0x8a : + return GRN_CHAR_KANJI; + case 0x8b : + return GRN_CHAR_KANJI; + case 0x8c : + return GRN_CHAR_KANJI; + case 0x8d : + return GRN_CHAR_KANJI; + case 0x8e : + return GRN_CHAR_KANJI; + case 0x8f : + return GRN_CHAR_KANJI; + case 0x90 : + return GRN_CHAR_KANJI; + case 0x91 : + return GRN_CHAR_KANJI; + case 0x92 : + return GRN_CHAR_KANJI; + case 0x93 : + return GRN_CHAR_KANJI; + case 0x94 : + return GRN_CHAR_KANJI; + case 0x95 : + return GRN_CHAR_KANJI; + case 0x96 : + return GRN_CHAR_KANJI; + case 0x97 : + return GRN_CHAR_KANJI; + case 0x98 : + return GRN_CHAR_KANJI; + case 0x99 : + return GRN_CHAR_KANJI; + case 0x9a : + return GRN_CHAR_KANJI; + case 0x9b : + return GRN_CHAR_KANJI; + case 0x9c : + return GRN_CHAR_KANJI; + case 0x9d : + return GRN_CHAR_KANJI; + case 0x9e : + return GRN_CHAR_KANJI; + case 0x9f : + return GRN_CHAR_KANJI; + case 0xa0 : + return GRN_CHAR_KANJI; + case 0xa1 : + return GRN_CHAR_KANJI; + case 0xa2 : + return GRN_CHAR_KANJI; + case 0xa3 : + return GRN_CHAR_KANJI; + case 0xa4 : + return GRN_CHAR_KANJI; + case 0xa5 : + return GRN_CHAR_KANJI; + case 0xa6 : + return GRN_CHAR_KANJI; + case 0xa7 : + return GRN_CHAR_KANJI; + case 0xa8 : + return GRN_CHAR_KANJI; + case 0xa9 : + return GRN_CHAR_KANJI; + case 0xaa : + return GRN_CHAR_KANJI; + case 0xab : + return GRN_CHAR_KANJI; + case 0xac : + return GRN_CHAR_KANJI; + case 0xad : + return GRN_CHAR_KANJI; + case 0xae : + return GRN_CHAR_KANJI; + case 0xaf : + return GRN_CHAR_KANJI; + case 0xb0 : + return GRN_CHAR_KANJI; + case 0xb1 : + return GRN_CHAR_KANJI; + case 0xb2 : + return GRN_CHAR_KANJI; + case 0xb3 : + return GRN_CHAR_KANJI; + case 0xb4 : + return GRN_CHAR_KANJI; + case 0xb5 : + return GRN_CHAR_KANJI; + case 0xb6 : + return GRN_CHAR_KANJI; + case 0xb7 : + return GRN_CHAR_KANJI; + case 0xb8 : + return GRN_CHAR_KANJI; + case 0xb9 : + return GRN_CHAR_KANJI; + case 0xba : + return GRN_CHAR_KANJI; + case 0xbb : + return GRN_CHAR_KANJI; + case 0xbc : + return GRN_CHAR_KANJI; + case 0xbd : + return GRN_CHAR_KANJI; + case 0xbe : + return GRN_CHAR_KANJI; + case 0xbf : + return GRN_CHAR_KANJI; + default : + break; + } + break; + case 0xed : + switch (utf8[1]) { + case 0x80 : + return GRN_CHAR_KANJI; + case 0x81 : + return GRN_CHAR_KANJI; + case 0x82 : + return GRN_CHAR_KANJI; + case 0x83 : + return GRN_CHAR_KANJI; + case 0x84 : + return GRN_CHAR_KANJI; + case 0x85 : + return GRN_CHAR_KANJI; + case 0x86 : + return GRN_CHAR_KANJI; + case 0x87 : + return GRN_CHAR_KANJI; + case 0x88 : + return GRN_CHAR_KANJI; + case 0x89 : + return GRN_CHAR_KANJI; + case 0x8a : + return GRN_CHAR_KANJI; + case 0x8b : + return GRN_CHAR_KANJI; + case 0x8c : + return GRN_CHAR_KANJI; + case 0x8d : + return GRN_CHAR_KANJI; + case 0x8e : + return GRN_CHAR_KANJI; + case 0x8f : + return GRN_CHAR_KANJI; + case 0x90 : + return GRN_CHAR_KANJI; + case 0x91 : + return GRN_CHAR_KANJI; + case 0x92 : + return GRN_CHAR_KANJI; + case 0x93 : + return GRN_CHAR_KANJI; + case 0x94 : + return GRN_CHAR_KANJI; + case 0x95 : + return GRN_CHAR_KANJI; + case 0x96 : + return GRN_CHAR_KANJI; + case 0x97 : + return GRN_CHAR_KANJI; + case 0x98 : + return GRN_CHAR_KANJI; + case 0x99 : + return GRN_CHAR_KANJI; + case 0x9a : + return GRN_CHAR_KANJI; + case 0x9b : + return GRN_CHAR_KANJI; + case 0x9c : + return GRN_CHAR_KANJI; + case 0x9d : + return GRN_CHAR_KANJI; + case 0x9e : + return GRN_CHAR_KANJI; + case 0x9f : + return GRN_CHAR_KANJI; + case 0xa0 : + return GRN_CHAR_KANJI; + case 0xa1 : + return GRN_CHAR_KANJI; + case 0xa2 : + return GRN_CHAR_KANJI; + case 0xa3 : + return GRN_CHAR_KANJI; + case 0xa4 : + return GRN_CHAR_KANJI; + case 0xa5 : + return GRN_CHAR_KANJI; + case 0xa6 : + return GRN_CHAR_KANJI; + case 0xa7 : + return GRN_CHAR_KANJI; + case 0xa8 : + return GRN_CHAR_KANJI; + case 0xa9 : + return GRN_CHAR_KANJI; + case 0xaa : + return GRN_CHAR_KANJI; + case 0xab : + return GRN_CHAR_KANJI; + case 0xac : + return GRN_CHAR_KANJI; + case 0xad : + return GRN_CHAR_KANJI; + case 0xae : + return GRN_CHAR_KANJI; + case 0xaf : + return GRN_CHAR_KANJI; + case 0xb0 : + return GRN_CHAR_KANJI; + case 0xb1 : + return GRN_CHAR_KANJI; + case 0xb2 : + return GRN_CHAR_KANJI; + case 0xb3 : + return GRN_CHAR_KANJI; + case 0xb4 : + return GRN_CHAR_KANJI; + case 0xb5 : + return GRN_CHAR_KANJI; + case 0xb6 : + return GRN_CHAR_KANJI; + case 0xb7 : + return GRN_CHAR_KANJI; + case 0xb8 : + return GRN_CHAR_KANJI; + case 0xb9 : + return GRN_CHAR_KANJI; + case 0xba : + return GRN_CHAR_KANJI; + case 0xbb : + return GRN_CHAR_KANJI; + case 0xbc : + return GRN_CHAR_KANJI; + case 0xbd : + return GRN_CHAR_KANJI; + case 0xbe : + return GRN_CHAR_KANJI; + case 0xbf : + return GRN_CHAR_KANJI; + default : + break; + } + break; + case 0xef : + switch (utf8[1]) { + case 0xa4 : + return GRN_CHAR_KANJI; + case 0xa5 : + return GRN_CHAR_KANJI; + case 0xa6 : + return GRN_CHAR_KANJI; + case 0xa7 : + return GRN_CHAR_KANJI; + case 0xa8 : + return GRN_CHAR_KANJI; + case 0xa9 : + return GRN_CHAR_KANJI; + case 0xaa : + return GRN_CHAR_KANJI; + case 0xab : + return GRN_CHAR_KANJI; + case 0xac : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xbe) { + return grn_nfkc121_char_type_table_efac[utf8[2] - 0x80]; + } + break; + case 0xad : + return grn_nfkc121_char_type_table_efad[utf8[2] - 0x80]; + case 0xae : + return grn_nfkc121_char_type_table_efae[utf8[2] - 0x80]; + case 0xaf : + return grn_nfkc121_char_type_table_efaf[utf8[2] - 0x80]; + case 0xb0 : + return GRN_CHAR_ALPHA; + case 0xb1 : + return GRN_CHAR_ALPHA; + case 0xb2 : + return GRN_CHAR_ALPHA; + case 0xb3 : + return GRN_CHAR_ALPHA; + case 0xb4 : + return grn_nfkc121_char_type_table_efb4[utf8[2] - 0x80]; + case 0xb5 : + if (utf8[2] >= 0x90 && + utf8[2] <= 0xbf) { + return GRN_CHAR_ALPHA; + } + break; + case 0xb6 : + return grn_nfkc121_char_type_table_efb6[utf8[2] - 0x80]; + case 0xb7 : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xbd) { + return grn_nfkc121_char_type_table_efb7[utf8[2] - 0x80]; + } + break; + case 0xb8 : + if (utf8[2] >= 0x90 && + utf8[2] <= 0xbf) { + return grn_nfkc121_char_type_table_efb8[utf8[2] - 0x90]; + } + break; + case 0xb9 : + return grn_nfkc121_char_type_table_efb9[utf8[2] - 0x80]; + case 0xba : + return GRN_CHAR_ALPHA; + case 0xbb : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xbc) { + return GRN_CHAR_ALPHA; + } + break; + case 0xbc : + if (utf8[2] >= 0x81 && + utf8[2] <= 0xbf) { + return grn_nfkc121_char_type_table_efbc[utf8[2] - 0x81]; + } + break; + case 0xbd : + return grn_nfkc121_char_type_table_efbd[utf8[2] - 0x80]; + case 0xbe : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xbe) { + return GRN_CHAR_ALPHA; + } + break; + case 0xbf : + if (utf8[2] >= 0x82 && + utf8[2] <= 0xbf) { + return grn_nfkc121_char_type_table_efbf[utf8[2] - 0x82]; + } + break; + default : + break; + } + break; + case 0xf0 : + switch (utf8[1]) { + case 0x90 : + switch (utf8[2]) { + case 0x80 : + return grn_nfkc121_char_type_table_f09080[utf8[3] - 0x80]; + case 0x81 : + if (utf8[3] >= 0x80 && + utf8[3] <= 0x9d) { + return grn_nfkc121_char_type_table_f09081[utf8[3] - 0x80]; + } + break; + case 0x82 : + return GRN_CHAR_ALPHA; + case 0x83 : + if (utf8[3] >= 0x80 && + utf8[3] <= 0xba) { + return GRN_CHAR_ALPHA; + } + break; + case 0x84 : + return grn_nfkc121_char_type_table_f09084[utf8[3] - 0x80]; + case 0x85 : + return grn_nfkc121_char_type_table_f09085[utf8[3] - 0x80]; + case 0x86 : + if (utf8[3] >= 0x80 && + utf8[3] <= 0xa0) { + return grn_nfkc121_char_type_table_f09086[utf8[3] - 0x80]; + } + break; + case 0x87 : + if (utf8[3] >= 0x90 && + utf8[3] <= 0xbc) { + return GRN_CHAR_SYMBOL; + } + break; + case 0x8a : + return grn_nfkc121_char_type_table_f0908a[utf8[3] - 0x80]; + case 0x8b : + if (utf8[3] >= 0x80 && + utf8[3] <= 0xbb) { + return grn_nfkc121_char_type_table_f0908b[utf8[3] - 0x80]; + } + break; + case 0x8c : + return grn_nfkc121_char_type_table_f0908c[utf8[3] - 0x80]; + case 0x8d : + if (utf8[3] >= 0x80 && + utf8[3] <= 0xb5) { + return grn_nfkc121_char_type_table_f0908d[utf8[3] - 0x80]; + } + break; + case 0x8e : + return grn_nfkc121_char_type_table_f0908e[utf8[3] - 0x80]; + case 0x8f : + if (utf8[3] >= 0x80 && + utf8[3] <= 0x95) { + return grn_nfkc121_char_type_table_f0908f[utf8[3] - 0x80]; + } + break; + case 0x90 : + return GRN_CHAR_ALPHA; + case 0x91 : + return GRN_CHAR_ALPHA; + case 0x92 : + return grn_nfkc121_char_type_table_f09092[utf8[3] - 0x80]; + case 0x93 : + if (utf8[3] >= 0x80 && + utf8[3] <= 0xbb) { + return grn_nfkc121_char_type_table_f09093[utf8[3] - 0x80]; + } + break; + case 0x94 : + return grn_nfkc121_char_type_table_f09094[utf8[3] - 0x80]; + case 0x95 : + if (utf8[3] >= 0x80 && + utf8[3] <= 0xaf) { + return grn_nfkc121_char_type_table_f09095[utf8[3] - 0x80]; + } + break; + case 0x98 : + return GRN_CHAR_ALPHA; + case 0x99 : + return GRN_CHAR_ALPHA; + case 0x9a : + return GRN_CHAR_ALPHA; + case 0x9b : + return GRN_CHAR_ALPHA; + case 0x9c : + if (utf8[3] >= 0x80 && + utf8[3] <= 0xb6) { + return GRN_CHAR_ALPHA; + } + break; + case 0x9d : + if (utf8[3] >= 0x80 && + utf8[3] <= 0xa7) { + return grn_nfkc121_char_type_table_f0909d[utf8[3] - 0x80]; + } + break; + case 0xa0 : + return grn_nfkc121_char_type_table_f090a0[utf8[3] - 0x80]; + case 0xa1 : + return grn_nfkc121_char_type_table_f090a1[utf8[3] - 0x80]; + case 0xa2 : + if (utf8[3] >= 0x80 && + utf8[3] <= 0xaf) { + return grn_nfkc121_char_type_table_f090a2[utf8[3] - 0x80]; + } + break; + case 0xa3 : + if (utf8[3] >= 0xa0 && + utf8[3] <= 0xbf) { + return grn_nfkc121_char_type_table_f090a3[utf8[3] - 0xa0]; + } + break; + case 0xa4 : + return grn_nfkc121_char_type_table_f090a4[utf8[3] - 0x80]; + case 0xa6 : + return grn_nfkc121_char_type_table_f090a6[utf8[3] - 0x80]; + case 0xa7 : + return grn_nfkc121_char_type_table_f090a7[utf8[3] - 0x80]; + case 0xa8 : + if (utf8[3] >= 0x80 && + utf8[3] <= 0xb5) { + return grn_nfkc121_char_type_table_f090a8[utf8[3] - 0x80]; + } + break; + case 0xa9 : + return grn_nfkc121_char_type_table_f090a9[utf8[3] - 0x80]; + case 0xaa : + if (utf8[3] >= 0x80 && + utf8[3] <= 0x9f) { + return grn_nfkc121_char_type_table_f090aa[utf8[3] - 0x80]; + } + break; + case 0xab : + if (utf8[3] >= 0x80 && + utf8[3] <= 0xb6) { + return grn_nfkc121_char_type_table_f090ab[utf8[3] - 0x80]; + } + break; + case 0xac : + return grn_nfkc121_char_type_table_f090ac[utf8[3] - 0x80]; + case 0xad : + return grn_nfkc121_char_type_table_f090ad[utf8[3] - 0x80]; + case 0xae : + if (utf8[3] >= 0x80 && + utf8[3] <= 0xaf) { + return grn_nfkc121_char_type_table_f090ae[utf8[3] - 0x80]; + } + break; + case 0xb0 : + return GRN_CHAR_ALPHA; + case 0xb1 : + if (utf8[3] >= 0x80 && + utf8[3] <= 0x88) { + return GRN_CHAR_ALPHA; + } + break; + case 0xb2 : + if (utf8[3] >= 0x80 && + utf8[3] <= 0xb2) { + return GRN_CHAR_ALPHA; + } + break; + case 0xb3 : + return grn_nfkc121_char_type_table_f090b3[utf8[3] - 0x80]; + case 0xb4 : + if (utf8[3] >= 0x80 && + utf8[3] <= 0xb9) { + return grn_nfkc121_char_type_table_f090b4[utf8[3] - 0x80]; + } + break; + case 0xb9 : + if (utf8[3] >= 0xa0 && + utf8[3] <= 0xbe) { + return GRN_CHAR_DIGIT; + } + break; + case 0xbc : + return grn_nfkc121_char_type_table_f090bc[utf8[3] - 0x80]; + case 0xbd : + if (utf8[3] >= 0x80 && + utf8[3] <= 0x99) { + return grn_nfkc121_char_type_table_f090bd[utf8[3] - 0x80]; + } + break; + case 0xbf : + if (utf8[3] >= 0xa0 && + utf8[3] <= 0xb6) { + return GRN_CHAR_ALPHA; + } + break; + default : + break; + } + break; + case 0x91 : + switch (utf8[2]) { + case 0x80 : + if (utf8[3] >= 0x83 && + utf8[3] <= 0xb7) { + return GRN_CHAR_ALPHA; + } + break; + case 0x81 : + if (utf8[3] >= 0x87 && + utf8[3] <= 0xaf) { + return grn_nfkc121_char_type_table_f09181[utf8[3] - 0x87]; + } + break; + case 0x82 : + if (utf8[3] >= 0x83 && + utf8[3] <= 0xbf) { + return grn_nfkc121_char_type_table_f09182[utf8[3] - 0x83]; + } + break; + case 0x83 : + if (utf8[3] >= 0x80 && + utf8[3] <= 0xb9) { + return grn_nfkc121_char_type_table_f09183[utf8[3] - 0x80]; + } + break; + case 0x84 : + if (utf8[3] >= 0x83 && + utf8[3] <= 0xbf) { + return grn_nfkc121_char_type_table_f09184[utf8[3] - 0x83]; + } + break; + case 0x85 : + if (utf8[3] >= 0x80 && + utf8[3] <= 0xb6) { + return grn_nfkc121_char_type_table_f09185[utf8[3] - 0x80]; + } + break; + case 0x86 : + if (utf8[3] >= 0x83 && + utf8[3] <= 0xb2) { + return GRN_CHAR_ALPHA; + } + break; + case 0x87 : + if (utf8[3] >= 0x81 && + utf8[3] <= 0xb4) { + return grn_nfkc121_char_type_table_f09187[utf8[3] - 0x81]; + } + break; + case 0x88 : + if (utf8[3] >= 0x80 && + utf8[3] <= 0xbd) { + return grn_nfkc121_char_type_table_f09188[utf8[3] - 0x80]; + } + break; + case 0x8a : + return grn_nfkc121_char_type_table_f0918a[utf8[3] - 0x80]; + case 0x8b : + if (utf8[3] >= 0x80 && + utf8[3] <= 0xb9) { + return grn_nfkc121_char_type_table_f0918b[utf8[3] - 0x80]; + } + break; + case 0x8c : + if (utf8[3] >= 0x85 && + utf8[3] <= 0xbd) { + return grn_nfkc121_char_type_table_f0918c[utf8[3] - 0x85]; + } + break; + case 0x8d : + if (utf8[3] >= 0x90 && + utf8[3] <= 0xa1) { + return grn_nfkc121_char_type_table_f0918d[utf8[3] - 0x90]; + } + break; + case 0x90 : + if (utf8[3] >= 0x80 && + utf8[3] <= 0xb4) { + return GRN_CHAR_ALPHA; + } + break; + case 0x91 : + if (utf8[3] >= 0x87 && + utf8[3] <= 0x9f) { + return grn_nfkc121_char_type_table_f09191[utf8[3] - 0x87]; + } + break; + case 0x92 : + if (utf8[3] >= 0x80 && + utf8[3] <= 0xaf) { + return GRN_CHAR_ALPHA; + } + break; + case 0x93 : + if (utf8[3] >= 0x84 && + utf8[3] <= 0x99) { + return grn_nfkc121_char_type_table_f09193[utf8[3] - 0x84]; + } + break; + case 0x96 : + if (utf8[3] >= 0x80 && + utf8[3] <= 0xae) { + return GRN_CHAR_ALPHA; + } + break; + case 0x97 : + if (utf8[3] >= 0x81 && + utf8[3] <= 0x9b) { + return grn_nfkc121_char_type_table_f09197[utf8[3] - 0x81]; + } + break; + case 0x98 : + if (utf8[3] >= 0x80 && + utf8[3] <= 0xaf) { + return GRN_CHAR_ALPHA; + } + break; + case 0x99 : + if (utf8[3] >= 0x81 && + utf8[3] <= 0xac) { + return grn_nfkc121_char_type_table_f09199[utf8[3] - 0x81]; + } + break; + case 0x9a : + if (utf8[3] >= 0x80 && + utf8[3] <= 0xb8) { + return grn_nfkc121_char_type_table_f0919a[utf8[3] - 0x80]; + } + break; + case 0x9b : + if (utf8[3] >= 0x80 && + utf8[3] <= 0x89) { + return GRN_CHAR_DIGIT; + } + break; + case 0x9c : + return grn_nfkc121_char_type_table_f0919c[utf8[3] - 0x80]; + case 0xa0 : + if (utf8[3] >= 0x80 && + utf8[3] <= 0xbb) { + return grn_nfkc121_char_type_table_f091a0[utf8[3] - 0x80]; + } + break; + case 0xa2 : + if (utf8[3] >= 0xa0 && + utf8[3] <= 0xbf) { + return GRN_CHAR_ALPHA; + } + break; + case 0xa3 : + return grn_nfkc121_char_type_table_f091a3[utf8[3] - 0x80]; + case 0xa6 : + if (utf8[3] >= 0xa0 && + utf8[3] <= 0xbf) { + return grn_nfkc121_char_type_table_f091a6[utf8[3] - 0xa0]; + } + break; + case 0xa7 : + if (utf8[3] >= 0x80 && + utf8[3] <= 0xa3) { + return grn_nfkc121_char_type_table_f091a7[utf8[3] - 0x80]; + } + break; + case 0xa8 : + return grn_nfkc121_char_type_table_f091a8[utf8[3] - 0x80]; + case 0xa9 : + return grn_nfkc121_char_type_table_f091a9[utf8[3] - 0x80]; + case 0xaa : + if (utf8[3] >= 0x80 && + utf8[3] <= 0xa2) { + return grn_nfkc121_char_type_table_f091aa[utf8[3] - 0x80]; + } + break; + case 0xab : + if (utf8[3] >= 0x80 && + utf8[3] <= 0xb8) { + return GRN_CHAR_ALPHA; + } + break; + case 0xb0 : + if (utf8[3] >= 0x80 && + utf8[3] <= 0xae) { + return grn_nfkc121_char_type_table_f091b0[utf8[3] - 0x80]; + } + break; + case 0xb1 : + return grn_nfkc121_char_type_table_f091b1[utf8[3] - 0x80]; + case 0xb2 : + if (utf8[3] >= 0x80 && + utf8[3] <= 0x8f) { + return GRN_CHAR_ALPHA; + } + break; + case 0xb4 : + if (utf8[3] >= 0x80 && + utf8[3] <= 0xb0) { + return grn_nfkc121_char_type_table_f091b4[utf8[3] - 0x80]; + } + break; + case 0xb5 : + if (utf8[3] >= 0x86 && + utf8[3] <= 0xbf) { + return grn_nfkc121_char_type_table_f091b5[utf8[3] - 0x86]; + } + break; + case 0xb6 : + if (utf8[3] >= 0x80 && + utf8[3] <= 0xa9) { + return grn_nfkc121_char_type_table_f091b6[utf8[3] - 0x80]; + } + break; + case 0xbb : + if (utf8[3] >= 0xa0 && + utf8[3] <= 0xb8) { + return grn_nfkc121_char_type_table_f091bb[utf8[3] - 0xa0]; + } + break; + case 0xbf : + return grn_nfkc121_char_type_table_f091bf[utf8[3] - 0x80]; + default : + break; + } + break; + case 0x92 : + switch (utf8[2]) { + case 0x80 : + return GRN_CHAR_ALPHA; + case 0x81 : + return GRN_CHAR_ALPHA; + case 0x82 : + return GRN_CHAR_ALPHA; + case 0x83 : + return GRN_CHAR_ALPHA; + case 0x84 : + return GRN_CHAR_ALPHA; + case 0x85 : + return GRN_CHAR_ALPHA; + case 0x86 : + return GRN_CHAR_ALPHA; + case 0x87 : + return GRN_CHAR_ALPHA; + case 0x88 : + return GRN_CHAR_ALPHA; + case 0x89 : + return GRN_CHAR_ALPHA; + case 0x8a : + return GRN_CHAR_ALPHA; + case 0x8b : + return GRN_CHAR_ALPHA; + case 0x8c : + return GRN_CHAR_ALPHA; + case 0x8d : + return GRN_CHAR_ALPHA; + case 0x8e : + if (utf8[3] >= 0x80 && + utf8[3] <= 0x99) { + return GRN_CHAR_ALPHA; + } + break; + case 0x90 : + return GRN_CHAR_DIGIT; + case 0x91 : + if (utf8[3] >= 0x80 && + utf8[3] <= 0xb4) { + return grn_nfkc121_char_type_table_f09291[utf8[3] - 0x80]; + } + break; + case 0x92 : + return GRN_CHAR_ALPHA; + case 0x93 : + return GRN_CHAR_ALPHA; + case 0x94 : + return GRN_CHAR_ALPHA; + case 0x95 : + if (utf8[3] >= 0x80 && + utf8[3] <= 0x83) { + return GRN_CHAR_ALPHA; + } + break; + default : + break; + } + break; + case 0x93 : + switch (utf8[2]) { + case 0x80 : + return GRN_CHAR_ALPHA; + case 0x81 : + return GRN_CHAR_ALPHA; + case 0x82 : + return GRN_CHAR_ALPHA; + case 0x83 : + return GRN_CHAR_ALPHA; + case 0x84 : + return GRN_CHAR_ALPHA; + case 0x85 : + return GRN_CHAR_ALPHA; + case 0x86 : + return GRN_CHAR_ALPHA; + case 0x87 : + return GRN_CHAR_ALPHA; + case 0x88 : + return GRN_CHAR_ALPHA; + case 0x89 : + return GRN_CHAR_ALPHA; + case 0x8a : + return GRN_CHAR_ALPHA; + case 0x8b : + return GRN_CHAR_ALPHA; + case 0x8c : + return GRN_CHAR_ALPHA; + case 0x8d : + return GRN_CHAR_ALPHA; + case 0x8e : + return GRN_CHAR_ALPHA; + case 0x8f : + return GRN_CHAR_ALPHA; + case 0x90 : + if (utf8[3] >= 0x80 && + utf8[3] <= 0xae) { + return GRN_CHAR_ALPHA; + } + break; + default : + break; + } + break; + case 0x94 : + switch (utf8[2]) { + case 0x90 : + return GRN_CHAR_ALPHA; + case 0x91 : + return GRN_CHAR_ALPHA; + case 0x92 : + return GRN_CHAR_ALPHA; + case 0x93 : + return GRN_CHAR_ALPHA; + case 0x94 : + return GRN_CHAR_ALPHA; + case 0x95 : + return GRN_CHAR_ALPHA; + case 0x96 : + return GRN_CHAR_ALPHA; + case 0x97 : + return GRN_CHAR_ALPHA; + case 0x98 : + return GRN_CHAR_ALPHA; + case 0x99 : + if (utf8[3] >= 0x80 && + utf8[3] <= 0x86) { + return GRN_CHAR_ALPHA; + } + break; + default : + break; + } + break; + case 0x96 : + switch (utf8[2]) { + case 0xa0 : + return GRN_CHAR_ALPHA; + case 0xa1 : + return GRN_CHAR_ALPHA; + case 0xa2 : + return GRN_CHAR_ALPHA; + case 0xa3 : + return GRN_CHAR_ALPHA; + case 0xa4 : + return GRN_CHAR_ALPHA; + case 0xa5 : + return GRN_CHAR_ALPHA; + case 0xa6 : + return GRN_CHAR_ALPHA; + case 0xa7 : + return GRN_CHAR_ALPHA; + case 0xa8 : + if (utf8[3] >= 0x80 && + utf8[3] <= 0xb8) { + return GRN_CHAR_ALPHA; + } + break; + case 0xa9 : + if (utf8[3] >= 0x80 && + utf8[3] <= 0xaf) { + return grn_nfkc121_char_type_table_f096a9[utf8[3] - 0x80]; + } + break; + case 0xab : + if (utf8[3] >= 0x90 && + utf8[3] <= 0xb5) { + return grn_nfkc121_char_type_table_f096ab[utf8[3] - 0x90]; + } + break; + case 0xac : + return grn_nfkc121_char_type_table_f096ac[utf8[3] - 0x80]; + case 0xad : + return grn_nfkc121_char_type_table_f096ad[utf8[3] - 0x80]; + case 0xae : + if (utf8[3] >= 0x80 && + utf8[3] <= 0x8f) { + return GRN_CHAR_ALPHA; + } + break; + case 0xb9 : + return GRN_CHAR_ALPHA; + case 0xba : + if (utf8[3] >= 0x80 && + utf8[3] <= 0x9a) { + return grn_nfkc121_char_type_table_f096ba[utf8[3] - 0x80]; + } + break; + case 0xbc : + return GRN_CHAR_ALPHA; + case 0xbd : + if (utf8[3] >= 0x80 && + utf8[3] <= 0x90) { + return grn_nfkc121_char_type_table_f096bd[utf8[3] - 0x80]; + } + break; + case 0xbe : + if (utf8[3] >= 0x93 && + utf8[3] <= 0x9f) { + return GRN_CHAR_ALPHA; + } + break; + case 0xbf : + if (utf8[3] >= 0xa0 && + utf8[3] <= 0xa3) { + return grn_nfkc121_char_type_table_f096bf[utf8[3] - 0xa0]; + } + break; + default : + break; + } + break; + case 0x97 : + switch (utf8[2]) { + case 0x80 : + return GRN_CHAR_ALPHA; + case 0x81 : + return GRN_CHAR_ALPHA; + case 0x82 : + return GRN_CHAR_ALPHA; + case 0x83 : + return GRN_CHAR_ALPHA; + case 0x84 : + return GRN_CHAR_ALPHA; + case 0x85 : + return GRN_CHAR_ALPHA; + case 0x86 : + return GRN_CHAR_ALPHA; + case 0x87 : + return GRN_CHAR_ALPHA; + case 0x88 : + return GRN_CHAR_ALPHA; + case 0x89 : + return GRN_CHAR_ALPHA; + case 0x8a : + return GRN_CHAR_ALPHA; + case 0x8b : + return GRN_CHAR_ALPHA; + case 0x8c : + return GRN_CHAR_ALPHA; + case 0x8d : + return GRN_CHAR_ALPHA; + case 0x8e : + return GRN_CHAR_ALPHA; + case 0x8f : + return GRN_CHAR_ALPHA; + case 0x90 : + return GRN_CHAR_ALPHA; + case 0x91 : + return GRN_CHAR_ALPHA; + case 0x92 : + return GRN_CHAR_ALPHA; + case 0x93 : + return GRN_CHAR_ALPHA; + case 0x94 : + return GRN_CHAR_ALPHA; + case 0x95 : + return GRN_CHAR_ALPHA; + case 0x96 : + return GRN_CHAR_ALPHA; + case 0x97 : + return GRN_CHAR_ALPHA; + case 0x98 : + return GRN_CHAR_ALPHA; + case 0x99 : + return GRN_CHAR_ALPHA; + case 0x9a : + return GRN_CHAR_ALPHA; + case 0x9b : + return GRN_CHAR_ALPHA; + case 0x9c : + return GRN_CHAR_ALPHA; + case 0x9d : + return GRN_CHAR_ALPHA; + case 0x9e : + return GRN_CHAR_ALPHA; + case 0x9f : + return GRN_CHAR_ALPHA; + case 0xa0 : + return GRN_CHAR_ALPHA; + case 0xa1 : + return GRN_CHAR_ALPHA; + case 0xa2 : + return GRN_CHAR_ALPHA; + case 0xa3 : + return GRN_CHAR_ALPHA; + case 0xa4 : + return GRN_CHAR_ALPHA; + case 0xa5 : + return GRN_CHAR_ALPHA; + case 0xa6 : + return GRN_CHAR_ALPHA; + case 0xa7 : + return GRN_CHAR_ALPHA; + case 0xa8 : + return GRN_CHAR_ALPHA; + case 0xa9 : + return GRN_CHAR_ALPHA; + case 0xaa : + return GRN_CHAR_ALPHA; + case 0xab : + return GRN_CHAR_ALPHA; + case 0xac : + return GRN_CHAR_ALPHA; + case 0xad : + return GRN_CHAR_ALPHA; + case 0xae : + return GRN_CHAR_ALPHA; + case 0xaf : + return GRN_CHAR_ALPHA; + case 0xb0 : + return GRN_CHAR_ALPHA; + case 0xb1 : + return GRN_CHAR_ALPHA; + case 0xb2 : + return GRN_CHAR_ALPHA; + case 0xb3 : + return GRN_CHAR_ALPHA; + case 0xb4 : + return GRN_CHAR_ALPHA; + case 0xb5 : + return GRN_CHAR_ALPHA; + case 0xb6 : + return GRN_CHAR_ALPHA; + case 0xb7 : + return GRN_CHAR_ALPHA; + case 0xb8 : + return GRN_CHAR_ALPHA; + case 0xb9 : + return GRN_CHAR_ALPHA; + case 0xba : + return GRN_CHAR_ALPHA; + case 0xbb : + return GRN_CHAR_ALPHA; + case 0xbc : + return GRN_CHAR_ALPHA; + case 0xbd : + return GRN_CHAR_ALPHA; + case 0xbe : + return GRN_CHAR_ALPHA; + case 0xbf : + return GRN_CHAR_ALPHA; + default : + break; + } + break; + case 0x98 : + switch (utf8[2]) { + case 0x80 : + return GRN_CHAR_ALPHA; + case 0x81 : + return GRN_CHAR_ALPHA; + case 0x82 : + return GRN_CHAR_ALPHA; + case 0x83 : + return GRN_CHAR_ALPHA; + case 0x84 : + return GRN_CHAR_ALPHA; + case 0x85 : + return GRN_CHAR_ALPHA; + case 0x86 : + return GRN_CHAR_ALPHA; + case 0x87 : + return GRN_CHAR_ALPHA; + case 0x88 : + return GRN_CHAR_ALPHA; + case 0x89 : + return GRN_CHAR_ALPHA; + case 0x8a : + return GRN_CHAR_ALPHA; + case 0x8b : + return GRN_CHAR_ALPHA; + case 0x8c : + return GRN_CHAR_ALPHA; + case 0x8d : + return GRN_CHAR_ALPHA; + case 0x8e : + return GRN_CHAR_ALPHA; + case 0x8f : + return GRN_CHAR_ALPHA; + case 0x90 : + return GRN_CHAR_ALPHA; + case 0x91 : + return GRN_CHAR_ALPHA; + case 0x92 : + return GRN_CHAR_ALPHA; + case 0x93 : + return GRN_CHAR_ALPHA; + case 0x94 : + return GRN_CHAR_ALPHA; + case 0x95 : + return GRN_CHAR_ALPHA; + case 0x96 : + return GRN_CHAR_ALPHA; + case 0x97 : + return GRN_CHAR_ALPHA; + case 0x98 : + return GRN_CHAR_ALPHA; + case 0x99 : + return GRN_CHAR_ALPHA; + case 0x9a : + return GRN_CHAR_ALPHA; + case 0x9b : + return GRN_CHAR_ALPHA; + case 0x9c : + return GRN_CHAR_ALPHA; + case 0x9d : + return GRN_CHAR_ALPHA; + case 0x9e : + return GRN_CHAR_ALPHA; + case 0x9f : + if (utf8[3] >= 0x80 && + utf8[3] <= 0xb7) { + return GRN_CHAR_ALPHA; + } + break; + case 0xa0 : + return GRN_CHAR_ALPHA; + case 0xa1 : + return GRN_CHAR_ALPHA; + case 0xa2 : + return GRN_CHAR_ALPHA; + case 0xa3 : + return GRN_CHAR_ALPHA; + case 0xa4 : + return GRN_CHAR_ALPHA; + case 0xa5 : + return GRN_CHAR_ALPHA; + case 0xa6 : + return GRN_CHAR_ALPHA; + case 0xa7 : + return GRN_CHAR_ALPHA; + case 0xa8 : + return GRN_CHAR_ALPHA; + case 0xa9 : + return GRN_CHAR_ALPHA; + case 0xaa : + return GRN_CHAR_ALPHA; + case 0xab : + if (utf8[3] >= 0x80 && + utf8[3] <= 0xb2) { + return GRN_CHAR_ALPHA; + } + break; + default : + break; + } + break; + case 0x9b : + switch (utf8[2]) { + case 0x80 : + return grn_nfkc121_char_type_table_f09b80[utf8[3] - 0x80]; + case 0x81 : + return GRN_CHAR_HIRAGANA; + case 0x82 : + return GRN_CHAR_HIRAGANA; + case 0x83 : + return GRN_CHAR_HIRAGANA; + case 0x84 : + if (utf8[3] >= 0x80 && + utf8[3] <= 0xaf) { + return GRN_CHAR_HIRAGANA; + } + break; + case 0x85 : + if (utf8[3] >= 0x90 && + utf8[3] <= 0xbf) { + return grn_nfkc121_char_type_table_f09b85[utf8[3] - 0x90]; + } + break; + case 0x86 : + return GRN_CHAR_ALPHA; + case 0x87 : + return GRN_CHAR_ALPHA; + case 0x88 : + return GRN_CHAR_ALPHA; + case 0x89 : + return GRN_CHAR_ALPHA; + case 0x8a : + return GRN_CHAR_ALPHA; + case 0x8b : + if (utf8[3] >= 0x80 && + utf8[3] <= 0xbb) { + return GRN_CHAR_ALPHA; + } + break; + case 0xb0 : + return GRN_CHAR_ALPHA; + case 0xb1 : + if (utf8[3] >= 0x80 && + utf8[3] <= 0xbc) { + return grn_nfkc121_char_type_table_f09bb1[utf8[3] - 0x80]; + } + break; + case 0xb2 : + if (utf8[3] >= 0x80 && + utf8[3] <= 0x9f) { + return grn_nfkc121_char_type_table_f09bb2[utf8[3] - 0x80]; + } + break; + default : + break; + } + break; + case 0x9d : + switch (utf8[2]) { + case 0x80 : + return GRN_CHAR_SYMBOL; + case 0x81 : + return GRN_CHAR_SYMBOL; + case 0x82 : + return GRN_CHAR_SYMBOL; + case 0x83 : + if (utf8[3] >= 0x80 && + utf8[3] <= 0xb5) { + return GRN_CHAR_SYMBOL; + } + break; + case 0x84 : + return grn_nfkc121_char_type_table_f09d84[utf8[3] - 0x80]; + case 0x85 : + if (utf8[3] >= 0x80 && + utf8[3] <= 0xac) { + return grn_nfkc121_char_type_table_f09d85[utf8[3] - 0x80]; + } + break; + case 0x86 : + if (utf8[3] >= 0x83 && + utf8[3] <= 0xbf) { + return grn_nfkc121_char_type_table_f09d86[utf8[3] - 0x83]; + } + break; + case 0x87 : + if (utf8[3] >= 0x80 && + utf8[3] <= 0xa8) { + return GRN_CHAR_SYMBOL; + } + break; + case 0x88 : + return GRN_CHAR_SYMBOL; + case 0x89 : + if (utf8[3] >= 0x80 && + utf8[3] <= 0x85) { + return grn_nfkc121_char_type_table_f09d89[utf8[3] - 0x80]; + } + break; + case 0x8b : + if (utf8[3] >= 0xa0 && + utf8[3] <= 0xb3) { + return GRN_CHAR_DIGIT; + } + break; + case 0x8c : + return GRN_CHAR_SYMBOL; + case 0x8d : + if (utf8[3] >= 0x80 && + utf8[3] <= 0xb8) { + return grn_nfkc121_char_type_table_f09d8d[utf8[3] - 0x80]; + } + break; + case 0x90 : + return GRN_CHAR_ALPHA; + case 0x91 : + return grn_nfkc121_char_type_table_f09d91[utf8[3] - 0x80]; + case 0x92 : + return grn_nfkc121_char_type_table_f09d92[utf8[3] - 0x80]; + case 0x93 : + return grn_nfkc121_char_type_table_f09d93[utf8[3] - 0x80]; + case 0x94 : + if (utf8[3] >= 0x80 && + utf8[3] <= 0xbe) { + return grn_nfkc121_char_type_table_f09d94[utf8[3] - 0x80]; + } + break; + case 0x95 : + return grn_nfkc121_char_type_table_f09d95[utf8[3] - 0x80]; + case 0x96 : + return GRN_CHAR_ALPHA; + case 0x97 : + return GRN_CHAR_ALPHA; + case 0x98 : + return GRN_CHAR_ALPHA; + case 0x99 : + return GRN_CHAR_ALPHA; + case 0x9a : + return grn_nfkc121_char_type_table_f09d9a[utf8[3] - 0x80]; + case 0x9b : + return grn_nfkc121_char_type_table_f09d9b[utf8[3] - 0x80]; + case 0x9c : + return grn_nfkc121_char_type_table_f09d9c[utf8[3] - 0x80]; + case 0x9d : + return grn_nfkc121_char_type_table_f09d9d[utf8[3] - 0x80]; + case 0x9e : + return grn_nfkc121_char_type_table_f09d9e[utf8[3] - 0x80]; + case 0x9f : + return grn_nfkc121_char_type_table_f09d9f[utf8[3] - 0x80]; + case 0xa0 : + return GRN_CHAR_SYMBOL; + case 0xa1 : + return GRN_CHAR_SYMBOL; + case 0xa2 : + return GRN_CHAR_SYMBOL; + case 0xa3 : + return GRN_CHAR_SYMBOL; + case 0xa4 : + return GRN_CHAR_SYMBOL; + case 0xa5 : + return GRN_CHAR_SYMBOL; + case 0xa6 : + return GRN_CHAR_SYMBOL; + case 0xa7 : + return GRN_CHAR_SYMBOL; + case 0xa8 : + if (utf8[3] >= 0xb7 && + utf8[3] <= 0xba) { + return GRN_CHAR_SYMBOL; + } + break; + case 0xa9 : + if (utf8[3] >= 0xad && + utf8[3] <= 0xbf) { + return grn_nfkc121_char_type_table_f09da9[utf8[3] - 0xad]; + } + break; + case 0xaa : + if (utf8[3] >= 0x80 && + utf8[3] <= 0x8b) { + return grn_nfkc121_char_type_table_f09daa[utf8[3] - 0x80]; + } + break; + default : + break; + } + break; + case 0x9e : + switch (utf8[2]) { + case 0x84 : + if (utf8[3] >= 0x80 && + utf8[3] <= 0xbd) { + return grn_nfkc121_char_type_table_f09e84[utf8[3] - 0x80]; + } + break; + case 0x85 : + if (utf8[3] >= 0x80 && + utf8[3] <= 0x8f) { + return grn_nfkc121_char_type_table_f09e85[utf8[3] - 0x80]; + } + break; + case 0x8b : + return grn_nfkc121_char_type_table_f09e8b[utf8[3] - 0x80]; + case 0xa0 : + return GRN_CHAR_ALPHA; + case 0xa1 : + return GRN_CHAR_ALPHA; + case 0xa2 : + return GRN_CHAR_ALPHA; + case 0xa3 : + if (utf8[3] >= 0x80 && + utf8[3] <= 0x8f) { + return grn_nfkc121_char_type_table_f09ea3[utf8[3] - 0x80]; + } + break; + case 0xa4 : + return GRN_CHAR_ALPHA; + case 0xa5 : + if (utf8[3] >= 0x80 && + utf8[3] <= 0x9f) { + return grn_nfkc121_char_type_table_f09ea5[utf8[3] - 0x80]; + } + break; + case 0xb1 : + if (utf8[3] >= 0xb1 && + utf8[3] <= 0xbf) { + return GRN_CHAR_DIGIT; + } + break; + case 0xb2 : + if (utf8[3] >= 0x80 && + utf8[3] <= 0xb4) { + return grn_nfkc121_char_type_table_f09eb2[utf8[3] - 0x80]; + } + break; + case 0xb4 : + if (utf8[3] >= 0x81 && + utf8[3] <= 0xbd) { + return grn_nfkc121_char_type_table_f09eb4[utf8[3] - 0x81]; + } + break; + case 0xb8 : + if (utf8[3] >= 0x80 && + utf8[3] <= 0xbb) { + return grn_nfkc121_char_type_table_f09eb8[utf8[3] - 0x80]; + } + break; + case 0xb9 : + if (utf8[3] >= 0x82 && + utf8[3] <= 0xbe) { + return grn_nfkc121_char_type_table_f09eb9[utf8[3] - 0x82]; + } + break; + case 0xba : + if (utf8[3] >= 0x80 && + utf8[3] <= 0xbb) { + return grn_nfkc121_char_type_table_f09eba[utf8[3] - 0x80]; + } + break; + case 0xbb : + if (utf8[3] >= 0xb0 && + utf8[3] <= 0xb1) { + return GRN_CHAR_SYMBOL; + } + break; + default : + break; + } + break; + case 0x9f : + switch (utf8[2]) { + case 0x80 : + return grn_nfkc121_char_type_table_f09f80[utf8[3] - 0x80]; + case 0x81 : + return GRN_CHAR_SYMBOL; + case 0x82 : + return grn_nfkc121_char_type_table_f09f82[utf8[3] - 0x80]; + case 0x83 : + if (utf8[3] >= 0x81 && + utf8[3] <= 0xb5) { + return grn_nfkc121_char_type_table_f09f83[utf8[3] - 0x81]; + } + break; + case 0x84 : + return grn_nfkc121_char_type_table_f09f84[utf8[3] - 0x80]; + case 0x85 : + return grn_nfkc121_char_type_table_f09f85[utf8[3] - 0x80]; + case 0x86 : + if (utf8[3] >= 0x80 && + utf8[3] <= 0xac) { + return grn_nfkc121_char_type_table_f09f86[utf8[3] - 0x80]; + } + break; + case 0x87 : + if (utf8[3] >= 0xa6 && + utf8[3] <= 0xbf) { + return GRN_CHAR_EMOJI; + } + break; + case 0x88 : + if (utf8[3] >= 0x80 && + utf8[3] <= 0xbb) { + return grn_nfkc121_char_type_table_f09f88[utf8[3] - 0x80]; + } + break; + case 0x89 : + if (utf8[3] >= 0x80 && + utf8[3] <= 0xa5) { + return grn_nfkc121_char_type_table_f09f89[utf8[3] - 0x80]; + } + break; + case 0x8c : + return GRN_CHAR_EMOJI; + case 0x8d : + return GRN_CHAR_EMOJI; + case 0x8e : + return GRN_CHAR_EMOJI; + case 0x8f : + return GRN_CHAR_EMOJI; + case 0x90 : + return GRN_CHAR_EMOJI; + case 0x91 : + return GRN_CHAR_EMOJI; + case 0x92 : + return GRN_CHAR_EMOJI; + case 0x93 : + return GRN_CHAR_EMOJI; + case 0x94 : + return GRN_CHAR_EMOJI; + case 0x95 : + return GRN_CHAR_EMOJI; + case 0x96 : + return GRN_CHAR_EMOJI; + case 0x97 : + return GRN_CHAR_EMOJI; + case 0x98 : + return GRN_CHAR_EMOJI; + case 0x99 : + return grn_nfkc121_char_type_table_f09f99[utf8[3] - 0x80]; + case 0x9a : + return GRN_CHAR_EMOJI; + case 0x9b : + return GRN_CHAR_EMOJI; + case 0x9c : + return GRN_CHAR_SYMBOL; + case 0x9d : + if (utf8[3] >= 0x80 && + utf8[3] <= 0xb3) { + return GRN_CHAR_SYMBOL; + } + break; + case 0x9e : + return GRN_CHAR_SYMBOL; + case 0x9f : + if (utf8[3] >= 0x80 && + utf8[3] <= 0xab) { + return grn_nfkc121_char_type_table_f09f9f[utf8[3] - 0x80]; + } + break; + case 0xa0 : + return grn_nfkc121_char_type_table_f09fa0[utf8[3] - 0x80]; + case 0xa1 : + return grn_nfkc121_char_type_table_f09fa1[utf8[3] - 0x80]; + case 0xa2 : + if (utf8[3] >= 0x80 && + utf8[3] <= 0xad) { + return grn_nfkc121_char_type_table_f09fa2[utf8[3] - 0x80]; + } + break; + case 0xa4 : + return grn_nfkc121_char_type_table_f09fa4[utf8[3] - 0x80]; + case 0xa5 : + return grn_nfkc121_char_type_table_f09fa5[utf8[3] - 0x80]; + case 0xa6 : + return grn_nfkc121_char_type_table_f09fa6[utf8[3] - 0x80]; + case 0xa7 : + return grn_nfkc121_char_type_table_f09fa7[utf8[3] - 0x80]; + case 0xa8 : + return GRN_CHAR_SYMBOL; + case 0xa9 : + if (utf8[3] >= 0x80 && + utf8[3] <= 0xba) { + return grn_nfkc121_char_type_table_f09fa9[utf8[3] - 0x80]; + } + break; + case 0xaa : + if (utf8[3] >= 0x80 && + utf8[3] <= 0x95) { + return grn_nfkc121_char_type_table_f09faa[utf8[3] - 0x80]; + } + break; + default : + break; + } + break; + case 0xa0 : + switch (utf8[2]) { + case 0x80 : + return GRN_CHAR_KANJI; + case 0x81 : + return GRN_CHAR_KANJI; + case 0x82 : + return GRN_CHAR_KANJI; + case 0x83 : + return GRN_CHAR_KANJI; + case 0x84 : + return GRN_CHAR_KANJI; + case 0x85 : + return GRN_CHAR_KANJI; + case 0x86 : + return GRN_CHAR_KANJI; + case 0x87 : + return GRN_CHAR_KANJI; + case 0x88 : + return GRN_CHAR_KANJI; + case 0x89 : + return GRN_CHAR_KANJI; + case 0x8a : + return GRN_CHAR_KANJI; + case 0x8b : + return GRN_CHAR_KANJI; + case 0x8c : + return GRN_CHAR_KANJI; + case 0x8d : + return GRN_CHAR_KANJI; + case 0x8e : + return GRN_CHAR_KANJI; + case 0x8f : + return GRN_CHAR_KANJI; + case 0x90 : + return GRN_CHAR_KANJI; + case 0x91 : + return GRN_CHAR_KANJI; + case 0x92 : + return GRN_CHAR_KANJI; + case 0x93 : + return GRN_CHAR_KANJI; + case 0x94 : + return GRN_CHAR_KANJI; + case 0x95 : + return GRN_CHAR_KANJI; + case 0x96 : + return GRN_CHAR_KANJI; + case 0x97 : + return GRN_CHAR_KANJI; + case 0x98 : + return GRN_CHAR_KANJI; + case 0x99 : + return GRN_CHAR_KANJI; + case 0x9a : + return GRN_CHAR_KANJI; + case 0x9b : + return GRN_CHAR_KANJI; + case 0x9c : + return GRN_CHAR_KANJI; + case 0x9d : + return GRN_CHAR_KANJI; + case 0x9e : + return GRN_CHAR_KANJI; + case 0x9f : + return GRN_CHAR_KANJI; + case 0xa0 : + return GRN_CHAR_KANJI; + case 0xa1 : + return GRN_CHAR_KANJI; + case 0xa2 : + return GRN_CHAR_KANJI; + case 0xa3 : + return GRN_CHAR_KANJI; + case 0xa4 : + return GRN_CHAR_KANJI; + case 0xa5 : + return GRN_CHAR_KANJI; + case 0xa6 : + return GRN_CHAR_KANJI; + case 0xa7 : + return GRN_CHAR_KANJI; + case 0xa8 : + return GRN_CHAR_KANJI; + case 0xa9 : + return GRN_CHAR_KANJI; + case 0xaa : + return GRN_CHAR_KANJI; + case 0xab : + return GRN_CHAR_KANJI; + case 0xac : + return GRN_CHAR_KANJI; + case 0xad : + return GRN_CHAR_KANJI; + case 0xae : + return GRN_CHAR_KANJI; + case 0xaf : + return GRN_CHAR_KANJI; + case 0xb0 : + return GRN_CHAR_KANJI; + case 0xb1 : + return GRN_CHAR_KANJI; + case 0xb2 : + return GRN_CHAR_KANJI; + case 0xb3 : + return GRN_CHAR_KANJI; + case 0xb4 : + return GRN_CHAR_KANJI; + case 0xb5 : + return GRN_CHAR_KANJI; + case 0xb6 : + return GRN_CHAR_KANJI; + case 0xb7 : + return GRN_CHAR_KANJI; + case 0xb8 : + return GRN_CHAR_KANJI; + case 0xb9 : + return GRN_CHAR_KANJI; + case 0xba : + return GRN_CHAR_KANJI; + case 0xbb : + return GRN_CHAR_KANJI; + case 0xbc : + return GRN_CHAR_KANJI; + case 0xbd : + return GRN_CHAR_KANJI; + case 0xbe : + return GRN_CHAR_KANJI; + case 0xbf : + return GRN_CHAR_KANJI; + default : + break; + } + break; + case 0xa1 : + switch (utf8[2]) { + case 0x80 : + return GRN_CHAR_KANJI; + case 0x81 : + return GRN_CHAR_KANJI; + case 0x82 : + return GRN_CHAR_KANJI; + case 0x83 : + return GRN_CHAR_KANJI; + case 0x84 : + return GRN_CHAR_KANJI; + case 0x85 : + return GRN_CHAR_KANJI; + case 0x86 : + return GRN_CHAR_KANJI; + case 0x87 : + return GRN_CHAR_KANJI; + case 0x88 : + return GRN_CHAR_KANJI; + case 0x89 : + return GRN_CHAR_KANJI; + case 0x8a : + return GRN_CHAR_KANJI; + case 0x8b : + return GRN_CHAR_KANJI; + case 0x8c : + return GRN_CHAR_KANJI; + case 0x8d : + return GRN_CHAR_KANJI; + case 0x8e : + return GRN_CHAR_KANJI; + case 0x8f : + return GRN_CHAR_KANJI; + case 0x90 : + return GRN_CHAR_KANJI; + case 0x91 : + return GRN_CHAR_KANJI; + case 0x92 : + return GRN_CHAR_KANJI; + case 0x93 : + return GRN_CHAR_KANJI; + case 0x94 : + return GRN_CHAR_KANJI; + case 0x95 : + return GRN_CHAR_KANJI; + case 0x96 : + return GRN_CHAR_KANJI; + case 0x97 : + return GRN_CHAR_KANJI; + case 0x98 : + return GRN_CHAR_KANJI; + case 0x99 : + return GRN_CHAR_KANJI; + case 0x9a : + return GRN_CHAR_KANJI; + case 0x9b : + return GRN_CHAR_KANJI; + case 0x9c : + return GRN_CHAR_KANJI; + case 0x9d : + return GRN_CHAR_KANJI; + case 0x9e : + return GRN_CHAR_KANJI; + case 0x9f : + return GRN_CHAR_KANJI; + case 0xa0 : + return GRN_CHAR_KANJI; + case 0xa1 : + return GRN_CHAR_KANJI; + case 0xa2 : + return GRN_CHAR_KANJI; + case 0xa3 : + return GRN_CHAR_KANJI; + case 0xa4 : + return GRN_CHAR_KANJI; + case 0xa5 : + return GRN_CHAR_KANJI; + case 0xa6 : + return GRN_CHAR_KANJI; + case 0xa7 : + return GRN_CHAR_KANJI; + case 0xa8 : + return GRN_CHAR_KANJI; + case 0xa9 : + return GRN_CHAR_KANJI; + case 0xaa : + return GRN_CHAR_KANJI; + case 0xab : + return GRN_CHAR_KANJI; + case 0xac : + return GRN_CHAR_KANJI; + case 0xad : + return GRN_CHAR_KANJI; + case 0xae : + return GRN_CHAR_KANJI; + case 0xaf : + return GRN_CHAR_KANJI; + case 0xb0 : + return GRN_CHAR_KANJI; + case 0xb1 : + return GRN_CHAR_KANJI; + case 0xb2 : + return GRN_CHAR_KANJI; + case 0xb3 : + return GRN_CHAR_KANJI; + case 0xb4 : + return GRN_CHAR_KANJI; + case 0xb5 : + return GRN_CHAR_KANJI; + case 0xb6 : + return GRN_CHAR_KANJI; + case 0xb7 : + return GRN_CHAR_KANJI; + case 0xb8 : + return GRN_CHAR_KANJI; + case 0xb9 : + return GRN_CHAR_KANJI; + case 0xba : + return GRN_CHAR_KANJI; + case 0xbb : + return GRN_CHAR_KANJI; + case 0xbc : + return GRN_CHAR_KANJI; + case 0xbd : + return GRN_CHAR_KANJI; + case 0xbe : + return GRN_CHAR_KANJI; + case 0xbf : + return GRN_CHAR_KANJI; + default : + break; + } + break; + case 0xa2 : + switch (utf8[2]) { + case 0x80 : + return GRN_CHAR_KANJI; + case 0x81 : + return GRN_CHAR_KANJI; + case 0x82 : + return GRN_CHAR_KANJI; + case 0x83 : + return GRN_CHAR_KANJI; + case 0x84 : + return GRN_CHAR_KANJI; + case 0x85 : + return GRN_CHAR_KANJI; + case 0x86 : + return GRN_CHAR_KANJI; + case 0x87 : + return GRN_CHAR_KANJI; + case 0x88 : + return GRN_CHAR_KANJI; + case 0x89 : + return GRN_CHAR_KANJI; + case 0x8a : + return GRN_CHAR_KANJI; + case 0x8b : + return GRN_CHAR_KANJI; + case 0x8c : + return GRN_CHAR_KANJI; + case 0x8d : + return GRN_CHAR_KANJI; + case 0x8e : + return GRN_CHAR_KANJI; + case 0x8f : + return GRN_CHAR_KANJI; + case 0x90 : + return GRN_CHAR_KANJI; + case 0x91 : + return GRN_CHAR_KANJI; + case 0x92 : + return GRN_CHAR_KANJI; + case 0x93 : + return GRN_CHAR_KANJI; + case 0x94 : + return GRN_CHAR_KANJI; + case 0x95 : + return GRN_CHAR_KANJI; + case 0x96 : + return GRN_CHAR_KANJI; + case 0x97 : + return GRN_CHAR_KANJI; + case 0x98 : + return GRN_CHAR_KANJI; + case 0x99 : + return GRN_CHAR_KANJI; + case 0x9a : + return GRN_CHAR_KANJI; + case 0x9b : + return GRN_CHAR_KANJI; + case 0x9c : + return GRN_CHAR_KANJI; + case 0x9d : + return GRN_CHAR_KANJI; + case 0x9e : + return GRN_CHAR_KANJI; + case 0x9f : + return GRN_CHAR_KANJI; + case 0xa0 : + return GRN_CHAR_KANJI; + case 0xa1 : + return GRN_CHAR_KANJI; + case 0xa2 : + return GRN_CHAR_KANJI; + case 0xa3 : + return GRN_CHAR_KANJI; + case 0xa4 : + return GRN_CHAR_KANJI; + case 0xa5 : + return GRN_CHAR_KANJI; + case 0xa6 : + return GRN_CHAR_KANJI; + case 0xa7 : + return GRN_CHAR_KANJI; + case 0xa8 : + return GRN_CHAR_KANJI; + case 0xa9 : + return GRN_CHAR_KANJI; + case 0xaa : + return GRN_CHAR_KANJI; + case 0xab : + return GRN_CHAR_KANJI; + case 0xac : + return GRN_CHAR_KANJI; + case 0xad : + return GRN_CHAR_KANJI; + case 0xae : + return GRN_CHAR_KANJI; + case 0xaf : + return GRN_CHAR_KANJI; + case 0xb0 : + return GRN_CHAR_KANJI; + case 0xb1 : + return GRN_CHAR_KANJI; + case 0xb2 : + return GRN_CHAR_KANJI; + case 0xb3 : + return GRN_CHAR_KANJI; + case 0xb4 : + return GRN_CHAR_KANJI; + case 0xb5 : + return GRN_CHAR_KANJI; + case 0xb6 : + return GRN_CHAR_KANJI; + case 0xb7 : + return GRN_CHAR_KANJI; + case 0xb8 : + return GRN_CHAR_KANJI; + case 0xb9 : + return GRN_CHAR_KANJI; + case 0xba : + return GRN_CHAR_KANJI; + case 0xbb : + return GRN_CHAR_KANJI; + case 0xbc : + return GRN_CHAR_KANJI; + case 0xbd : + return GRN_CHAR_KANJI; + case 0xbe : + return GRN_CHAR_KANJI; + case 0xbf : + return GRN_CHAR_KANJI; + default : + break; + } + break; + case 0xa3 : + switch (utf8[2]) { + case 0x80 : + return GRN_CHAR_KANJI; + case 0x81 : + return GRN_CHAR_KANJI; + case 0x82 : + return GRN_CHAR_KANJI; + case 0x83 : + return GRN_CHAR_KANJI; + case 0x84 : + return GRN_CHAR_KANJI; + case 0x85 : + return GRN_CHAR_KANJI; + case 0x86 : + return GRN_CHAR_KANJI; + case 0x87 : + return GRN_CHAR_KANJI; + case 0x88 : + return GRN_CHAR_KANJI; + case 0x89 : + return GRN_CHAR_KANJI; + case 0x8a : + return GRN_CHAR_KANJI; + case 0x8b : + return GRN_CHAR_KANJI; + case 0x8c : + return GRN_CHAR_KANJI; + case 0x8d : + return GRN_CHAR_KANJI; + case 0x8e : + return GRN_CHAR_KANJI; + case 0x8f : + return GRN_CHAR_KANJI; + case 0x90 : + return GRN_CHAR_KANJI; + case 0x91 : + return GRN_CHAR_KANJI; + case 0x92 : + return GRN_CHAR_KANJI; + case 0x93 : + return GRN_CHAR_KANJI; + case 0x94 : + return GRN_CHAR_KANJI; + case 0x95 : + return GRN_CHAR_KANJI; + case 0x96 : + return GRN_CHAR_KANJI; + case 0x97 : + return GRN_CHAR_KANJI; + case 0x98 : + return GRN_CHAR_KANJI; + case 0x99 : + return GRN_CHAR_KANJI; + case 0x9a : + return GRN_CHAR_KANJI; + case 0x9b : + return GRN_CHAR_KANJI; + case 0x9c : + return GRN_CHAR_KANJI; + case 0x9d : + return GRN_CHAR_KANJI; + case 0x9e : + return GRN_CHAR_KANJI; + case 0x9f : + return GRN_CHAR_KANJI; + case 0xa0 : + return GRN_CHAR_KANJI; + case 0xa1 : + return GRN_CHAR_KANJI; + case 0xa2 : + return GRN_CHAR_KANJI; + case 0xa3 : + return GRN_CHAR_KANJI; + case 0xa4 : + return GRN_CHAR_KANJI; + case 0xa5 : + return GRN_CHAR_KANJI; + case 0xa6 : + return GRN_CHAR_KANJI; + case 0xa7 : + return GRN_CHAR_KANJI; + case 0xa8 : + return GRN_CHAR_KANJI; + case 0xa9 : + return GRN_CHAR_KANJI; + case 0xaa : + return GRN_CHAR_KANJI; + case 0xab : + return GRN_CHAR_KANJI; + case 0xac : + return GRN_CHAR_KANJI; + case 0xad : + return GRN_CHAR_KANJI; + case 0xae : + return GRN_CHAR_KANJI; + case 0xaf : + return GRN_CHAR_KANJI; + case 0xb0 : + return GRN_CHAR_KANJI; + case 0xb1 : + return GRN_CHAR_KANJI; + case 0xb2 : + return GRN_CHAR_KANJI; + case 0xb3 : + return GRN_CHAR_KANJI; + case 0xb4 : + return GRN_CHAR_KANJI; + case 0xb5 : + return GRN_CHAR_KANJI; + case 0xb6 : + return GRN_CHAR_KANJI; + case 0xb7 : + return GRN_CHAR_KANJI; + case 0xb8 : + return GRN_CHAR_KANJI; + case 0xb9 : + return GRN_CHAR_KANJI; + case 0xba : + return GRN_CHAR_KANJI; + case 0xbb : + return GRN_CHAR_KANJI; + case 0xbc : + return GRN_CHAR_KANJI; + case 0xbd : + return GRN_CHAR_KANJI; + case 0xbe : + return GRN_CHAR_KANJI; + case 0xbf : + return GRN_CHAR_KANJI; + default : + break; + } + break; + case 0xa4 : + switch (utf8[2]) { + case 0x80 : + return GRN_CHAR_KANJI; + case 0x81 : + return GRN_CHAR_KANJI; + case 0x82 : + return GRN_CHAR_KANJI; + case 0x83 : + return GRN_CHAR_KANJI; + case 0x84 : + return GRN_CHAR_KANJI; + case 0x85 : + return GRN_CHAR_KANJI; + case 0x86 : + return GRN_CHAR_KANJI; + case 0x87 : + return GRN_CHAR_KANJI; + case 0x88 : + return GRN_CHAR_KANJI; + case 0x89 : + return GRN_CHAR_KANJI; + case 0x8a : + return GRN_CHAR_KANJI; + case 0x8b : + return GRN_CHAR_KANJI; + case 0x8c : + return GRN_CHAR_KANJI; + case 0x8d : + return GRN_CHAR_KANJI; + case 0x8e : + return GRN_CHAR_KANJI; + case 0x8f : + return GRN_CHAR_KANJI; + case 0x90 : + return GRN_CHAR_KANJI; + case 0x91 : + return GRN_CHAR_KANJI; + case 0x92 : + return GRN_CHAR_KANJI; + case 0x93 : + return GRN_CHAR_KANJI; + case 0x94 : + return GRN_CHAR_KANJI; + case 0x95 : + return GRN_CHAR_KANJI; + case 0x96 : + return GRN_CHAR_KANJI; + case 0x97 : + return GRN_CHAR_KANJI; + case 0x98 : + return GRN_CHAR_KANJI; + case 0x99 : + return GRN_CHAR_KANJI; + case 0x9a : + return GRN_CHAR_KANJI; + case 0x9b : + return GRN_CHAR_KANJI; + case 0x9c : + return GRN_CHAR_KANJI; + case 0x9d : + return GRN_CHAR_KANJI; + case 0x9e : + return GRN_CHAR_KANJI; + case 0x9f : + return GRN_CHAR_KANJI; + case 0xa0 : + return GRN_CHAR_KANJI; + case 0xa1 : + return GRN_CHAR_KANJI; + case 0xa2 : + return GRN_CHAR_KANJI; + case 0xa3 : + return GRN_CHAR_KANJI; + case 0xa4 : + return GRN_CHAR_KANJI; + case 0xa5 : + return GRN_CHAR_KANJI; + case 0xa6 : + return GRN_CHAR_KANJI; + case 0xa7 : + return GRN_CHAR_KANJI; + case 0xa8 : + return GRN_CHAR_KANJI; + case 0xa9 : + return GRN_CHAR_KANJI; + case 0xaa : + return GRN_CHAR_KANJI; + case 0xab : + return GRN_CHAR_KANJI; + case 0xac : + return GRN_CHAR_KANJI; + case 0xad : + return GRN_CHAR_KANJI; + case 0xae : + return GRN_CHAR_KANJI; + case 0xaf : + return GRN_CHAR_KANJI; + case 0xb0 : + return GRN_CHAR_KANJI; + case 0xb1 : + return GRN_CHAR_KANJI; + case 0xb2 : + return GRN_CHAR_KANJI; + case 0xb3 : + return GRN_CHAR_KANJI; + case 0xb4 : + return GRN_CHAR_KANJI; + case 0xb5 : + return GRN_CHAR_KANJI; + case 0xb6 : + return GRN_CHAR_KANJI; + case 0xb7 : + return GRN_CHAR_KANJI; + case 0xb8 : + return GRN_CHAR_KANJI; + case 0xb9 : + return GRN_CHAR_KANJI; + case 0xba : + return GRN_CHAR_KANJI; + case 0xbb : + return GRN_CHAR_KANJI; + case 0xbc : + return GRN_CHAR_KANJI; + case 0xbd : + return GRN_CHAR_KANJI; + case 0xbe : + return GRN_CHAR_KANJI; + case 0xbf : + return GRN_CHAR_KANJI; + default : + break; + } + break; + case 0xa5 : + switch (utf8[2]) { + case 0x80 : + return GRN_CHAR_KANJI; + case 0x81 : + return GRN_CHAR_KANJI; + case 0x82 : + return GRN_CHAR_KANJI; + case 0x83 : + return GRN_CHAR_KANJI; + case 0x84 : + return GRN_CHAR_KANJI; + case 0x85 : + return GRN_CHAR_KANJI; + case 0x86 : + return GRN_CHAR_KANJI; + case 0x87 : + return GRN_CHAR_KANJI; + case 0x88 : + return GRN_CHAR_KANJI; + case 0x89 : + return GRN_CHAR_KANJI; + case 0x8a : + return GRN_CHAR_KANJI; + case 0x8b : + return GRN_CHAR_KANJI; + case 0x8c : + return GRN_CHAR_KANJI; + case 0x8d : + return GRN_CHAR_KANJI; + case 0x8e : + return GRN_CHAR_KANJI; + case 0x8f : + return GRN_CHAR_KANJI; + case 0x90 : + return GRN_CHAR_KANJI; + case 0x91 : + return GRN_CHAR_KANJI; + case 0x92 : + return GRN_CHAR_KANJI; + case 0x93 : + return GRN_CHAR_KANJI; + case 0x94 : + return GRN_CHAR_KANJI; + case 0x95 : + return GRN_CHAR_KANJI; + case 0x96 : + return GRN_CHAR_KANJI; + case 0x97 : + return GRN_CHAR_KANJI; + case 0x98 : + return GRN_CHAR_KANJI; + case 0x99 : + return GRN_CHAR_KANJI; + case 0x9a : + return GRN_CHAR_KANJI; + case 0x9b : + return GRN_CHAR_KANJI; + case 0x9c : + return GRN_CHAR_KANJI; + case 0x9d : + return GRN_CHAR_KANJI; + case 0x9e : + return GRN_CHAR_KANJI; + case 0x9f : + return GRN_CHAR_KANJI; + case 0xa0 : + return GRN_CHAR_KANJI; + case 0xa1 : + return GRN_CHAR_KANJI; + case 0xa2 : + return GRN_CHAR_KANJI; + case 0xa3 : + return GRN_CHAR_KANJI; + case 0xa4 : + return GRN_CHAR_KANJI; + case 0xa5 : + return GRN_CHAR_KANJI; + case 0xa6 : + return GRN_CHAR_KANJI; + case 0xa7 : + return GRN_CHAR_KANJI; + case 0xa8 : + return GRN_CHAR_KANJI; + case 0xa9 : + return GRN_CHAR_KANJI; + case 0xaa : + return GRN_CHAR_KANJI; + case 0xab : + return GRN_CHAR_KANJI; + case 0xac : + return GRN_CHAR_KANJI; + case 0xad : + return GRN_CHAR_KANJI; + case 0xae : + return GRN_CHAR_KANJI; + case 0xaf : + return GRN_CHAR_KANJI; + case 0xb0 : + return GRN_CHAR_KANJI; + case 0xb1 : + return GRN_CHAR_KANJI; + case 0xb2 : + return GRN_CHAR_KANJI; + case 0xb3 : + return GRN_CHAR_KANJI; + case 0xb4 : + return GRN_CHAR_KANJI; + case 0xb5 : + return GRN_CHAR_KANJI; + case 0xb6 : + return GRN_CHAR_KANJI; + case 0xb7 : + return GRN_CHAR_KANJI; + case 0xb8 : + return GRN_CHAR_KANJI; + case 0xb9 : + return GRN_CHAR_KANJI; + case 0xba : + return GRN_CHAR_KANJI; + case 0xbb : + return GRN_CHAR_KANJI; + case 0xbc : + return GRN_CHAR_KANJI; + case 0xbd : + return GRN_CHAR_KANJI; + case 0xbe : + return GRN_CHAR_KANJI; + case 0xbf : + return GRN_CHAR_KANJI; + default : + break; + } + break; + case 0xa6 : + switch (utf8[2]) { + case 0x80 : + return GRN_CHAR_KANJI; + case 0x81 : + return GRN_CHAR_KANJI; + case 0x82 : + return GRN_CHAR_KANJI; + case 0x83 : + return GRN_CHAR_KANJI; + case 0x84 : + return GRN_CHAR_KANJI; + case 0x85 : + return GRN_CHAR_KANJI; + case 0x86 : + return GRN_CHAR_KANJI; + case 0x87 : + return GRN_CHAR_KANJI; + case 0x88 : + return GRN_CHAR_KANJI; + case 0x89 : + return GRN_CHAR_KANJI; + case 0x8a : + return GRN_CHAR_KANJI; + case 0x8b : + return GRN_CHAR_KANJI; + case 0x8c : + return GRN_CHAR_KANJI; + case 0x8d : + return GRN_CHAR_KANJI; + case 0x8e : + return GRN_CHAR_KANJI; + case 0x8f : + return GRN_CHAR_KANJI; + case 0x90 : + return GRN_CHAR_KANJI; + case 0x91 : + return GRN_CHAR_KANJI; + case 0x92 : + return GRN_CHAR_KANJI; + case 0x93 : + return GRN_CHAR_KANJI; + case 0x94 : + return GRN_CHAR_KANJI; + case 0x95 : + return GRN_CHAR_KANJI; + case 0x96 : + return GRN_CHAR_KANJI; + case 0x97 : + return GRN_CHAR_KANJI; + case 0x98 : + return GRN_CHAR_KANJI; + case 0x99 : + return GRN_CHAR_KANJI; + case 0x9a : + return GRN_CHAR_KANJI; + case 0x9b : + return GRN_CHAR_KANJI; + case 0x9c : + return GRN_CHAR_KANJI; + case 0x9d : + return GRN_CHAR_KANJI; + case 0x9e : + return GRN_CHAR_KANJI; + case 0x9f : + return GRN_CHAR_KANJI; + case 0xa0 : + return GRN_CHAR_KANJI; + case 0xa1 : + return GRN_CHAR_KANJI; + case 0xa2 : + return GRN_CHAR_KANJI; + case 0xa3 : + return GRN_CHAR_KANJI; + case 0xa4 : + return GRN_CHAR_KANJI; + case 0xa5 : + return GRN_CHAR_KANJI; + case 0xa6 : + return GRN_CHAR_KANJI; + case 0xa7 : + return GRN_CHAR_KANJI; + case 0xa8 : + return GRN_CHAR_KANJI; + case 0xa9 : + return GRN_CHAR_KANJI; + case 0xaa : + return GRN_CHAR_KANJI; + case 0xab : + return GRN_CHAR_KANJI; + case 0xac : + return GRN_CHAR_KANJI; + case 0xad : + return GRN_CHAR_KANJI; + case 0xae : + return GRN_CHAR_KANJI; + case 0xaf : + return GRN_CHAR_KANJI; + case 0xb0 : + return GRN_CHAR_KANJI; + case 0xb1 : + return GRN_CHAR_KANJI; + case 0xb2 : + return GRN_CHAR_KANJI; + case 0xb3 : + return GRN_CHAR_KANJI; + case 0xb4 : + return GRN_CHAR_KANJI; + case 0xb5 : + return GRN_CHAR_KANJI; + case 0xb6 : + return GRN_CHAR_KANJI; + case 0xb7 : + return GRN_CHAR_KANJI; + case 0xb8 : + return GRN_CHAR_KANJI; + case 0xb9 : + return GRN_CHAR_KANJI; + case 0xba : + return GRN_CHAR_KANJI; + case 0xbb : + return GRN_CHAR_KANJI; + case 0xbc : + return GRN_CHAR_KANJI; + case 0xbd : + return GRN_CHAR_KANJI; + case 0xbe : + return GRN_CHAR_KANJI; + case 0xbf : + return GRN_CHAR_KANJI; + default : + break; + } + break; + case 0xa7 : + switch (utf8[2]) { + case 0x80 : + return GRN_CHAR_KANJI; + case 0x81 : + return GRN_CHAR_KANJI; + case 0x82 : + return GRN_CHAR_KANJI; + case 0x83 : + return GRN_CHAR_KANJI; + case 0x84 : + return GRN_CHAR_KANJI; + case 0x85 : + return GRN_CHAR_KANJI; + case 0x86 : + return GRN_CHAR_KANJI; + case 0x87 : + return GRN_CHAR_KANJI; + case 0x88 : + return GRN_CHAR_KANJI; + case 0x89 : + return GRN_CHAR_KANJI; + case 0x8a : + return GRN_CHAR_KANJI; + case 0x8b : + return GRN_CHAR_KANJI; + case 0x8c : + return GRN_CHAR_KANJI; + case 0x8d : + return GRN_CHAR_KANJI; + case 0x8e : + return GRN_CHAR_KANJI; + case 0x8f : + return GRN_CHAR_KANJI; + case 0x90 : + return GRN_CHAR_KANJI; + case 0x91 : + return GRN_CHAR_KANJI; + case 0x92 : + return GRN_CHAR_KANJI; + case 0x93 : + return GRN_CHAR_KANJI; + case 0x94 : + return GRN_CHAR_KANJI; + case 0x95 : + return GRN_CHAR_KANJI; + case 0x96 : + return GRN_CHAR_KANJI; + case 0x97 : + return GRN_CHAR_KANJI; + case 0x98 : + return GRN_CHAR_KANJI; + case 0x99 : + return GRN_CHAR_KANJI; + case 0x9a : + return GRN_CHAR_KANJI; + case 0x9b : + return GRN_CHAR_KANJI; + case 0x9c : + return GRN_CHAR_KANJI; + case 0x9d : + return GRN_CHAR_KANJI; + case 0x9e : + return GRN_CHAR_KANJI; + case 0x9f : + return GRN_CHAR_KANJI; + case 0xa0 : + return GRN_CHAR_KANJI; + case 0xa1 : + return GRN_CHAR_KANJI; + case 0xa2 : + return GRN_CHAR_KANJI; + case 0xa3 : + return GRN_CHAR_KANJI; + case 0xa4 : + return GRN_CHAR_KANJI; + case 0xa5 : + return GRN_CHAR_KANJI; + case 0xa6 : + return GRN_CHAR_KANJI; + case 0xa7 : + return GRN_CHAR_KANJI; + case 0xa8 : + return GRN_CHAR_KANJI; + case 0xa9 : + return GRN_CHAR_KANJI; + case 0xaa : + return GRN_CHAR_KANJI; + case 0xab : + return GRN_CHAR_KANJI; + case 0xac : + return GRN_CHAR_KANJI; + case 0xad : + return GRN_CHAR_KANJI; + case 0xae : + return GRN_CHAR_KANJI; + case 0xaf : + return GRN_CHAR_KANJI; + case 0xb0 : + return GRN_CHAR_KANJI; + case 0xb1 : + return GRN_CHAR_KANJI; + case 0xb2 : + return GRN_CHAR_KANJI; + case 0xb3 : + return GRN_CHAR_KANJI; + case 0xb4 : + return GRN_CHAR_KANJI; + case 0xb5 : + return GRN_CHAR_KANJI; + case 0xb6 : + return GRN_CHAR_KANJI; + case 0xb7 : + return GRN_CHAR_KANJI; + case 0xb8 : + return GRN_CHAR_KANJI; + case 0xb9 : + return GRN_CHAR_KANJI; + case 0xba : + return GRN_CHAR_KANJI; + case 0xbb : + return GRN_CHAR_KANJI; + case 0xbc : + return GRN_CHAR_KANJI; + case 0xbd : + return GRN_CHAR_KANJI; + case 0xbe : + return GRN_CHAR_KANJI; + case 0xbf : + return GRN_CHAR_KANJI; + default : + break; + } + break; + case 0xa8 : + switch (utf8[2]) { + case 0x80 : + return GRN_CHAR_KANJI; + case 0x81 : + return GRN_CHAR_KANJI; + case 0x82 : + return GRN_CHAR_KANJI; + case 0x83 : + return GRN_CHAR_KANJI; + case 0x84 : + return GRN_CHAR_KANJI; + case 0x85 : + return GRN_CHAR_KANJI; + case 0x86 : + return GRN_CHAR_KANJI; + case 0x87 : + return GRN_CHAR_KANJI; + case 0x88 : + return GRN_CHAR_KANJI; + case 0x89 : + return GRN_CHAR_KANJI; + case 0x8a : + return GRN_CHAR_KANJI; + case 0x8b : + return GRN_CHAR_KANJI; + case 0x8c : + return GRN_CHAR_KANJI; + case 0x8d : + return GRN_CHAR_KANJI; + case 0x8e : + return GRN_CHAR_KANJI; + case 0x8f : + return GRN_CHAR_KANJI; + case 0x90 : + return GRN_CHAR_KANJI; + case 0x91 : + return GRN_CHAR_KANJI; + case 0x92 : + return GRN_CHAR_KANJI; + case 0x93 : + return GRN_CHAR_KANJI; + case 0x94 : + return GRN_CHAR_KANJI; + case 0x95 : + return GRN_CHAR_KANJI; + case 0x96 : + return GRN_CHAR_KANJI; + case 0x97 : + return GRN_CHAR_KANJI; + case 0x98 : + return GRN_CHAR_KANJI; + case 0x99 : + return GRN_CHAR_KANJI; + case 0x9a : + return GRN_CHAR_KANJI; + case 0x9b : + return GRN_CHAR_KANJI; + case 0x9c : + return GRN_CHAR_KANJI; + case 0x9d : + return GRN_CHAR_KANJI; + case 0x9e : + return GRN_CHAR_KANJI; + case 0x9f : + return GRN_CHAR_KANJI; + case 0xa0 : + return GRN_CHAR_KANJI; + case 0xa1 : + return GRN_CHAR_KANJI; + case 0xa2 : + return GRN_CHAR_KANJI; + case 0xa3 : + return GRN_CHAR_KANJI; + case 0xa4 : + return GRN_CHAR_KANJI; + case 0xa5 : + return GRN_CHAR_KANJI; + case 0xa6 : + return GRN_CHAR_KANJI; + case 0xa7 : + return GRN_CHAR_KANJI; + case 0xa8 : + return GRN_CHAR_KANJI; + case 0xa9 : + return GRN_CHAR_KANJI; + case 0xaa : + return GRN_CHAR_KANJI; + case 0xab : + return GRN_CHAR_KANJI; + case 0xac : + return GRN_CHAR_KANJI; + case 0xad : + return GRN_CHAR_KANJI; + case 0xae : + return GRN_CHAR_KANJI; + case 0xaf : + return GRN_CHAR_KANJI; + case 0xb0 : + return GRN_CHAR_KANJI; + case 0xb1 : + return GRN_CHAR_KANJI; + case 0xb2 : + return GRN_CHAR_KANJI; + case 0xb3 : + return GRN_CHAR_KANJI; + case 0xb4 : + return GRN_CHAR_KANJI; + case 0xb5 : + return GRN_CHAR_KANJI; + case 0xb6 : + return GRN_CHAR_KANJI; + case 0xb7 : + return GRN_CHAR_KANJI; + case 0xb8 : + return GRN_CHAR_KANJI; + case 0xb9 : + return GRN_CHAR_KANJI; + case 0xba : + return GRN_CHAR_KANJI; + case 0xbb : + return GRN_CHAR_KANJI; + case 0xbc : + return GRN_CHAR_KANJI; + case 0xbd : + return GRN_CHAR_KANJI; + case 0xbe : + return GRN_CHAR_KANJI; + case 0xbf : + return GRN_CHAR_KANJI; + default : + break; + } + break; + case 0xa9 : + switch (utf8[2]) { + case 0x80 : + return GRN_CHAR_KANJI; + case 0x81 : + return GRN_CHAR_KANJI; + case 0x82 : + return GRN_CHAR_KANJI; + case 0x83 : + return GRN_CHAR_KANJI; + case 0x84 : + return GRN_CHAR_KANJI; + case 0x85 : + return GRN_CHAR_KANJI; + case 0x86 : + return GRN_CHAR_KANJI; + case 0x87 : + return GRN_CHAR_KANJI; + case 0x88 : + return GRN_CHAR_KANJI; + case 0x89 : + return GRN_CHAR_KANJI; + case 0x8a : + return GRN_CHAR_KANJI; + case 0x8b : + return GRN_CHAR_KANJI; + case 0x8c : + return GRN_CHAR_KANJI; + case 0x8d : + return GRN_CHAR_KANJI; + case 0x8e : + return GRN_CHAR_KANJI; + case 0x8f : + return GRN_CHAR_KANJI; + case 0x90 : + return GRN_CHAR_KANJI; + case 0x91 : + return GRN_CHAR_KANJI; + case 0x92 : + return GRN_CHAR_KANJI; + case 0x93 : + return GRN_CHAR_KANJI; + case 0x94 : + return GRN_CHAR_KANJI; + case 0x95 : + return GRN_CHAR_KANJI; + case 0x96 : + return GRN_CHAR_KANJI; + case 0x97 : + return GRN_CHAR_KANJI; + case 0x98 : + return GRN_CHAR_KANJI; + case 0x99 : + return GRN_CHAR_KANJI; + case 0x9a : + return GRN_CHAR_KANJI; + case 0x9b : + return GRN_CHAR_KANJI; + case 0x9c : + return GRN_CHAR_KANJI; + case 0x9d : + return GRN_CHAR_KANJI; + case 0x9e : + return GRN_CHAR_KANJI; + case 0x9f : + return GRN_CHAR_KANJI; + case 0xa0 : + return GRN_CHAR_KANJI; + case 0xa1 : + return GRN_CHAR_KANJI; + case 0xa2 : + return GRN_CHAR_KANJI; + case 0xa3 : + return GRN_CHAR_KANJI; + case 0xa4 : + return GRN_CHAR_KANJI; + case 0xa5 : + return GRN_CHAR_KANJI; + case 0xa6 : + return GRN_CHAR_KANJI; + case 0xa7 : + return GRN_CHAR_KANJI; + case 0xa8 : + return GRN_CHAR_KANJI; + case 0xa9 : + return GRN_CHAR_KANJI; + case 0xaa : + return GRN_CHAR_KANJI; + case 0xab : + return GRN_CHAR_KANJI; + case 0xac : + return GRN_CHAR_KANJI; + case 0xad : + return GRN_CHAR_KANJI; + case 0xae : + return GRN_CHAR_KANJI; + case 0xaf : + return GRN_CHAR_KANJI; + case 0xb0 : + return GRN_CHAR_KANJI; + case 0xb1 : + return GRN_CHAR_KANJI; + case 0xb2 : + return GRN_CHAR_KANJI; + case 0xb3 : + return GRN_CHAR_KANJI; + case 0xb4 : + return GRN_CHAR_KANJI; + case 0xb5 : + return GRN_CHAR_KANJI; + case 0xb6 : + return GRN_CHAR_KANJI; + case 0xb7 : + return GRN_CHAR_KANJI; + case 0xb8 : + return GRN_CHAR_KANJI; + case 0xb9 : + return GRN_CHAR_KANJI; + case 0xba : + return GRN_CHAR_KANJI; + case 0xbb : + return GRN_CHAR_KANJI; + case 0xbc : + return GRN_CHAR_KANJI; + case 0xbd : + return GRN_CHAR_KANJI; + case 0xbe : + return GRN_CHAR_KANJI; + case 0xbf : + return GRN_CHAR_KANJI; + default : + break; + } + break; + case 0xaa : + switch (utf8[2]) { + case 0x80 : + return GRN_CHAR_KANJI; + case 0x81 : + return GRN_CHAR_KANJI; + case 0x82 : + return GRN_CHAR_KANJI; + case 0x83 : + return GRN_CHAR_KANJI; + case 0x84 : + return GRN_CHAR_KANJI; + case 0x85 : + return GRN_CHAR_KANJI; + case 0x86 : + return GRN_CHAR_KANJI; + case 0x87 : + return GRN_CHAR_KANJI; + case 0x88 : + return GRN_CHAR_KANJI; + case 0x89 : + return GRN_CHAR_KANJI; + case 0x8a : + return GRN_CHAR_KANJI; + case 0x8b : + return GRN_CHAR_KANJI; + case 0x8c : + return GRN_CHAR_KANJI; + case 0x8d : + return GRN_CHAR_KANJI; + case 0x8e : + return GRN_CHAR_KANJI; + case 0x8f : + return GRN_CHAR_KANJI; + case 0x90 : + return GRN_CHAR_KANJI; + case 0x91 : + return GRN_CHAR_KANJI; + case 0x92 : + return GRN_CHAR_KANJI; + case 0x93 : + return GRN_CHAR_KANJI; + case 0x94 : + return GRN_CHAR_KANJI; + case 0x95 : + return GRN_CHAR_KANJI; + case 0x96 : + return GRN_CHAR_KANJI; + case 0x97 : + return GRN_CHAR_KANJI; + case 0x98 : + return GRN_CHAR_KANJI; + case 0x99 : + return GRN_CHAR_KANJI; + case 0x9a : + return GRN_CHAR_KANJI; + case 0x9b : + if (utf8[3] >= 0x80 && + utf8[3] <= 0x9f) { + return GRN_CHAR_KANJI; + } + break; + case 0x9c : + return GRN_CHAR_KANJI; + case 0x9d : + return GRN_CHAR_KANJI; + case 0x9e : + return GRN_CHAR_KANJI; + case 0x9f : + return GRN_CHAR_KANJI; + case 0xa0 : + return GRN_CHAR_KANJI; + case 0xa1 : + return GRN_CHAR_KANJI; + case 0xa2 : + return GRN_CHAR_KANJI; + case 0xa3 : + return GRN_CHAR_KANJI; + case 0xa4 : + return GRN_CHAR_KANJI; + case 0xa5 : + return GRN_CHAR_KANJI; + case 0xa6 : + return GRN_CHAR_KANJI; + case 0xa7 : + return GRN_CHAR_KANJI; + case 0xa8 : + return GRN_CHAR_KANJI; + case 0xa9 : + return GRN_CHAR_KANJI; + case 0xaa : + return GRN_CHAR_KANJI; + case 0xab : + return GRN_CHAR_KANJI; + case 0xac : + return GRN_CHAR_KANJI; + case 0xad : + return GRN_CHAR_KANJI; + case 0xae : + return GRN_CHAR_KANJI; + case 0xaf : + return GRN_CHAR_KANJI; + case 0xb0 : + return GRN_CHAR_KANJI; + case 0xb1 : + return GRN_CHAR_KANJI; + case 0xb2 : + return GRN_CHAR_KANJI; + case 0xb3 : + return GRN_CHAR_KANJI; + case 0xb4 : + return GRN_CHAR_KANJI; + case 0xb5 : + return GRN_CHAR_KANJI; + case 0xb6 : + return GRN_CHAR_KANJI; + case 0xb7 : + return GRN_CHAR_KANJI; + case 0xb8 : + return GRN_CHAR_KANJI; + case 0xb9 : + return GRN_CHAR_KANJI; + case 0xba : + return GRN_CHAR_KANJI; + case 0xbb : + return GRN_CHAR_KANJI; + case 0xbc : + return GRN_CHAR_KANJI; + case 0xbd : + return GRN_CHAR_KANJI; + case 0xbe : + return GRN_CHAR_KANJI; + case 0xbf : + return GRN_CHAR_KANJI; + default : + break; + } + break; + case 0xab : + switch (utf8[2]) { + case 0x80 : + return GRN_CHAR_KANJI; + case 0x81 : + return GRN_CHAR_KANJI; + case 0x82 : + return GRN_CHAR_KANJI; + case 0x83 : + return GRN_CHAR_KANJI; + case 0x84 : + return GRN_CHAR_KANJI; + case 0x85 : + return GRN_CHAR_KANJI; + case 0x86 : + return GRN_CHAR_KANJI; + case 0x87 : + return GRN_CHAR_KANJI; + case 0x88 : + return GRN_CHAR_KANJI; + case 0x89 : + return GRN_CHAR_KANJI; + case 0x8a : + return GRN_CHAR_KANJI; + case 0x8b : + return GRN_CHAR_KANJI; + case 0x8c : + return GRN_CHAR_KANJI; + case 0x8d : + return GRN_CHAR_KANJI; + case 0x8e : + return GRN_CHAR_KANJI; + case 0x8f : + return GRN_CHAR_KANJI; + case 0x90 : + return GRN_CHAR_KANJI; + case 0x91 : + return GRN_CHAR_KANJI; + case 0x92 : + return GRN_CHAR_KANJI; + case 0x93 : + return GRN_CHAR_KANJI; + case 0x94 : + return GRN_CHAR_KANJI; + case 0x95 : + return GRN_CHAR_KANJI; + case 0x96 : + return GRN_CHAR_KANJI; + case 0x97 : + return GRN_CHAR_KANJI; + case 0x98 : + return GRN_CHAR_KANJI; + case 0x99 : + return GRN_CHAR_KANJI; + case 0x9a : + return GRN_CHAR_KANJI; + case 0x9b : + return GRN_CHAR_KANJI; + case 0x9c : + return GRN_CHAR_KANJI; + case 0x9d : + return GRN_CHAR_KANJI; + case 0x9e : + return GRN_CHAR_KANJI; + case 0x9f : + return GRN_CHAR_KANJI; + case 0xa0 : + return GRN_CHAR_KANJI; + case 0xa1 : + return GRN_CHAR_KANJI; + case 0xa2 : + return GRN_CHAR_KANJI; + case 0xa3 : + return GRN_CHAR_KANJI; + case 0xa4 : + return GRN_CHAR_KANJI; + case 0xa5 : + return GRN_CHAR_KANJI; + case 0xa6 : + return GRN_CHAR_KANJI; + case 0xa7 : + return GRN_CHAR_KANJI; + case 0xa8 : + return GRN_CHAR_KANJI; + case 0xa9 : + return GRN_CHAR_KANJI; + case 0xaa : + return GRN_CHAR_KANJI; + case 0xab : + return GRN_CHAR_KANJI; + case 0xac : + return GRN_CHAR_KANJI; + case 0xad : + return GRN_CHAR_KANJI; + case 0xae : + return GRN_CHAR_KANJI; + case 0xaf : + return GRN_CHAR_KANJI; + case 0xb0 : + return GRN_CHAR_KANJI; + case 0xb1 : + return GRN_CHAR_KANJI; + case 0xb2 : + return GRN_CHAR_KANJI; + case 0xb3 : + return GRN_CHAR_KANJI; + case 0xb4 : + return GRN_CHAR_KANJI; + case 0xb5 : + return GRN_CHAR_KANJI; + case 0xb6 : + return GRN_CHAR_KANJI; + case 0xb7 : + return GRN_CHAR_KANJI; + case 0xb8 : + return GRN_CHAR_KANJI; + case 0xb9 : + return GRN_CHAR_KANJI; + case 0xba : + return GRN_CHAR_KANJI; + case 0xbb : + return GRN_CHAR_KANJI; + case 0xbc : + return GRN_CHAR_KANJI; + case 0xbd : + return GRN_CHAR_KANJI; + case 0xbe : + return GRN_CHAR_KANJI; + case 0xbf : + return GRN_CHAR_KANJI; + default : + break; + } + break; + case 0xac : + switch (utf8[2]) { + case 0x80 : + return GRN_CHAR_KANJI; + case 0x81 : + return GRN_CHAR_KANJI; + case 0x82 : + return GRN_CHAR_KANJI; + case 0x83 : + return GRN_CHAR_KANJI; + case 0x84 : + return GRN_CHAR_KANJI; + case 0x85 : + return GRN_CHAR_KANJI; + case 0x86 : + return GRN_CHAR_KANJI; + case 0x87 : + return GRN_CHAR_KANJI; + case 0x88 : + return GRN_CHAR_KANJI; + case 0x89 : + return GRN_CHAR_KANJI; + case 0x8a : + return GRN_CHAR_KANJI; + case 0x8b : + return GRN_CHAR_KANJI; + case 0x8c : + return GRN_CHAR_KANJI; + case 0x8d : + return GRN_CHAR_KANJI; + case 0x8e : + return GRN_CHAR_KANJI; + case 0x8f : + return GRN_CHAR_KANJI; + case 0x90 : + return GRN_CHAR_KANJI; + case 0x91 : + return GRN_CHAR_KANJI; + case 0x92 : + return GRN_CHAR_KANJI; + case 0x93 : + return GRN_CHAR_KANJI; + case 0x94 : + return GRN_CHAR_KANJI; + case 0x95 : + return GRN_CHAR_KANJI; + case 0x96 : + return GRN_CHAR_KANJI; + case 0x97 : + return GRN_CHAR_KANJI; + case 0x98 : + return GRN_CHAR_KANJI; + case 0x99 : + return GRN_CHAR_KANJI; + case 0x9a : + return GRN_CHAR_KANJI; + case 0x9b : + return GRN_CHAR_KANJI; + case 0x9c : + return GRN_CHAR_KANJI; + case 0x9d : + return GRN_CHAR_KANJI; + case 0x9e : + return GRN_CHAR_KANJI; + case 0x9f : + return GRN_CHAR_KANJI; + case 0xa0 : + return GRN_CHAR_KANJI; + case 0xa1 : + return GRN_CHAR_KANJI; + case 0xa2 : + return GRN_CHAR_KANJI; + case 0xa3 : + return GRN_CHAR_KANJI; + case 0xa4 : + return GRN_CHAR_KANJI; + case 0xa5 : + return GRN_CHAR_KANJI; + case 0xa6 : + return GRN_CHAR_KANJI; + case 0xa7 : + return GRN_CHAR_KANJI; + case 0xa8 : + return GRN_CHAR_KANJI; + case 0xa9 : + return GRN_CHAR_KANJI; + case 0xaa : + return GRN_CHAR_KANJI; + case 0xab : + return GRN_CHAR_KANJI; + case 0xac : + return GRN_CHAR_KANJI; + case 0xad : + return GRN_CHAR_KANJI; + case 0xae : + return GRN_CHAR_KANJI; + case 0xaf : + return GRN_CHAR_KANJI; + case 0xb0 : + return GRN_CHAR_KANJI; + case 0xb1 : + return GRN_CHAR_KANJI; + case 0xb2 : + return GRN_CHAR_KANJI; + case 0xb3 : + return GRN_CHAR_KANJI; + case 0xb4 : + return GRN_CHAR_KANJI; + case 0xb5 : + return GRN_CHAR_KANJI; + case 0xb6 : + return GRN_CHAR_KANJI; + case 0xb7 : + return GRN_CHAR_KANJI; + case 0xb8 : + return GRN_CHAR_KANJI; + case 0xb9 : + return GRN_CHAR_KANJI; + case 0xba : + return GRN_CHAR_KANJI; + case 0xbb : + return GRN_CHAR_KANJI; + case 0xbc : + return GRN_CHAR_KANJI; + case 0xbd : + return GRN_CHAR_KANJI; + case 0xbe : + return GRN_CHAR_KANJI; + case 0xbf : + return GRN_CHAR_KANJI; + default : + break; + } + break; + case 0xad : + switch (utf8[2]) { + case 0x80 : + return GRN_CHAR_KANJI; + case 0x81 : + return GRN_CHAR_KANJI; + case 0x82 : + return GRN_CHAR_KANJI; + case 0x83 : + return GRN_CHAR_KANJI; + case 0x84 : + return GRN_CHAR_KANJI; + case 0x85 : + return GRN_CHAR_KANJI; + case 0x86 : + return GRN_CHAR_KANJI; + case 0x87 : + return GRN_CHAR_KANJI; + case 0x88 : + return GRN_CHAR_KANJI; + case 0x89 : + return GRN_CHAR_KANJI; + case 0x8a : + return GRN_CHAR_KANJI; + case 0x8b : + return GRN_CHAR_KANJI; + case 0x8c : + return GRN_CHAR_KANJI; + case 0x8d : + return GRN_CHAR_KANJI; + case 0x8e : + return GRN_CHAR_KANJI; + case 0x8f : + return GRN_CHAR_KANJI; + case 0x90 : + return GRN_CHAR_KANJI; + case 0x91 : + return GRN_CHAR_KANJI; + case 0x92 : + return GRN_CHAR_KANJI; + case 0x93 : + return GRN_CHAR_KANJI; + case 0x94 : + return GRN_CHAR_KANJI; + case 0x95 : + return GRN_CHAR_KANJI; + case 0x96 : + return GRN_CHAR_KANJI; + case 0x97 : + return GRN_CHAR_KANJI; + case 0x98 : + return GRN_CHAR_KANJI; + case 0x99 : + return GRN_CHAR_KANJI; + case 0x9a : + return GRN_CHAR_KANJI; + case 0x9b : + return GRN_CHAR_KANJI; + case 0x9c : + return GRN_CHAR_KANJI; + case 0x9d : + return GRN_CHAR_KANJI; + case 0x9e : + return GRN_CHAR_KANJI; + case 0x9f : + return GRN_CHAR_KANJI; + case 0xa0 : + return GRN_CHAR_KANJI; + case 0xa1 : + return GRN_CHAR_KANJI; + case 0xa2 : + return GRN_CHAR_KANJI; + case 0xa3 : + return GRN_CHAR_KANJI; + case 0xa4 : + return GRN_CHAR_KANJI; + case 0xa5 : + return GRN_CHAR_KANJI; + case 0xa6 : + return GRN_CHAR_KANJI; + case 0xa7 : + return GRN_CHAR_KANJI; + case 0xa8 : + return GRN_CHAR_KANJI; + case 0xa9 : + return GRN_CHAR_KANJI; + case 0xaa : + return GRN_CHAR_KANJI; + case 0xab : + return GRN_CHAR_KANJI; + case 0xac : + return GRN_CHAR_KANJI; + case 0xad : + return GRN_CHAR_KANJI; + case 0xae : + return GRN_CHAR_KANJI; + case 0xaf : + return GRN_CHAR_KANJI; + case 0xb0 : + return GRN_CHAR_KANJI; + case 0xb1 : + return GRN_CHAR_KANJI; + case 0xb2 : + return GRN_CHAR_KANJI; + case 0xb3 : + return GRN_CHAR_KANJI; + case 0xb4 : + return GRN_CHAR_KANJI; + case 0xb5 : + return GRN_CHAR_KANJI; + case 0xb6 : + return GRN_CHAR_KANJI; + case 0xb7 : + return GRN_CHAR_KANJI; + case 0xb8 : + return GRN_CHAR_KANJI; + case 0xb9 : + return GRN_CHAR_KANJI; + case 0xba : + return GRN_CHAR_KANJI; + case 0xbb : + return GRN_CHAR_KANJI; + case 0xbc : + return GRN_CHAR_KANJI; + case 0xbd : + return GRN_CHAR_KANJI; + case 0xbe : + return GRN_CHAR_KANJI; + case 0xbf : + return GRN_CHAR_KANJI; + default : + break; + } + break; + case 0xae : + switch (utf8[2]) { + case 0x80 : + return GRN_CHAR_KANJI; + case 0x81 : + return GRN_CHAR_KANJI; + case 0x82 : + return GRN_CHAR_KANJI; + case 0x83 : + return GRN_CHAR_KANJI; + case 0x84 : + return GRN_CHAR_KANJI; + case 0x85 : + return GRN_CHAR_KANJI; + case 0x86 : + return GRN_CHAR_KANJI; + case 0x87 : + return GRN_CHAR_KANJI; + case 0x88 : + return GRN_CHAR_KANJI; + case 0x89 : + return GRN_CHAR_KANJI; + case 0x8a : + return GRN_CHAR_KANJI; + case 0x8b : + return GRN_CHAR_KANJI; + case 0x8c : + return GRN_CHAR_KANJI; + case 0x8d : + return GRN_CHAR_KANJI; + case 0x8e : + return GRN_CHAR_KANJI; + case 0x8f : + return GRN_CHAR_KANJI; + case 0x90 : + return GRN_CHAR_KANJI; + case 0x91 : + return GRN_CHAR_KANJI; + case 0x92 : + return GRN_CHAR_KANJI; + case 0x93 : + return GRN_CHAR_KANJI; + case 0x94 : + return GRN_CHAR_KANJI; + case 0x95 : + return GRN_CHAR_KANJI; + case 0x96 : + return GRN_CHAR_KANJI; + case 0x97 : + return GRN_CHAR_KANJI; + case 0x98 : + return GRN_CHAR_KANJI; + case 0x99 : + return GRN_CHAR_KANJI; + case 0x9a : + return GRN_CHAR_KANJI; + case 0x9b : + return GRN_CHAR_KANJI; + case 0x9c : + return GRN_CHAR_KANJI; + case 0x9d : + return GRN_CHAR_KANJI; + case 0x9e : + return GRN_CHAR_KANJI; + case 0x9f : + return GRN_CHAR_KANJI; + case 0xa0 : + return GRN_CHAR_KANJI; + case 0xa1 : + return GRN_CHAR_KANJI; + case 0xa2 : + return GRN_CHAR_KANJI; + case 0xa3 : + return GRN_CHAR_KANJI; + case 0xa4 : + return GRN_CHAR_KANJI; + case 0xa5 : + return GRN_CHAR_KANJI; + case 0xa6 : + return GRN_CHAR_KANJI; + case 0xa7 : + return GRN_CHAR_KANJI; + case 0xa8 : + return GRN_CHAR_KANJI; + case 0xa9 : + return GRN_CHAR_KANJI; + case 0xaa : + return GRN_CHAR_KANJI; + case 0xab : + return GRN_CHAR_KANJI; + case 0xac : + return GRN_CHAR_KANJI; + case 0xad : + return GRN_CHAR_KANJI; + case 0xae : + return GRN_CHAR_KANJI; + case 0xaf : + if (utf8[3] >= 0x80 && + utf8[3] <= 0xaf) { + return GRN_CHAR_KANJI; + } + break; + default : + break; + } + break; + case 0xaf : + switch (utf8[2]) { + case 0xa0 : + return GRN_CHAR_KANJI; + case 0xa1 : + return GRN_CHAR_KANJI; + case 0xa2 : + return GRN_CHAR_KANJI; + case 0xa3 : + return GRN_CHAR_KANJI; + case 0xa4 : + return GRN_CHAR_KANJI; + case 0xa5 : + return GRN_CHAR_KANJI; + case 0xa6 : + return GRN_CHAR_KANJI; + case 0xa7 : + return GRN_CHAR_KANJI; + case 0xa8 : + if (utf8[3] >= 0x80 && + utf8[3] <= 0x9f) { + return GRN_CHAR_KANJI; + } + break; + default : + break; + } + break; + default : + break; + } + break; + default : + break; + } + } + + return GRN_CHAR_OTHERS; +} + +static const char *grn_nfkc121_decompose_table_[] = { + "\x61", "\x62", "\x63", "\x64", "\x65", "\x66", "\x67", "\x68", + "\x69", "\x6a", "\x6b", "\x6c", "\x6d", "\x6e", "\x6f", "\x70", + "\x71", "\x72", "\x73", "\x74", "\x75", "\x76", "\x77", "\x78", + "\x79", "\x7a" +}; + +static const char *grn_nfkc121_decompose_table_c2[] = { + "\x20", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xcc\x88", NULL, "\x61", NULL, NULL, NULL, NULL, "\xcc\x84", + NULL, NULL, "\x32", "\x33", "\xcc\x81", "\xce\xbc", NULL, NULL, + "\xcc\xa7", "\x31", "\x6f", NULL, "\x31\xe2\x81\x84\x34", "\x31\xe2\x81\x84\x32", "\x33\xe2\x81\x84\x34" +}; + +static const char *grn_nfkc121_decompose_table_c3[] = { + "\xc3\xa0", "\xc3\xa1", "\xc3\xa2", "\xc3\xa3", "\xc3\xa4", "\xc3\xa5", "\xc3\xa6", "\xc3\xa7", + "\xc3\xa8", "\xc3\xa9", "\xc3\xaa", "\xc3\xab", "\xc3\xac", "\xc3\xad", "\xc3\xae", "\xc3\xaf", + "\xc3\xb0", "\xc3\xb1", "\xc3\xb2", "\xc3\xb3", "\xc3\xb4", "\xc3\xb5", "\xc3\xb6", NULL, + "\xc3\xb8", "\xc3\xb9", "\xc3\xba", "\xc3\xbb", "\xc3\xbc", "\xc3\xbd", "\xc3\xbe" +}; + +static const char *grn_nfkc121_decompose_table_c4[] = { + "\xc4\x81", NULL, "\xc4\x83", NULL, "\xc4\x85", NULL, "\xc4\x87", NULL, + "\xc4\x89", NULL, "\xc4\x8b", NULL, "\xc4\x8d", NULL, "\xc4\x8f", NULL, + "\xc4\x91", NULL, "\xc4\x93", NULL, "\xc4\x95", NULL, "\xc4\x97", NULL, + "\xc4\x99", NULL, "\xc4\x9b", NULL, "\xc4\x9d", NULL, "\xc4\x9f", NULL, + "\xc4\xa1", NULL, "\xc4\xa3", NULL, "\xc4\xa5", NULL, "\xc4\xa7", NULL, + "\xc4\xa9", NULL, "\xc4\xab", NULL, "\xc4\xad", NULL, "\xc4\xaf", NULL, + "\x69\xcc\x87", NULL, "\x69\x6a", "\x69\x6a", "\xc4\xb5", NULL, "\xc4\xb7", NULL, + NULL, "\xc4\xba", NULL, "\xc4\xbc", NULL, "\xc4\xbe", NULL, "\x6c\xc2\xb7" +}; + +static const char *grn_nfkc121_decompose_table_c5[] = { + "\x6c\xc2\xb7", "\xc5\x82", NULL, "\xc5\x84", NULL, "\xc5\x86", NULL, "\xc5\x88", + NULL, "\xca\xbc\x6e", "\xc5\x8b", NULL, "\xc5\x8d", NULL, "\xc5\x8f", NULL, + "\xc5\x91", NULL, "\xc5\x93", NULL, "\xc5\x95", NULL, "\xc5\x97", NULL, + "\xc5\x99", NULL, "\xc5\x9b", NULL, "\xc5\x9d", NULL, "\xc5\x9f", NULL, + "\xc5\xa1", NULL, "\xc5\xa3", NULL, "\xc5\xa5", NULL, "\xc5\xa7", NULL, + "\xc5\xa9", NULL, "\xc5\xab", NULL, "\xc5\xad", NULL, "\xc5\xaf", NULL, + "\xc5\xb1", NULL, "\xc5\xb3", NULL, "\xc5\xb5", NULL, "\xc5\xb7", NULL, + "\xc3\xbf", "\xc5\xba", NULL, "\xc5\xbc", NULL, "\xc5\xbe", NULL, "\x73" +}; + +static const char *grn_nfkc121_decompose_table_c6[] = { + "\xc9\x93", "\xc6\x83", NULL, "\xc6\x85", NULL, "\xc9\x94", "\xc6\x88", NULL, + "\xc9\x96", "\xc9\x97", "\xc6\x8c", NULL, NULL, "\xc7\x9d", "\xc9\x99", "\xc9\x9b", + "\xc6\x92", NULL, "\xc9\xa0", "\xc9\xa3", NULL, "\xc9\xa9", "\xc9\xa8", "\xc6\x99", + NULL, NULL, NULL, "\xc9\xaf", "\xc9\xb2", NULL, "\xc9\xb5", "\xc6\xa1", + NULL, "\xc6\xa3", NULL, "\xc6\xa5", NULL, "\xca\x80", "\xc6\xa8", NULL, + "\xca\x83", NULL, NULL, "\xc6\xad", NULL, "\xca\x88", "\xc6\xb0", NULL, + "\xca\x8a", "\xca\x8b", "\xc6\xb4", NULL, "\xc6\xb6", NULL, "\xca\x92", "\xc6\xb9", + NULL, NULL, NULL, "\xc6\xbd" +}; + +static const char *grn_nfkc121_decompose_table_c7[] = { + "\x64\xc5\xbe", "\x64\xc5\xbe", "\x64\xc5\xbe", "\x6c\x6a", "\x6c\x6a", "\x6c\x6a", "\x6e\x6a", "\x6e\x6a", + "\x6e\x6a", "\xc7\x8e", NULL, "\xc7\x90", NULL, "\xc7\x92", NULL, "\xc7\x94", + NULL, "\xc7\x96", NULL, "\xc7\x98", NULL, "\xc7\x9a", NULL, "\xc7\x9c", + NULL, NULL, "\xc7\x9f", NULL, "\xc7\xa1", NULL, "\xc7\xa3", NULL, + "\xc7\xa5", NULL, "\xc7\xa7", NULL, "\xc7\xa9", NULL, "\xc7\xab", NULL, + "\xc7\xad", NULL, "\xc7\xaf", NULL, NULL, "\x64\x7a", "\x64\x7a", "\x64\x7a", + "\xc7\xb5", NULL, "\xc6\x95", "\xc6\xbf", "\xc7\xb9", NULL, "\xc7\xbb", NULL, + "\xc7\xbd", NULL, "\xc7\xbf" +}; + +static const char *grn_nfkc121_decompose_table_c8[] = { + "\xc8\x81", NULL, "\xc8\x83", NULL, "\xc8\x85", NULL, "\xc8\x87", NULL, + "\xc8\x89", NULL, "\xc8\x8b", NULL, "\xc8\x8d", NULL, "\xc8\x8f", NULL, + "\xc8\x91", NULL, "\xc8\x93", NULL, "\xc8\x95", NULL, "\xc8\x97", NULL, + "\xc8\x99", NULL, "\xc8\x9b", NULL, "\xc8\x9d", NULL, "\xc8\x9f", NULL, + "\xc6\x9e", NULL, "\xc8\xa3", NULL, "\xc8\xa5", NULL, "\xc8\xa7", NULL, + "\xc8\xa9", NULL, "\xc8\xab", NULL, "\xc8\xad", NULL, "\xc8\xaf", NULL, + "\xc8\xb1", NULL, "\xc8\xb3", NULL, NULL, NULL, NULL, NULL, + NULL, NULL, "\xe2\xb1\xa5", "\xc8\xbc", NULL, "\xc6\x9a", "\xe2\xb1\xa6" +}; + +static const char *grn_nfkc121_decompose_table_c9[] = { + "\xc9\x82", NULL, "\xc6\x80", "\xca\x89", "\xca\x8c", "\xc9\x87", NULL, "\xc9\x89", + NULL, "\xc9\x8b", NULL, "\xc9\x8d", NULL, "\xc9\x8f" +}; + +static const char *grn_nfkc121_decompose_table_ca[] = { + "\x68", "\xc9\xa6", "\x6a", "\x72", "\xc9\xb9", "\xc9\xbb", "\xca\x81", "\x77", + "\x79" +}; + +static const char *grn_nfkc121_decompose_table_cb[] = { + "\xcc\x86", "\xcc\x87", "\xcc\x8a", "\xcc\xa8", "\xcc\x83", "\xcc\x8b", NULL, NULL, + "\xc9\xa3", "\x6c", "\x73", "\x78", "\xca\x95" +}; + +static const char *grn_nfkc121_decompose_table_cd[] = { + "\xcc\x80", "\xcc\x81", NULL, "\xcc\x93", "\xcc\x88\xcc\x81", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xcd\xb1", NULL, "\xcd\xb3", NULL, "\xca\xb9", NULL, "\xcd\xb7", NULL, + NULL, NULL, "\xcd\x85", NULL, NULL, NULL, "\x3b", "\xcf\xb3" +}; + +static const char *grn_nfkc121_decompose_table_ce[] = { + "\xcc\x81", "\xcc\x88\xcc\x81", "\xce\xac", "\xc2\xb7", "\xce\xad", "\xce\xae", "\xce\xaf", NULL, + "\xcf\x8c", NULL, "\xcf\x8d", "\xcf\x8e", NULL, "\xce\xb1", "\xce\xb2", "\xce\xb3", + "\xce\xb4", "\xce\xb5", "\xce\xb6", "\xce\xb7", "\xce\xb8", "\xce\xb9", "\xce\xba", "\xce\xbb", + "\xce\xbc", "\xce\xbd", "\xce\xbe", "\xce\xbf", "\xcf\x80", "\xcf\x81", NULL, "\xcf\x83", + "\xcf\x84", "\xcf\x85", "\xcf\x86", "\xcf\x87", "\xcf\x88", "\xcf\x89", "\xcf\x8a", "\xcf\x8b" +}; + +static const char *grn_nfkc121_decompose_table_cf[] = { + "\xcf\x97", "\xce\xb2", "\xce\xb8", "\xcf\x85", "\xcf\x8d", "\xcf\x8b", "\xcf\x86", "\xcf\x80", + NULL, "\xcf\x99", NULL, "\xcf\x9b", NULL, "\xcf\x9d", NULL, "\xcf\x9f", + NULL, "\xcf\xa1", NULL, "\xcf\xa3", NULL, "\xcf\xa5", NULL, "\xcf\xa7", + NULL, "\xcf\xa9", NULL, "\xcf\xab", NULL, "\xcf\xad", NULL, "\xcf\xaf", + NULL, "\xce\xba", "\xcf\x81", "\xcf\x82", NULL, "\xce\xb8", "\xce\xb5", NULL, + "\xcf\xb8", NULL, "\xcf\x83", "\xcf\xbb", NULL, NULL, "\xcd\xbb", "\xcd\xbc", + "\xcd\xbd" +}; + +static const char *grn_nfkc121_decompose_table_d0[] = { + "\xd1\x90", "\xd1\x91", "\xd1\x92", "\xd1\x93", "\xd1\x94", "\xd1\x95", "\xd1\x96", "\xd1\x97", + "\xd1\x98", "\xd1\x99", "\xd1\x9a", "\xd1\x9b", "\xd1\x9c", "\xd1\x9d", "\xd1\x9e", "\xd1\x9f", + "\xd0\xb0", "\xd0\xb1", "\xd0\xb2", "\xd0\xb3", "\xd0\xb4", "\xd0\xb5", "\xd0\xb6", "\xd0\xb7", + "\xd0\xb8", "\xd0\xb9", "\xd0\xba", "\xd0\xbb", "\xd0\xbc", "\xd0\xbd", "\xd0\xbe", "\xd0\xbf", + "\xd1\x80", "\xd1\x81", "\xd1\x82", "\xd1\x83", "\xd1\x84", "\xd1\x85", "\xd1\x86", "\xd1\x87", + "\xd1\x88", "\xd1\x89", "\xd1\x8a", "\xd1\x8b", "\xd1\x8c", "\xd1\x8d", "\xd1\x8e", "\xd1\x8f" +}; + +static const char *grn_nfkc121_decompose_table_d1[] = { + "\xd1\xa1", NULL, "\xd1\xa3", NULL, "\xd1\xa5", NULL, "\xd1\xa7", NULL, + "\xd1\xa9", NULL, "\xd1\xab", NULL, "\xd1\xad", NULL, "\xd1\xaf", NULL, + "\xd1\xb1", NULL, "\xd1\xb3", NULL, "\xd1\xb5", NULL, "\xd1\xb7", NULL, + "\xd1\xb9", NULL, "\xd1\xbb", NULL, "\xd1\xbd", NULL, "\xd1\xbf" +}; + +static const char *grn_nfkc121_decompose_table_d2[] = { + "\xd2\x81", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, "\xd2\x8b", NULL, "\xd2\x8d", NULL, "\xd2\x8f", NULL, + "\xd2\x91", NULL, "\xd2\x93", NULL, "\xd2\x95", NULL, "\xd2\x97", NULL, + "\xd2\x99", NULL, "\xd2\x9b", NULL, "\xd2\x9d", NULL, "\xd2\x9f", NULL, + "\xd2\xa1", NULL, "\xd2\xa3", NULL, "\xd2\xa5", NULL, "\xd2\xa7", NULL, + "\xd2\xa9", NULL, "\xd2\xab", NULL, "\xd2\xad", NULL, "\xd2\xaf", NULL, + "\xd2\xb1", NULL, "\xd2\xb3", NULL, "\xd2\xb5", NULL, "\xd2\xb7", NULL, + "\xd2\xb9", NULL, "\xd2\xbb", NULL, "\xd2\xbd", NULL, "\xd2\xbf" +}; + +static const char *grn_nfkc121_decompose_table_d3[] = { + "\xd3\x8f", "\xd3\x82", NULL, "\xd3\x84", NULL, "\xd3\x86", NULL, "\xd3\x88", + NULL, "\xd3\x8a", NULL, "\xd3\x8c", NULL, "\xd3\x8e", NULL, NULL, + "\xd3\x91", NULL, "\xd3\x93", NULL, "\xd3\x95", NULL, "\xd3\x97", NULL, + "\xd3\x99", NULL, "\xd3\x9b", NULL, "\xd3\x9d", NULL, "\xd3\x9f", NULL, + "\xd3\xa1", NULL, "\xd3\xa3", NULL, "\xd3\xa5", NULL, "\xd3\xa7", NULL, + "\xd3\xa9", NULL, "\xd3\xab", NULL, "\xd3\xad", NULL, "\xd3\xaf", NULL, + "\xd3\xb1", NULL, "\xd3\xb3", NULL, "\xd3\xb5", NULL, "\xd3\xb7", NULL, + "\xd3\xb9", NULL, "\xd3\xbb", NULL, "\xd3\xbd", NULL, "\xd3\xbf" +}; + +static const char *grn_nfkc121_decompose_table_d4[] = { + "\xd4\x81", NULL, "\xd4\x83", NULL, "\xd4\x85", NULL, "\xd4\x87", NULL, + "\xd4\x89", NULL, "\xd4\x8b", NULL, "\xd4\x8d", NULL, "\xd4\x8f", NULL, + "\xd4\x91", NULL, "\xd4\x93", NULL, "\xd4\x95", NULL, "\xd4\x97", NULL, + "\xd4\x99", NULL, "\xd4\x9b", NULL, "\xd4\x9d", NULL, "\xd4\x9f", NULL, + "\xd4\xa1", NULL, "\xd4\xa3", NULL, "\xd4\xa5", NULL, "\xd4\xa7", NULL, + "\xd4\xa9", NULL, "\xd4\xab", NULL, "\xd4\xad", NULL, "\xd4\xaf", NULL, + NULL, "\xd5\xa1", "\xd5\xa2", "\xd5\xa3", "\xd5\xa4", "\xd5\xa5", "\xd5\xa6", "\xd5\xa7", + "\xd5\xa8", "\xd5\xa9", "\xd5\xaa", "\xd5\xab", "\xd5\xac", "\xd5\xad", "\xd5\xae", "\xd5\xaf" +}; + +static const char *grn_nfkc121_decompose_table_d5[] = { + "\xd5\xb0", "\xd5\xb1", "\xd5\xb2", "\xd5\xb3", "\xd5\xb4", "\xd5\xb5", "\xd5\xb6", "\xd5\xb7", + "\xd5\xb8", "\xd5\xb9", "\xd5\xba", "\xd5\xbb", "\xd5\xbc", "\xd5\xbd", "\xd5\xbe", "\xd5\xbf", + "\xd6\x80", "\xd6\x81", "\xd6\x82", "\xd6\x83", "\xd6\x84", "\xd6\x85", "\xd6\x86" +}; + +static const char *grn_nfkc121_decompose_table_d9[] = { + "\xd8\xa7\xd9\xb4", "\xd9\x88\xd9\xb4", "\xdb\x87\xd9\xb4", "\xd9\x8a\xd9\xb4" +}; + +static const char *grn_nfkc121_decompose_table_e0a5[] = { + "\xe0\xa4\x95\xe0\xa4\xbc", "\xe0\xa4\x96\xe0\xa4\xbc", "\xe0\xa4\x97\xe0\xa4\xbc", "\xe0\xa4\x9c\xe0\xa4\xbc", "\xe0\xa4\xa1\xe0\xa4\xbc", "\xe0\xa4\xa2\xe0\xa4\xbc", "\xe0\xa4\xab\xe0\xa4\xbc", "\xe0\xa4\xaf\xe0\xa4\xbc" +}; + +static const char *grn_nfkc121_decompose_table_e0a7[] = { + "\xe0\xa6\xa1\xe0\xa6\xbc", "\xe0\xa6\xa2\xe0\xa6\xbc", NULL, "\xe0\xa6\xaf\xe0\xa6\xbc" +}; + +static const char *grn_nfkc121_decompose_table_e0a8[] = { + "\xe0\xa8\xb2\xe0\xa8\xbc", NULL, NULL, "\xe0\xa8\xb8\xe0\xa8\xbc" +}; + +static const char *grn_nfkc121_decompose_table_e0a9[] = { + "\xe0\xa8\x96\xe0\xa8\xbc", "\xe0\xa8\x97\xe0\xa8\xbc", "\xe0\xa8\x9c\xe0\xa8\xbc", NULL, NULL, "\xe0\xa8\xab\xe0\xa8\xbc" +}; + +static const char *grn_nfkc121_decompose_table_e0ad[] = { + "\xe0\xac\xa1\xe0\xac\xbc", "\xe0\xac\xa2\xe0\xac\xbc" +}; + +static const char *grn_nfkc121_decompose_table_e0bb[] = { + "\xe0\xba\xab\xe0\xba\x99", "\xe0\xba\xab\xe0\xba\xa1" +}; + +static const char *grn_nfkc121_decompose_table_e0bd[] = { + "\xe0\xbd\x82\xe0\xbe\xb7", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, "\xe0\xbd\x8c\xe0\xbe\xb7", NULL, NULL, NULL, NULL, "\xe0\xbd\x91\xe0\xbe\xb7", + NULL, NULL, NULL, NULL, "\xe0\xbd\x96\xe0\xbe\xb7", NULL, NULL, NULL, + NULL, "\xe0\xbd\x9b\xe0\xbe\xb7", NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, "\xe0\xbd\x80\xe0\xbe\xb5", NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xe0\xbd\xb1\xe0\xbd\xb2", NULL, "\xe0\xbd\xb1\xe0\xbd\xb4", "\xe0\xbe\xb2\xe0\xbe\x80", "\xe0\xbe\xb2\xe0\xbd\xb1\xe0\xbe\x80", "\xe0\xbe\xb3\xe0\xbe\x80", "\xe0\xbe\xb3\xe0\xbd\xb1\xe0\xbe\x80" +}; + +static const char *grn_nfkc121_decompose_table_e0be[] = { + "\xe0\xbd\xb1\xe0\xbe\x80", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, "\xe0\xbe\x92\xe0\xbe\xb7", NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xe0\xbe\x9c\xe0\xbe\xb7", NULL, NULL, NULL, + NULL, "\xe0\xbe\xa1\xe0\xbe\xb7", NULL, NULL, NULL, NULL, "\xe0\xbe\xa6\xe0\xbe\xb7", NULL, + NULL, NULL, NULL, "\xe0\xbe\xab\xe0\xbe\xb7", NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xe0\xbe\x90\xe0\xbe\xb5" +}; + +static const char *grn_nfkc121_decompose_table_e182[] = { + "\xe2\xb4\x80", "\xe2\xb4\x81", "\xe2\xb4\x82", "\xe2\xb4\x83", "\xe2\xb4\x84", "\xe2\xb4\x85", "\xe2\xb4\x86", "\xe2\xb4\x87", + "\xe2\xb4\x88", "\xe2\xb4\x89", "\xe2\xb4\x8a", "\xe2\xb4\x8b", "\xe2\xb4\x8c", "\xe2\xb4\x8d", "\xe2\xb4\x8e", "\xe2\xb4\x8f", + "\xe2\xb4\x90", "\xe2\xb4\x91", "\xe2\xb4\x92", "\xe2\xb4\x93", "\xe2\xb4\x94", "\xe2\xb4\x95", "\xe2\xb4\x96", "\xe2\xb4\x97", + "\xe2\xb4\x98", "\xe2\xb4\x99", "\xe2\xb4\x9a", "\xe2\xb4\x9b", "\xe2\xb4\x9c", "\xe2\xb4\x9d", "\xe2\xb4\x9e", "\xe2\xb4\x9f" +}; + +static const char *grn_nfkc121_decompose_table_e183[] = { + "\xe2\xb4\xa0", "\xe2\xb4\xa1", "\xe2\xb4\xa2", "\xe2\xb4\xa3", "\xe2\xb4\xa4", "\xe2\xb4\xa5", NULL, "\xe2\xb4\xa7", + NULL, NULL, NULL, NULL, NULL, "\xe2\xb4\xad", NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xe1\x83\x9c" +}; + +static const char *grn_nfkc121_decompose_table_e18e[] = { + "\xea\xad\xb0", "\xea\xad\xb1", "\xea\xad\xb2", "\xea\xad\xb3", "\xea\xad\xb4", "\xea\xad\xb5", "\xea\xad\xb6", "\xea\xad\xb7", + "\xea\xad\xb8", "\xea\xad\xb9", "\xea\xad\xba", "\xea\xad\xbb", "\xea\xad\xbc", "\xea\xad\xbd", "\xea\xad\xbe", "\xea\xad\xbf", + "\xea\xae\x80", "\xea\xae\x81", "\xea\xae\x82", "\xea\xae\x83", "\xea\xae\x84", "\xea\xae\x85", "\xea\xae\x86", "\xea\xae\x87", + "\xea\xae\x88", "\xea\xae\x89", "\xea\xae\x8a", "\xea\xae\x8b", "\xea\xae\x8c", "\xea\xae\x8d", "\xea\xae\x8e", "\xea\xae\x8f" +}; + +static const char *grn_nfkc121_decompose_table_e18f[] = { + "\xea\xae\x90", "\xea\xae\x91", "\xea\xae\x92", "\xea\xae\x93", "\xea\xae\x94", "\xea\xae\x95", "\xea\xae\x96", "\xea\xae\x97", + "\xea\xae\x98", "\xea\xae\x99", "\xea\xae\x9a", "\xea\xae\x9b", "\xea\xae\x9c", "\xea\xae\x9d", "\xea\xae\x9e", "\xea\xae\x9f", + "\xea\xae\xa0", "\xea\xae\xa1", "\xea\xae\xa2", "\xea\xae\xa3", "\xea\xae\xa4", "\xea\xae\xa5", "\xea\xae\xa6", "\xea\xae\xa7", + "\xea\xae\xa8", "\xea\xae\xa9", "\xea\xae\xaa", "\xea\xae\xab", "\xea\xae\xac", "\xea\xae\xad", "\xea\xae\xae", "\xea\xae\xaf", + "\xea\xae\xb0", "\xea\xae\xb1", "\xea\xae\xb2", "\xea\xae\xb3", "\xea\xae\xb4", "\xea\xae\xb5", "\xea\xae\xb6", "\xea\xae\xb7", + "\xea\xae\xb8", "\xea\xae\xb9", "\xea\xae\xba", "\xea\xae\xbb", "\xea\xae\xbc", "\xea\xae\xbd", "\xea\xae\xbe", "\xea\xae\xbf", + "\xe1\x8f\xb8", "\xe1\x8f\xb9", "\xe1\x8f\xba", "\xe1\x8f\xbb", "\xe1\x8f\xbc", "\xe1\x8f\xbd" +}; + +static const char *grn_nfkc121_decompose_table_e1b4[] = { + "\x61", "\xc3\xa6", "\x62", NULL, "\x64", "\x65", "\xc7\x9d", "\x67", + "\x68", "\x69", "\x6a", "\x6b", "\x6c", "\x6d", "\x6e", NULL, + "\x6f", "\xc8\xa3", "\x70", "\x72" +}; + +static const char *grn_nfkc121_decompose_table_e1b5[] = { + "\x74", "\x75", "\x77", "\x61", "\xc9\x90", "\xc9\x91", "\xe1\xb4\x82", "\x62", + "\x64", "\x65", "\xc9\x99", "\xc9\x9b", "\xc9\x9c", "\x67", NULL, "\x6b", + "\x6d", "\xc5\x8b", "\x6f", "\xc9\x94", "\xe1\xb4\x96", "\xe1\xb4\x97", "\x70", "\x74", + "\x75", "\xe1\xb4\x9d", "\xc9\xaf", "\x76", "\xe1\xb4\xa5", "\xce\xb2", "\xce\xb3", "\xce\xb4", + "\xcf\x86", "\xcf\x87", "\x69", "\x72", "\x75", "\x76", "\xce\xb2", "\xce\xb3", + "\xcf\x81", "\xcf\x86", "\xcf\x87", NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xd0\xbd" +}; + +static const char *grn_nfkc121_decompose_table_e1b6[] = { + "\xc9\x92", "\x63", "\xc9\x95", "\xc3\xb0", "\xc9\x9c", "\x66", "\xc9\x9f", "\xc9\xa1", + "\xc9\xa5", "\xc9\xa8", "\xc9\xa9", "\xc9\xaa", "\xe1\xb5\xbb", "\xca\x9d", "\xc9\xad", "\xe1\xb6\x85", + "\xca\x9f", "\xc9\xb1", "\xc9\xb0", "\xc9\xb2", "\xc9\xb3", "\xc9\xb4", "\xc9\xb5", "\xc9\xb8", + "\xca\x82", "\xca\x83", "\xc6\xab", "\xca\x89", "\xca\x8a", "\xe1\xb4\x9c", "\xca\x8b", "\xca\x8c", + "\x7a", "\xca\x90", "\xca\x91", "\xca\x92", "\xce\xb8" +}; + +static const char *grn_nfkc121_decompose_table_e1b8[] = { + "\xe1\xb8\x81", NULL, "\xe1\xb8\x83", NULL, "\xe1\xb8\x85", NULL, "\xe1\xb8\x87", NULL, + "\xe1\xb8\x89", NULL, "\xe1\xb8\x8b", NULL, "\xe1\xb8\x8d", NULL, "\xe1\xb8\x8f", NULL, + "\xe1\xb8\x91", NULL, "\xe1\xb8\x93", NULL, "\xe1\xb8\x95", NULL, "\xe1\xb8\x97", NULL, + "\xe1\xb8\x99", NULL, "\xe1\xb8\x9b", NULL, "\xe1\xb8\x9d", NULL, "\xe1\xb8\x9f", NULL, + "\xe1\xb8\xa1", NULL, "\xe1\xb8\xa3", NULL, "\xe1\xb8\xa5", NULL, "\xe1\xb8\xa7", NULL, + "\xe1\xb8\xa9", NULL, "\xe1\xb8\xab", NULL, "\xe1\xb8\xad", NULL, "\xe1\xb8\xaf", NULL, + "\xe1\xb8\xb1", NULL, "\xe1\xb8\xb3", NULL, "\xe1\xb8\xb5", NULL, "\xe1\xb8\xb7", NULL, + "\xe1\xb8\xb9", NULL, "\xe1\xb8\xbb", NULL, "\xe1\xb8\xbd", NULL, "\xe1\xb8\xbf" +}; + +static const char *grn_nfkc121_decompose_table_e1b9[] = { + "\xe1\xb9\x81", NULL, "\xe1\xb9\x83", NULL, "\xe1\xb9\x85", NULL, "\xe1\xb9\x87", NULL, + "\xe1\xb9\x89", NULL, "\xe1\xb9\x8b", NULL, "\xe1\xb9\x8d", NULL, "\xe1\xb9\x8f", NULL, + "\xe1\xb9\x91", NULL, "\xe1\xb9\x93", NULL, "\xe1\xb9\x95", NULL, "\xe1\xb9\x97", NULL, + "\xe1\xb9\x99", NULL, "\xe1\xb9\x9b", NULL, "\xe1\xb9\x9d", NULL, "\xe1\xb9\x9f", NULL, + "\xe1\xb9\xa1", NULL, "\xe1\xb9\xa3", NULL, "\xe1\xb9\xa5", NULL, "\xe1\xb9\xa7", NULL, + "\xe1\xb9\xa9", NULL, "\xe1\xb9\xab", NULL, "\xe1\xb9\xad", NULL, "\xe1\xb9\xaf", NULL, + "\xe1\xb9\xb1", NULL, "\xe1\xb9\xb3", NULL, "\xe1\xb9\xb5", NULL, "\xe1\xb9\xb7", NULL, + "\xe1\xb9\xb9", NULL, "\xe1\xb9\xbb", NULL, "\xe1\xb9\xbd", NULL, "\xe1\xb9\xbf" +}; + +static const char *grn_nfkc121_decompose_table_e1ba[] = { + "\xe1\xba\x81", NULL, "\xe1\xba\x83", NULL, "\xe1\xba\x85", NULL, "\xe1\xba\x87", NULL, + "\xe1\xba\x89", NULL, "\xe1\xba\x8b", NULL, "\xe1\xba\x8d", NULL, "\xe1\xba\x8f", NULL, + "\xe1\xba\x91", NULL, "\xe1\xba\x93", NULL, "\xe1\xba\x95", NULL, NULL, NULL, + NULL, NULL, "\x61\xca\xbe", "\xe1\xb9\xa1", NULL, NULL, "\xc3\x9f", NULL, + "\xe1\xba\xa1", NULL, "\xe1\xba\xa3", NULL, "\xe1\xba\xa5", NULL, "\xe1\xba\xa7", NULL, + "\xe1\xba\xa9", NULL, "\xe1\xba\xab", NULL, "\xe1\xba\xad", NULL, "\xe1\xba\xaf", NULL, + "\xe1\xba\xb1", NULL, "\xe1\xba\xb3", NULL, "\xe1\xba\xb5", NULL, "\xe1\xba\xb7", NULL, + "\xe1\xba\xb9", NULL, "\xe1\xba\xbb", NULL, "\xe1\xba\xbd", NULL, "\xe1\xba\xbf" +}; + +static const char *grn_nfkc121_decompose_table_e1bb[] = { + "\xe1\xbb\x81", NULL, "\xe1\xbb\x83", NULL, "\xe1\xbb\x85", NULL, "\xe1\xbb\x87", NULL, + "\xe1\xbb\x89", NULL, "\xe1\xbb\x8b", NULL, "\xe1\xbb\x8d", NULL, "\xe1\xbb\x8f", NULL, + "\xe1\xbb\x91", NULL, "\xe1\xbb\x93", NULL, "\xe1\xbb\x95", NULL, "\xe1\xbb\x97", NULL, + "\xe1\xbb\x99", NULL, "\xe1\xbb\x9b", NULL, "\xe1\xbb\x9d", NULL, "\xe1\xbb\x9f", NULL, + "\xe1\xbb\xa1", NULL, "\xe1\xbb\xa3", NULL, "\xe1\xbb\xa5", NULL, "\xe1\xbb\xa7", NULL, + "\xe1\xbb\xa9", NULL, "\xe1\xbb\xab", NULL, "\xe1\xbb\xad", NULL, "\xe1\xbb\xaf", NULL, + "\xe1\xbb\xb1", NULL, "\xe1\xbb\xb3", NULL, "\xe1\xbb\xb5", NULL, "\xe1\xbb\xb7", NULL, + "\xe1\xbb\xb9", NULL, "\xe1\xbb\xbb", NULL, "\xe1\xbb\xbd", NULL, "\xe1\xbb\xbf" +}; + +static const char *grn_nfkc121_decompose_table_e1bc[] = { + "\xe1\xbc\x80", "\xe1\xbc\x81", "\xe1\xbc\x82", "\xe1\xbc\x83", "\xe1\xbc\x84", "\xe1\xbc\x85", "\xe1\xbc\x86", "\xe1\xbc\x87", + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xe1\xbc\x90", "\xe1\xbc\x91", "\xe1\xbc\x92", "\xe1\xbc\x93", "\xe1\xbc\x94", "\xe1\xbc\x95", NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xe1\xbc\xa0", "\xe1\xbc\xa1", "\xe1\xbc\xa2", "\xe1\xbc\xa3", "\xe1\xbc\xa4", "\xe1\xbc\xa5", "\xe1\xbc\xa6", "\xe1\xbc\xa7", + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xe1\xbc\xb0", "\xe1\xbc\xb1", "\xe1\xbc\xb2", "\xe1\xbc\xb3", "\xe1\xbc\xb4", "\xe1\xbc\xb5", "\xe1\xbc\xb6", "\xe1\xbc\xb7" +}; + +static const char *grn_nfkc121_decompose_table_e1bd[] = { + "\xe1\xbd\x80", "\xe1\xbd\x81", "\xe1\xbd\x82", "\xe1\xbd\x83", "\xe1\xbd\x84", "\xe1\xbd\x85", NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, "\xe1\xbd\x91", NULL, "\xe1\xbd\x93", NULL, "\xe1\xbd\x95", NULL, "\xe1\xbd\x97", + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xe1\xbd\xa0", "\xe1\xbd\xa1", "\xe1\xbd\xa2", "\xe1\xbd\xa3", "\xe1\xbd\xa4", "\xe1\xbd\xa5", "\xe1\xbd\xa6", "\xe1\xbd\xa7", + NULL, "\xce\xac", NULL, "\xce\xad", NULL, "\xce\xae", NULL, "\xce\xaf", + NULL, "\xcf\x8c", NULL, "\xcf\x8d", NULL, "\xcf\x8e" +}; + +static const char *grn_nfkc121_decompose_table_e1be[] = { + "\xe1\xbe\x80", "\xe1\xbe\x81", "\xe1\xbe\x82", "\xe1\xbe\x83", "\xe1\xbe\x84", "\xe1\xbe\x85", "\xe1\xbe\x86", "\xe1\xbe\x87", + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xe1\xbe\x90", "\xe1\xbe\x91", "\xe1\xbe\x92", "\xe1\xbe\x93", "\xe1\xbe\x94", "\xe1\xbe\x95", "\xe1\xbe\x96", "\xe1\xbe\x97", + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xe1\xbe\xa0", "\xe1\xbe\xa1", "\xe1\xbe\xa2", "\xe1\xbe\xa3", "\xe1\xbe\xa4", "\xe1\xbe\xa5", "\xe1\xbe\xa6", "\xe1\xbe\xa7", + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xe1\xbe\xb0", "\xe1\xbe\xb1", "\xe1\xbd\xb0", "\xce\xac", "\xe1\xbe\xb3", "\xcc\x93", "\xce\xb9", "\xcc\x93" +}; + +static const char *grn_nfkc121_decompose_table_e1bf[] = { + "\xcd\x82", "\xcc\x88\xcd\x82", NULL, NULL, NULL, NULL, NULL, NULL, + "\xe1\xbd\xb2", "\xce\xad", "\xe1\xbd\xb4", "\xce\xae", "\xe1\xbf\x83", "\xcc\x93\xcc\x80", "\xcc\x93\xcc\x81", "\xcc\x93\xcd\x82", + NULL, NULL, NULL, "\xce\x90", NULL, NULL, NULL, NULL, + "\xe1\xbf\x90", "\xe1\xbf\x91", "\xe1\xbd\xb6", "\xce\xaf", NULL, "\xcc\x94\xcc\x80", "\xcc\x94\xcc\x81", "\xcc\x94\xcd\x82", + NULL, NULL, NULL, "\xce\xb0", NULL, NULL, NULL, NULL, + "\xe1\xbf\xa0", "\xe1\xbf\xa1", "\xe1\xbd\xba", "\xcf\x8d", "\xe1\xbf\xa5", "\xcc\x88\xcc\x80", "\xcc\x88\xcc\x81", "\x60", + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xe1\xbd\xb8", "\xcf\x8c", "\xe1\xbd\xbc", "\xcf\x8e", "\xe1\xbf\xb3", "\xcc\x81", "\xcc\x94" +}; + +static const char *grn_nfkc121_decompose_table_e280[] = { + "\x20", "\x20", "\x20", "\x20", "\x20", "\x20", "\x20", "\x20", + "\x20", "\x20", "\x20", NULL, NULL, NULL, NULL, NULL, + NULL, "\xe2\x80\x90", NULL, NULL, NULL, NULL, NULL, "\xcc\xb3", + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\x2e", "\x2e\x2e", "\x2e\x2e\x2e", NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, "\x20", + NULL, NULL, NULL, "\xe2\x80\xb2\xe2\x80\xb2", "\xe2\x80\xb2\xe2\x80\xb2\xe2\x80\xb2", NULL, "\xe2\x80\xb5\xe2\x80\xb5", "\xe2\x80\xb5\xe2\x80\xb5\xe2\x80\xb5", + NULL, NULL, NULL, NULL, "\x21\x21", NULL, "\xcc\x85" +}; + +static const char *grn_nfkc121_decompose_table_e281[] = { + "\x3f\x3f", "\x3f\x21", "\x21\x3f", NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xe2\x80\xb2\xe2\x80\xb2\xe2\x80\xb2\xe2\x80\xb2", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\x20", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, "\x30", "\x69", NULL, NULL, "\x34", "\x35", "\x36", + "\x37", "\x38", "\x39", "\x2b", "\xe2\x88\x92", "\x3d", "\x28", "\x29", + "\x6e" +}; + +static const char *grn_nfkc121_decompose_table_e282[] = { + "\x30", "\x31", "\x32", "\x33", "\x34", "\x35", "\x36", "\x37", + "\x38", "\x39", "\x2b", "\xe2\x88\x92", "\x3d", "\x28", "\x29", NULL, + "\x61", "\x65", "\x6f", "\x78", "\xc9\x99", "\x68", "\x6b", "\x6c", + "\x6d", "\x6e", "\x70", "\x73", "\x74", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\x72\x73" +}; + +static const char *grn_nfkc121_decompose_table_e284[] = { + "\x61\x2f\x63", "\x61\x2f\x73", "\x63", "\xc2\xb0\x63", NULL, "\x63\x2f\x6f", "\x63\x2f\x75", "\xc9\x9b", + NULL, "\xc2\xb0\x66", "\x67", "\x68", "\x68", "\x68", "\x68", "\xc4\xa7", + "\x69", "\x69", "\x6c", "\x6c", NULL, "\x6e", "\x6e\x6f", NULL, + NULL, "\x70", "\x71", "\x72", "\x72", "\x72", NULL, NULL, + "\x73\x6d", "\x74\x65\x6c", "\x74\x6d", NULL, "\x7a", NULL, "\xcf\x89", NULL, + "\x7a", NULL, "\x6b", "\xc3\xa5", "\x62", "\x63", NULL, "\x65", + "\x65", "\x66", "\xe2\x85\x8e", "\x6d", "\x6f", "\xd7\x90", "\xd7\x91", "\xd7\x92", + "\xd7\x93", "\x69", NULL, "\x66\x61\x78", "\xcf\x80", "\xce\xb3", "\xce\xb3", "\xcf\x80" +}; + +static const char *grn_nfkc121_decompose_table_e285[] = { + "\xe2\x88\x91", NULL, NULL, NULL, NULL, "\x64", "\x64", "\x65", + "\x69", "\x6a", NULL, NULL, NULL, NULL, NULL, NULL, + "\x31\xe2\x81\x84\x37", "\x31\xe2\x81\x84\x39", "\x31\xe2\x81\x84\x31\x30", "\x31\xe2\x81\x84\x33", "\x32\xe2\x81\x84\x33", "\x31\xe2\x81\x84\x35", "\x32\xe2\x81\x84\x35", "\x33\xe2\x81\x84\x35", + "\x34\xe2\x81\x84\x35", "\x31\xe2\x81\x84\x36", "\x35\xe2\x81\x84\x36", "\x31\xe2\x81\x84\x38", "\x33\xe2\x81\x84\x38", "\x35\xe2\x81\x84\x38", "\x37\xe2\x81\x84\x38", "\x31\xe2\x81\x84", + "\x69", "\x69\x69", "\x69\x69\x69", "\x69\x76", "\x76", "\x76\x69", "\x76\x69\x69", "\x76\x69\x69\x69", + "\x69\x78", "\x78", "\x78\x69", "\x78\x69\x69", "\x6c", "\x63", "\x64", "\x6d", + "\x69", "\x69\x69", "\x69\x69\x69", "\x69\x76", "\x76", "\x76\x69", "\x76\x69\x69", "\x76\x69\x69\x69", + "\x69\x78", "\x78", "\x78\x69", "\x78\x69\x69", "\x6c", "\x63", "\x64", "\x6d" +}; + +static const char *grn_nfkc121_decompose_table_e286[] = { + "\xe2\x86\x84", NULL, NULL, NULL, NULL, NULL, "\x30\xe2\x81\x84\x33" +}; + +static const char *grn_nfkc121_decompose_table_e288[] = { + "\xe2\x88\xab\xe2\x88\xab", "\xe2\x88\xab\xe2\x88\xab\xe2\x88\xab", NULL, "\xe2\x88\xae\xe2\x88\xae", "\xe2\x88\xae\xe2\x88\xae\xe2\x88\xae" +}; + +static const char *grn_nfkc121_decompose_table_e28c[] = { + "\xe3\x80\x88", "\xe3\x80\x89" +}; + +static const char *grn_nfkc121_decompose_table_e291[] = { + "\x31", "\x32", "\x33", "\x34", "\x35", "\x36", "\x37", "\x38", + "\x39", "\x31\x30", "\x31\x31", "\x31\x32", "\x31\x33", "\x31\x34", "\x31\x35", "\x31\x36", + "\x31\x37", "\x31\x38", "\x31\x39", "\x32\x30", "\x28\x31\x29", "\x28\x32\x29", "\x28\x33\x29", "\x28\x34\x29", + "\x28\x35\x29", "\x28\x36\x29", "\x28\x37\x29", "\x28\x38\x29", "\x28\x39\x29", "\x28\x31\x30\x29", "\x28\x31\x31\x29", "\x28\x31\x32\x29" +}; + +static const char *grn_nfkc121_decompose_table_e292[] = { + "\x28\x31\x33\x29", "\x28\x31\x34\x29", "\x28\x31\x35\x29", "\x28\x31\x36\x29", "\x28\x31\x37\x29", "\x28\x31\x38\x29", "\x28\x31\x39\x29", "\x28\x32\x30\x29", + "\x31\x2e", "\x32\x2e", "\x33\x2e", "\x34\x2e", "\x35\x2e", "\x36\x2e", "\x37\x2e", "\x38\x2e", + "\x39\x2e", "\x31\x30\x2e", "\x31\x31\x2e", "\x31\x32\x2e", "\x31\x33\x2e", "\x31\x34\x2e", "\x31\x35\x2e", "\x31\x36\x2e", + "\x31\x37\x2e", "\x31\x38\x2e", "\x31\x39\x2e", "\x32\x30\x2e", "\x28\x61\x29", "\x28\x62\x29", "\x28\x63\x29", "\x28\x64\x29", + "\x28\x65\x29", "\x28\x66\x29", "\x28\x67\x29", "\x28\x68\x29", "\x28\x69\x29", "\x28\x6a\x29", "\x28\x6b\x29", "\x28\x6c\x29", + "\x28\x6d\x29", "\x28\x6e\x29", "\x28\x6f\x29", "\x28\x70\x29", "\x28\x71\x29", "\x28\x72\x29", "\x28\x73\x29", "\x28\x74\x29", + "\x28\x75\x29", "\x28\x76\x29", "\x28\x77\x29", "\x28\x78\x29", "\x28\x79\x29", "\x28\x7a\x29", "\x61", "\x62", + "\x63", "\x64", "\x65", "\x66", "\x67", "\x68", "\x69", "\x6a" +}; + +static const char *grn_nfkc121_decompose_table_e293[] = { + "\x6b", "\x6c", "\x6d", "\x6e", "\x6f", "\x70", "\x71", "\x72", + "\x73", "\x74", "\x75", "\x76", "\x77", "\x78", "\x79", "\x7a", + "\x61", "\x62", "\x63", "\x64", "\x65", "\x66", "\x67", "\x68", + "\x69", "\x6a", "\x6b", "\x6c", "\x6d", "\x6e", "\x6f", "\x70", + "\x71", "\x72", "\x73", "\x74", "\x75", "\x76", "\x77", "\x78", + "\x79", "\x7a", "\x30" +}; + +static const char *grn_nfkc121_decompose_table_e2a9[] = { + "\x3a\x3a\x3d", "\x3d\x3d", "\x3d\x3d\x3d" +}; + +static const char *grn_nfkc121_decompose_table_e2b0[] = { + "\xe2\xb0\xb0", "\xe2\xb0\xb1", "\xe2\xb0\xb2", "\xe2\xb0\xb3", "\xe2\xb0\xb4", "\xe2\xb0\xb5", "\xe2\xb0\xb6", "\xe2\xb0\xb7", + "\xe2\xb0\xb8", "\xe2\xb0\xb9", "\xe2\xb0\xba", "\xe2\xb0\xbb", "\xe2\xb0\xbc", "\xe2\xb0\xbd", "\xe2\xb0\xbe", "\xe2\xb0\xbf", + "\xe2\xb1\x80", "\xe2\xb1\x81", "\xe2\xb1\x82", "\xe2\xb1\x83", "\xe2\xb1\x84", "\xe2\xb1\x85", "\xe2\xb1\x86", "\xe2\xb1\x87", + "\xe2\xb1\x88", "\xe2\xb1\x89", "\xe2\xb1\x8a", "\xe2\xb1\x8b", "\xe2\xb1\x8c", "\xe2\xb1\x8d", "\xe2\xb1\x8e", "\xe2\xb1\x8f", + "\xe2\xb1\x90", "\xe2\xb1\x91", "\xe2\xb1\x92", "\xe2\xb1\x93", "\xe2\xb1\x94", "\xe2\xb1\x95", "\xe2\xb1\x96", "\xe2\xb1\x97", + "\xe2\xb1\x98", "\xe2\xb1\x99", "\xe2\xb1\x9a", "\xe2\xb1\x9b", "\xe2\xb1\x9c", "\xe2\xb1\x9d", "\xe2\xb1\x9e" +}; + +static const char *grn_nfkc121_decompose_table_e2b1[] = { + "\xe2\xb1\xa1", NULL, "\xc9\xab", "\xe1\xb5\xbd", "\xc9\xbd", NULL, NULL, "\xe2\xb1\xa8", + NULL, "\xe2\xb1\xaa", NULL, "\xe2\xb1\xac", NULL, "\xc9\x91", "\xc9\xb1", "\xc9\x90", + "\xc9\x92", NULL, "\xe2\xb1\xb3", NULL, NULL, "\xe2\xb1\xb6", NULL, NULL, + NULL, NULL, NULL, NULL, "\x6a", "\x76", "\xc8\xbf", "\xc9\x80" +}; + +static const char *grn_nfkc121_decompose_table_e2b2[] = { + "\xe2\xb2\x81", NULL, "\xe2\xb2\x83", NULL, "\xe2\xb2\x85", NULL, "\xe2\xb2\x87", NULL, + "\xe2\xb2\x89", NULL, "\xe2\xb2\x8b", NULL, "\xe2\xb2\x8d", NULL, "\xe2\xb2\x8f", NULL, + "\xe2\xb2\x91", NULL, "\xe2\xb2\x93", NULL, "\xe2\xb2\x95", NULL, "\xe2\xb2\x97", NULL, + "\xe2\xb2\x99", NULL, "\xe2\xb2\x9b", NULL, "\xe2\xb2\x9d", NULL, "\xe2\xb2\x9f", NULL, + "\xe2\xb2\xa1", NULL, "\xe2\xb2\xa3", NULL, "\xe2\xb2\xa5", NULL, "\xe2\xb2\xa7", NULL, + "\xe2\xb2\xa9", NULL, "\xe2\xb2\xab", NULL, "\xe2\xb2\xad", NULL, "\xe2\xb2\xaf", NULL, + "\xe2\xb2\xb1", NULL, "\xe2\xb2\xb3", NULL, "\xe2\xb2\xb5", NULL, "\xe2\xb2\xb7", NULL, + "\xe2\xb2\xb9", NULL, "\xe2\xb2\xbb", NULL, "\xe2\xb2\xbd", NULL, "\xe2\xb2\xbf" +}; + +static const char *grn_nfkc121_decompose_table_e2b3[] = { + "\xe2\xb3\x81", NULL, "\xe2\xb3\x83", NULL, "\xe2\xb3\x85", NULL, "\xe2\xb3\x87", NULL, + "\xe2\xb3\x89", NULL, "\xe2\xb3\x8b", NULL, "\xe2\xb3\x8d", NULL, "\xe2\xb3\x8f", NULL, + "\xe2\xb3\x91", NULL, "\xe2\xb3\x93", NULL, "\xe2\xb3\x95", NULL, "\xe2\xb3\x97", NULL, + "\xe2\xb3\x99", NULL, "\xe2\xb3\x9b", NULL, "\xe2\xb3\x9d", NULL, "\xe2\xb3\x9f", NULL, + "\xe2\xb3\xa1", NULL, "\xe2\xb3\xa3", NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, "\xe2\xb3\xac", NULL, "\xe2\xb3\xae", NULL, NULL, + NULL, NULL, "\xe2\xb3\xb3" +}; + +static const char *grn_nfkc121_decompose_table_e2bc[] = { + "\xe4\xb8\x80", "\xe4\xb8\xa8", "\xe4\xb8\xb6", "\xe4\xb8\xbf", "\xe4\xb9\x99", "\xe4\xba\x85", "\xe4\xba\x8c", "\xe4\xba\xa0", + "\xe4\xba\xba", "\xe5\x84\xbf", "\xe5\x85\xa5", "\xe5\x85\xab", "\xe5\x86\x82", "\xe5\x86\x96", "\xe5\x86\xab", "\xe5\x87\xa0", + "\xe5\x87\xb5", "\xe5\x88\x80", "\xe5\x8a\x9b", "\xe5\x8b\xb9", "\xe5\x8c\x95", "\xe5\x8c\x9a", "\xe5\x8c\xb8", "\xe5\x8d\x81", + "\xe5\x8d\x9c", "\xe5\x8d\xa9", "\xe5\x8e\x82", "\xe5\x8e\xb6", "\xe5\x8f\x88", "\xe5\x8f\xa3", "\xe5\x9b\x97", "\xe5\x9c\x9f", + "\xe5\xa3\xab", "\xe5\xa4\x82", "\xe5\xa4\x8a", "\xe5\xa4\x95", "\xe5\xa4\xa7", "\xe5\xa5\xb3", "\xe5\xad\x90", "\xe5\xae\x80", + "\xe5\xaf\xb8", "\xe5\xb0\x8f", "\xe5\xb0\xa2", "\xe5\xb0\xb8", "\xe5\xb1\xae", "\xe5\xb1\xb1", "\xe5\xb7\x9b", "\xe5\xb7\xa5", + "\xe5\xb7\xb1", "\xe5\xb7\xbe", "\xe5\xb9\xb2", "\xe5\xb9\xba", "\xe5\xb9\xbf", "\xe5\xbb\xb4", "\xe5\xbb\xbe", "\xe5\xbc\x8b", + "\xe5\xbc\x93", "\xe5\xbd\x90", "\xe5\xbd\xa1", "\xe5\xbd\xb3", "\xe5\xbf\x83", "\xe6\x88\x88", "\xe6\x88\xb6", "\xe6\x89\x8b" +}; + +static const char *grn_nfkc121_decompose_table_e2bd[] = { + "\xe6\x94\xaf", "\xe6\x94\xb4", "\xe6\x96\x87", "\xe6\x96\x97", "\xe6\x96\xa4", "\xe6\x96\xb9", "\xe6\x97\xa0", "\xe6\x97\xa5", + "\xe6\x9b\xb0", "\xe6\x9c\x88", "\xe6\x9c\xa8", "\xe6\xac\xa0", "\xe6\xad\xa2", "\xe6\xad\xb9", "\xe6\xae\xb3", "\xe6\xaf\x8b", + "\xe6\xaf\x94", "\xe6\xaf\x9b", "\xe6\xb0\x8f", "\xe6\xb0\x94", "\xe6\xb0\xb4", "\xe7\x81\xab", "\xe7\x88\xaa", "\xe7\x88\xb6", + "\xe7\x88\xbb", "\xe7\x88\xbf", "\xe7\x89\x87", "\xe7\x89\x99", "\xe7\x89\x9b", "\xe7\x8a\xac", "\xe7\x8e\x84", "\xe7\x8e\x89", + "\xe7\x93\x9c", "\xe7\x93\xa6", "\xe7\x94\x98", "\xe7\x94\x9f", "\xe7\x94\xa8", "\xe7\x94\xb0", "\xe7\x96\x8b", "\xe7\x96\x92", + "\xe7\x99\xb6", "\xe7\x99\xbd", "\xe7\x9a\xae", "\xe7\x9a\xbf", "\xe7\x9b\xae", "\xe7\x9f\x9b", "\xe7\x9f\xa2", "\xe7\x9f\xb3", + "\xe7\xa4\xba", "\xe7\xa6\xb8", "\xe7\xa6\xbe", "\xe7\xa9\xb4", "\xe7\xab\x8b", "\xe7\xab\xb9", "\xe7\xb1\xb3", "\xe7\xb3\xb8", + "\xe7\xbc\xb6", "\xe7\xbd\x91", "\xe7\xbe\x8a", "\xe7\xbe\xbd", "\xe8\x80\x81", "\xe8\x80\x8c", "\xe8\x80\x92", "\xe8\x80\xb3" +}; + +static const char *grn_nfkc121_decompose_table_e2be[] = { + "\xe8\x81\xbf", "\xe8\x82\x89", "\xe8\x87\xa3", "\xe8\x87\xaa", "\xe8\x87\xb3", "\xe8\x87\xbc", "\xe8\x88\x8c", "\xe8\x88\x9b", + "\xe8\x88\x9f", "\xe8\x89\xae", "\xe8\x89\xb2", "\xe8\x89\xb8", "\xe8\x99\x8d", "\xe8\x99\xab", "\xe8\xa1\x80", "\xe8\xa1\x8c", + "\xe8\xa1\xa3", "\xe8\xa5\xbe", "\xe8\xa6\x8b", "\xe8\xa7\x92", "\xe8\xa8\x80", "\xe8\xb0\xb7", "\xe8\xb1\x86", "\xe8\xb1\x95", + "\xe8\xb1\xb8", "\xe8\xb2\x9d", "\xe8\xb5\xa4", "\xe8\xb5\xb0", "\xe8\xb6\xb3", "\xe8\xba\xab", "\xe8\xbb\x8a", "\xe8\xbe\x9b", + "\xe8\xbe\xb0", "\xe8\xbe\xb5", "\xe9\x82\x91", "\xe9\x85\x89", "\xe9\x87\x86", "\xe9\x87\x8c", "\xe9\x87\x91", "\xe9\x95\xb7", + "\xe9\x96\x80", "\xe9\x98\x9c", "\xe9\x9a\xb6", "\xe9\x9a\xb9", "\xe9\x9b\xa8", "\xe9\x9d\x91", "\xe9\x9d\x9e", "\xe9\x9d\xa2", + "\xe9\x9d\xa9", "\xe9\x9f\x8b", "\xe9\x9f\xad", "\xe9\x9f\xb3", "\xe9\xa0\x81", "\xe9\xa2\xa8", "\xe9\xa3\x9b", "\xe9\xa3\x9f", + "\xe9\xa6\x96", "\xe9\xa6\x99", "\xe9\xa6\xac", "\xe9\xaa\xa8", "\xe9\xab\x98", "\xe9\xab\x9f", "\xe9\xac\xa5", "\xe9\xac\xaf" +}; + +static const char *grn_nfkc121_decompose_table_e2bf[] = { + "\xe9\xac\xb2", "\xe9\xac\xbc", "\xe9\xad\x9a", "\xe9\xb3\xa5", "\xe9\xb9\xb5", "\xe9\xb9\xbf", "\xe9\xba\xa5", "\xe9\xba\xbb", + "\xe9\xbb\x83", "\xe9\xbb\x8d", "\xe9\xbb\x91", "\xe9\xbb\xb9", "\xe9\xbb\xbd", "\xe9\xbc\x8e", "\xe9\xbc\x93", "\xe9\xbc\xa0", + "\xe9\xbc\xbb", "\xe9\xbd\x8a", "\xe9\xbd\x92", "\xe9\xbe\x8d", "\xe9\xbe\x9c", "\xe9\xbe\xa0" +}; + +static const char *grn_nfkc121_decompose_table_e380[] = { + "\x20", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, "\xe3\x80\x92", NULL, + "\xe5\x8d\x81", "\xe5\x8d\x84", "\xe5\x8d\x85" +}; + +static const char *grn_nfkc121_decompose_table_e382[] = { + "\xe3\x82\x99", "\xe3\x82\x9a", NULL, NULL, "\xe3\x82\x88\xe3\x82\x8a" +}; + +static const char *grn_nfkc121_decompose_table_e384[] = { + "\xe1\x84\x80", "\xe1\x84\x81", "\xe1\x86\xaa", "\xe1\x84\x82", "\xe1\x86\xac", "\xe1\x86\xad", "\xe1\x84\x83", "\xe1\x84\x84", + "\xe1\x84\x85", "\xe1\x86\xb0", "\xe1\x86\xb1", "\xe1\x86\xb2", "\xe1\x86\xb3", "\xe1\x86\xb4", "\xe1\x86\xb5" +}; + +static const char *grn_nfkc121_decompose_table_e385[] = { + "\xe1\x84\x9a", "\xe1\x84\x86", "\xe1\x84\x87", "\xe1\x84\x88", "\xe1\x84\xa1", "\xe1\x84\x89", "\xe1\x84\x8a", "\xe1\x84\x8b", + "\xe1\x84\x8c", "\xe1\x84\x8d", "\xe1\x84\x8e", "\xe1\x84\x8f", "\xe1\x84\x90", "\xe1\x84\x91", "\xe1\x84\x92", "\xe1\x85\xa1", + "\xe1\x85\xa2", "\xe1\x85\xa3", "\xe1\x85\xa4", "\xe1\x85\xa5", "\xe1\x85\xa6", "\xe1\x85\xa7", "\xe1\x85\xa8", "\xe1\x85\xa9", + "\xe1\x85\xaa", "\xe1\x85\xab", "\xe1\x85\xac", "\xe1\x85\xad", "\xe1\x85\xae", "\xe1\x85\xaf", "\xe1\x85\xb0", "\xe1\x85\xb1", + "\xe1\x85\xb2", "\xe1\x85\xb3", "\xe1\x85\xb4", "\xe1\x85\xb5", "\xe1\x85\xa0", "\xe1\x84\x94", "\xe1\x84\x95", "\xe1\x87\x87", + "\xe1\x87\x88", "\xe1\x87\x8c", "\xe1\x87\x8e", "\xe1\x87\x93", "\xe1\x87\x97", "\xe1\x87\x99", "\xe1\x84\x9c", "\xe1\x87\x9d", + "\xe1\x87\x9f", "\xe1\x84\x9d", "\xe1\x84\x9e", "\xe1\x84\xa0", "\xe1\x84\xa2", "\xe1\x84\xa3", "\xe1\x84\xa7", "\xe1\x84\xa9", + "\xe1\x84\xab", "\xe1\x84\xac", "\xe1\x84\xad", "\xe1\x84\xae", "\xe1\x84\xaf", "\xe1\x84\xb2", "\xe1\x84\xb6", "\xe1\x85\x80" +}; + +static const char *grn_nfkc121_decompose_table_e386[] = { + "\xe1\x85\x87", "\xe1\x85\x8c", "\xe1\x87\xb1", "\xe1\x87\xb2", "\xe1\x85\x97", "\xe1\x85\x98", "\xe1\x85\x99", "\xe1\x86\x84", + "\xe1\x86\x85", "\xe1\x86\x88", "\xe1\x86\x91", "\xe1\x86\x92", "\xe1\x86\x94", "\xe1\x86\x9e", "\xe1\x86\xa1", NULL, + NULL, NULL, "\xe4\xb8\x80", "\xe4\xba\x8c", "\xe4\xb8\x89", "\xe5\x9b\x9b", "\xe4\xb8\x8a", "\xe4\xb8\xad", + "\xe4\xb8\x8b", "\xe7\x94\xb2", "\xe4\xb9\x99", "\xe4\xb8\x99", "\xe4\xb8\x81", "\xe5\xa4\xa9", "\xe5\x9c\xb0", "\xe4\xba\xba" +}; + +static const char *grn_nfkc121_decompose_table_e388[] = { + "\x28\xe1\x84\x80\x29", "\x28\xe1\x84\x82\x29", "\x28\xe1\x84\x83\x29", "\x28\xe1\x84\x85\x29", "\x28\xe1\x84\x86\x29", "\x28\xe1\x84\x87\x29", "\x28\xe1\x84\x89\x29", "\x28\xe1\x84\x8b\x29", + "\x28\xe1\x84\x8c\x29", "\x28\xe1\x84\x8e\x29", "\x28\xe1\x84\x8f\x29", "\x28\xe1\x84\x90\x29", "\x28\xe1\x84\x91\x29", "\x28\xe1\x84\x92\x29", "\x28\xea\xb0\x80\x29", "\x28\xeb\x82\x98\x29", + "\x28\xeb\x8b\xa4\x29", "\x28\xeb\x9d\xbc\x29", "\x28\xeb\xa7\x88\x29", "\x28\xeb\xb0\x94\x29", "\x28\xec\x82\xac\x29", "\x28\xec\x95\x84\x29", "\x28\xec\x9e\x90\x29", "\x28\xec\xb0\xa8\x29", + "\x28\xec\xb9\xb4\x29", "\x28\xed\x83\x80\x29", "\x28\xed\x8c\x8c\x29", "\x28\xed\x95\x98\x29", "\x28\xec\xa3\xbc\x29", "\x28\xec\x98\xa4\xec\xa0\x84\x29", "\x28\xec\x98\xa4\xed\x9b\x84\x29", NULL, + "\x28\xe4\xb8\x80\x29", "\x28\xe4\xba\x8c\x29", "\x28\xe4\xb8\x89\x29", "\x28\xe5\x9b\x9b\x29", "\x28\xe4\xba\x94\x29", "\x28\xe5\x85\xad\x29", "\x28\xe4\xb8\x83\x29", "\x28\xe5\x85\xab\x29", + "\x28\xe4\xb9\x9d\x29", "\x28\xe5\x8d\x81\x29", "\x28\xe6\x9c\x88\x29", "\x28\xe7\x81\xab\x29", "\x28\xe6\xb0\xb4\x29", "\x28\xe6\x9c\xa8\x29", "\x28\xe9\x87\x91\x29", "\x28\xe5\x9c\x9f\x29", + "\x28\xe6\x97\xa5\x29", "\x28\xe6\xa0\xaa\x29", "\x28\xe6\x9c\x89\x29", "\x28\xe7\xa4\xbe\x29", "\x28\xe5\x90\x8d\x29", "\x28\xe7\x89\xb9\x29", "\x28\xe8\xb2\xa1\x29", "\x28\xe7\xa5\x9d\x29", + "\x28\xe5\x8a\xb4\x29", "\x28\xe4\xbb\xa3\x29", "\x28\xe5\x91\xbc\x29", "\x28\xe5\xad\xa6\x29", "\x28\xe7\x9b\xa3\x29", "\x28\xe4\xbc\x81\x29", "\x28\xe8\xb3\x87\x29", "\x28\xe5\x8d\x94\x29" +}; + +static const char *grn_nfkc121_decompose_table_e389[] = { + "\x28\xe7\xa5\xad\x29", "\x28\xe4\xbc\x91\x29", "\x28\xe8\x87\xaa\x29", "\x28\xe8\x87\xb3\x29", "\xe5\x95\x8f", "\xe5\xb9\xbc", "\xe6\x96\x87", "\xe7\xae\x8f", + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\x70\x74\x65", "\x32\x31", "\x32\x32", "\x32\x33", "\x32\x34", "\x32\x35", "\x32\x36", "\x32\x37", + "\x32\x38", "\x32\x39", "\x33\x30", "\x33\x31", "\x33\x32", "\x33\x33", "\x33\x34", "\x33\x35", + "\xe1\x84\x80", "\xe1\x84\x82", "\xe1\x84\x83", "\xe1\x84\x85", "\xe1\x84\x86", "\xe1\x84\x87", "\xe1\x84\x89", "\xe1\x84\x8b", + "\xe1\x84\x8c", "\xe1\x84\x8e", "\xe1\x84\x8f", "\xe1\x84\x90", "\xe1\x84\x91", "\xe1\x84\x92", "\xea\xb0\x80", "\xeb\x82\x98", + "\xeb\x8b\xa4", "\xeb\x9d\xbc", "\xeb\xa7\x88", "\xeb\xb0\x94", "\xec\x82\xac", "\xec\x95\x84", "\xec\x9e\x90", "\xec\xb0\xa8", + "\xec\xb9\xb4", "\xed\x83\x80", "\xed\x8c\x8c", "\xed\x95\x98", "\xec\xb0\xb8\xea\xb3\xa0", "\xec\xa3\xbc\xec\x9d\x98", "\xec\x9a\xb0" +}; + +static const char *grn_nfkc121_decompose_table_e38a[] = { + "\xe4\xb8\x80", "\xe4\xba\x8c", "\xe4\xb8\x89", "\xe5\x9b\x9b", "\xe4\xba\x94", "\xe5\x85\xad", "\xe4\xb8\x83", "\xe5\x85\xab", + "\xe4\xb9\x9d", "\xe5\x8d\x81", "\xe6\x9c\x88", "\xe7\x81\xab", "\xe6\xb0\xb4", "\xe6\x9c\xa8", "\xe9\x87\x91", "\xe5\x9c\x9f", + "\xe6\x97\xa5", "\xe6\xa0\xaa", "\xe6\x9c\x89", "\xe7\xa4\xbe", "\xe5\x90\x8d", "\xe7\x89\xb9", "\xe8\xb2\xa1", "\xe7\xa5\x9d", + "\xe5\x8a\xb4", "\xe7\xa7\x98", "\xe7\x94\xb7", "\xe5\xa5\xb3", "\xe9\x81\xa9", "\xe5\x84\xaa", "\xe5\x8d\xb0", "\xe6\xb3\xa8", + "\xe9\xa0\x85", "\xe4\xbc\x91", "\xe5\x86\x99", "\xe6\xad\xa3", "\xe4\xb8\x8a", "\xe4\xb8\xad", "\xe4\xb8\x8b", "\xe5\xb7\xa6", + "\xe5\x8f\xb3", "\xe5\x8c\xbb", "\xe5\xae\x97", "\xe5\xad\xa6", "\xe7\x9b\xa3", "\xe4\xbc\x81", "\xe8\xb3\x87", "\xe5\x8d\x94", + "\xe5\xa4\x9c", "\x33\x36", "\x33\x37", "\x33\x38", "\x33\x39", "\x34\x30", "\x34\x31", "\x34\x32", + "\x34\x33", "\x34\x34", "\x34\x35", "\x34\x36", "\x34\x37", "\x34\x38", "\x34\x39", "\x35\x30" +}; + +static const char *grn_nfkc121_decompose_table_e38b[] = { + "\x31\xe6\x9c\x88", "\x32\xe6\x9c\x88", "\x33\xe6\x9c\x88", "\x34\xe6\x9c\x88", "\x35\xe6\x9c\x88", "\x36\xe6\x9c\x88", "\x37\xe6\x9c\x88", "\x38\xe6\x9c\x88", + "\x39\xe6\x9c\x88", "\x31\x30\xe6\x9c\x88", "\x31\x31\xe6\x9c\x88", "\x31\x32\xe6\x9c\x88", "\x68\x67", "\x65\x72\x67", "\x65\x76", "\x6c\x74\x64", + "\xe3\x82\xa2", "\xe3\x82\xa4", "\xe3\x82\xa6", "\xe3\x82\xa8", "\xe3\x82\xaa", "\xe3\x82\xab", "\xe3\x82\xad", "\xe3\x82\xaf", + "\xe3\x82\xb1", "\xe3\x82\xb3", "\xe3\x82\xb5", "\xe3\x82\xb7", "\xe3\x82\xb9", "\xe3\x82\xbb", "\xe3\x82\xbd", "\xe3\x82\xbf", + "\xe3\x83\x81", "\xe3\x83\x84", "\xe3\x83\x86", "\xe3\x83\x88", "\xe3\x83\x8a", "\xe3\x83\x8b", "\xe3\x83\x8c", "\xe3\x83\x8d", + "\xe3\x83\x8e", "\xe3\x83\x8f", "\xe3\x83\x92", "\xe3\x83\x95", "\xe3\x83\x98", "\xe3\x83\x9b", "\xe3\x83\x9e", "\xe3\x83\x9f", + "\xe3\x83\xa0", "\xe3\x83\xa1", "\xe3\x83\xa2", "\xe3\x83\xa4", "\xe3\x83\xa6", "\xe3\x83\xa8", "\xe3\x83\xa9", "\xe3\x83\xaa", + "\xe3\x83\xab", "\xe3\x83\xac", "\xe3\x83\xad", "\xe3\x83\xaf", "\xe3\x83\xb0", "\xe3\x83\xb1", "\xe3\x83\xb2", "\xe4\xbb\xa4\xe5\x92\x8c" +}; + +static const char *grn_nfkc121_decompose_table_e38c[] = { + "\xe3\x82\xa2\xe3\x83\x91\xe3\x83\xbc\xe3\x83\x88", "\xe3\x82\xa2\xe3\x83\xab\xe3\x83\x95\xe3\x82\xa1", "\xe3\x82\xa2\xe3\x83\xb3\xe3\x83\x9a\xe3\x82\xa2", "\xe3\x82\xa2\xe3\x83\xbc\xe3\x83\xab", "\xe3\x82\xa4\xe3\x83\x8b\xe3\x83\xb3\xe3\x82\xb0", "\xe3\x82\xa4\xe3\x83\xb3\xe3\x83\x81", "\xe3\x82\xa6\xe3\x82\xa9\xe3\x83\xb3", "\xe3\x82\xa8\xe3\x82\xb9\xe3\x82\xaf\xe3\x83\xbc\xe3\x83\x89", + "\xe3\x82\xa8\xe3\x83\xbc\xe3\x82\xab\xe3\x83\xbc", "\xe3\x82\xaa\xe3\x83\xb3\xe3\x82\xb9", "\xe3\x82\xaa\xe3\x83\xbc\xe3\x83\xa0", "\xe3\x82\xab\xe3\x82\xa4\xe3\x83\xaa", "\xe3\x82\xab\xe3\x83\xa9\xe3\x83\x83\xe3\x83\x88", "\xe3\x82\xab\xe3\x83\xad\xe3\x83\xaa\xe3\x83\xbc", "\xe3\x82\xac\xe3\x83\xad\xe3\x83\xb3", "\xe3\x82\xac\xe3\x83\xb3\xe3\x83\x9e", + "\xe3\x82\xae\xe3\x82\xac", "\xe3\x82\xae\xe3\x83\x8b\xe3\x83\xbc", "\xe3\x82\xad\xe3\x83\xa5\xe3\x83\xaa\xe3\x83\xbc", "\xe3\x82\xae\xe3\x83\xab\xe3\x83\x80\xe3\x83\xbc", "\xe3\x82\xad\xe3\x83\xad", "\xe3\x82\xad\xe3\x83\xad\xe3\x82\xb0\xe3\x83\xa9\xe3\x83\xa0", "\xe3\x82\xad\xe3\x83\xad\xe3\x83\xa1\xe3\x83\xbc\xe3\x83\x88\xe3\x83\xab", "\xe3\x82\xad\xe3\x83\xad\xe3\x83\xaf\xe3\x83\x83\xe3\x83\x88", + "\xe3\x82\xb0\xe3\x83\xa9\xe3\x83\xa0", "\xe3\x82\xb0\xe3\x83\xa9\xe3\x83\xa0\xe3\x83\x88\xe3\x83\xb3", "\xe3\x82\xaf\xe3\x83\xab\xe3\x82\xbc\xe3\x82\xa4\xe3\x83\xad", "\xe3\x82\xaf\xe3\x83\xad\xe3\x83\xbc\xe3\x83\x8d", "\xe3\x82\xb1\xe3\x83\xbc\xe3\x82\xb9", "\xe3\x82\xb3\xe3\x83\xab\xe3\x83\x8a", "\xe3\x82\xb3\xe3\x83\xbc\xe3\x83\x9d", "\xe3\x82\xb5\xe3\x82\xa4\xe3\x82\xaf\xe3\x83\xab", + "\xe3\x82\xb5\xe3\x83\xb3\xe3\x83\x81\xe3\x83\xbc\xe3\x83\xa0", "\xe3\x82\xb7\xe3\x83\xaa\xe3\x83\xb3\xe3\x82\xb0", "\xe3\x82\xbb\xe3\x83\xb3\xe3\x83\x81", "\xe3\x82\xbb\xe3\x83\xb3\xe3\x83\x88", "\xe3\x83\x80\xe3\x83\xbc\xe3\x82\xb9", "\xe3\x83\x87\xe3\x82\xb7", "\xe3\x83\x89\xe3\x83\xab", "\xe3\x83\x88\xe3\x83\xb3", + "\xe3\x83\x8a\xe3\x83\x8e", "\xe3\x83\x8e\xe3\x83\x83\xe3\x83\x88", "\xe3\x83\x8f\xe3\x82\xa4\xe3\x83\x84", "\xe3\x83\x91\xe3\x83\xbc\xe3\x82\xbb\xe3\x83\xb3\xe3\x83\x88", "\xe3\x83\x91\xe3\x83\xbc\xe3\x83\x84", "\xe3\x83\x90\xe3\x83\xbc\xe3\x83\xac\xe3\x83\xab", "\xe3\x83\x94\xe3\x82\xa2\xe3\x82\xb9\xe3\x83\x88\xe3\x83\xab", "\xe3\x83\x94\xe3\x82\xaf\xe3\x83\xab", + "\xe3\x83\x94\xe3\x82\xb3", "\xe3\x83\x93\xe3\x83\xab", "\xe3\x83\x95\xe3\x82\xa1\xe3\x83\xa9\xe3\x83\x83\xe3\x83\x89", "\xe3\x83\x95\xe3\x82\xa3\xe3\x83\xbc\xe3\x83\x88", "\xe3\x83\x96\xe3\x83\x83\xe3\x82\xb7\xe3\x82\xa7\xe3\x83\xab", "\xe3\x83\x95\xe3\x83\xa9\xe3\x83\xb3", "\xe3\x83\x98\xe3\x82\xaf\xe3\x82\xbf\xe3\x83\xbc\xe3\x83\xab", "\xe3\x83\x9a\xe3\x82\xbd", + "\xe3\x83\x9a\xe3\x83\x8b\xe3\x83\x92", "\xe3\x83\x98\xe3\x83\xab\xe3\x83\x84", "\xe3\x83\x9a\xe3\x83\xb3\xe3\x82\xb9", "\xe3\x83\x9a\xe3\x83\xbc\xe3\x82\xb8", "\xe3\x83\x99\xe3\x83\xbc\xe3\x82\xbf", "\xe3\x83\x9d\xe3\x82\xa4\xe3\x83\xb3\xe3\x83\x88", "\xe3\x83\x9c\xe3\x83\xab\xe3\x83\x88", "\xe3\x83\x9b\xe3\x83\xb3" +}; + +static const char *grn_nfkc121_decompose_table_e38d[] = { + "\xe3\x83\x9d\xe3\x83\xb3\xe3\x83\x89", "\xe3\x83\x9b\xe3\x83\xbc\xe3\x83\xab", "\xe3\x83\x9b\xe3\x83\xbc\xe3\x83\xb3", "\xe3\x83\x9e\xe3\x82\xa4\xe3\x82\xaf\xe3\x83\xad", "\xe3\x83\x9e\xe3\x82\xa4\xe3\x83\xab", "\xe3\x83\x9e\xe3\x83\x83\xe3\x83\x8f", "\xe3\x83\x9e\xe3\x83\xab\xe3\x82\xaf", "\xe3\x83\x9e\xe3\x83\xb3\xe3\x82\xb7\xe3\x83\xa7\xe3\x83\xb3", + "\xe3\x83\x9f\xe3\x82\xaf\xe3\x83\xad\xe3\x83\xb3", "\xe3\x83\x9f\xe3\x83\xaa", "\xe3\x83\x9f\xe3\x83\xaa\xe3\x83\x90\xe3\x83\xbc\xe3\x83\xab", "\xe3\x83\xa1\xe3\x82\xac", "\xe3\x83\xa1\xe3\x82\xac\xe3\x83\x88\xe3\x83\xb3", "\xe3\x83\xa1\xe3\x83\xbc\xe3\x83\x88\xe3\x83\xab", "\xe3\x83\xa4\xe3\x83\xbc\xe3\x83\x89", "\xe3\x83\xa4\xe3\x83\xbc\xe3\x83\xab", + "\xe3\x83\xa6\xe3\x82\xa2\xe3\x83\xb3", "\xe3\x83\xaa\xe3\x83\x83\xe3\x83\x88\xe3\x83\xab", "\xe3\x83\xaa\xe3\x83\xa9", "\xe3\x83\xab\xe3\x83\x94\xe3\x83\xbc", "\xe3\x83\xab\xe3\x83\xbc\xe3\x83\x96\xe3\x83\xab", "\xe3\x83\xac\xe3\x83\xa0", "\xe3\x83\xac\xe3\x83\xb3\xe3\x83\x88\xe3\x82\xb2\xe3\x83\xb3", "\xe3\x83\xaf\xe3\x83\x83\xe3\x83\x88", + "\x30\xe7\x82\xb9", "\x31\xe7\x82\xb9", "\x32\xe7\x82\xb9", "\x33\xe7\x82\xb9", "\x34\xe7\x82\xb9", "\x35\xe7\x82\xb9", "\x36\xe7\x82\xb9", "\x37\xe7\x82\xb9", + "\x38\xe7\x82\xb9", "\x39\xe7\x82\xb9", "\x31\x30\xe7\x82\xb9", "\x31\x31\xe7\x82\xb9", "\x31\x32\xe7\x82\xb9", "\x31\x33\xe7\x82\xb9", "\x31\x34\xe7\x82\xb9", "\x31\x35\xe7\x82\xb9", + "\x31\x36\xe7\x82\xb9", "\x31\x37\xe7\x82\xb9", "\x31\x38\xe7\x82\xb9", "\x31\x39\xe7\x82\xb9", "\x32\x30\xe7\x82\xb9", "\x32\x31\xe7\x82\xb9", "\x32\x32\xe7\x82\xb9", "\x32\x33\xe7\x82\xb9", + "\x32\x34\xe7\x82\xb9", "\x68\x70\x61", "\x64\x61", "\x61\x75", "\x62\x61\x72", "\x6f\x76", "\x70\x63", "\x64\x6d", + "\x64\x6d\x32", "\x64\x6d\x33", "\x69\x75", "\xe5\xb9\xb3\xe6\x88\x90", "\xe6\x98\xad\xe5\x92\x8c", "\xe5\xa4\xa7\xe6\xad\xa3", "\xe6\x98\x8e\xe6\xb2\xbb", "\xe6\xa0\xaa\xe5\xbc\x8f\xe4\xbc\x9a\xe7\xa4\xbe" +}; + +static const char *grn_nfkc121_decompose_table_e38e[] = { + "\x70\x61", "\x6e\x61", "\xce\xbc\x61", "\x6d\x61", "\x6b\x61", "\x6b\x62", "\x6d\x62", "\x67\x62", + "\x63\x61\x6c", "\x6b\x63\x61\x6c", "\x70\x66", "\x6e\x66", "\xce\xbc\x66", "\xce\xbc\x67", "\x6d\x67", "\x6b\x67", + "\x68\x7a", "\x6b\x68\x7a", "\x6d\x68\x7a", "\x67\x68\x7a", "\x74\x68\x7a", "\xce\xbc\x6c", "\x6d\x6c", "\x64\x6c", + "\x6b\x6c", "\x66\x6d", "\x6e\x6d", "\xce\xbc\x6d", "\x6d\x6d", "\x63\x6d", "\x6b\x6d", "\x6d\x6d\x32", + "\x63\x6d\x32", "\x6d\x32", "\x6b\x6d\x32", "\x6d\x6d\x33", "\x63\x6d\x33", "\x6d\x33", "\x6b\x6d\x33", "\x6d\xe2\x88\x95\x73", + "\x6d\xe2\x88\x95\x73\x32", "\x70\x61", "\x6b\x70\x61", "\x6d\x70\x61", "\x67\x70\x61", "\x72\x61\x64", "\x72\x61\x64\xe2\x88\x95\x73", "\x72\x61\x64\xe2\x88\x95\x73\x32", + "\x70\x73", "\x6e\x73", "\xce\xbc\x73", "\x6d\x73", "\x70\x76", "\x6e\x76", "\xce\xbc\x76", "\x6d\x76", + "\x6b\x76", "\x6d\x76", "\x70\x77", "\x6e\x77", "\xce\xbc\x77", "\x6d\x77", "\x6b\x77", "\x6d\x77" +}; + +static const char *grn_nfkc121_decompose_table_e38f[] = { + "\x6b\xcf\x89", "\x6d\xcf\x89", "\x61\x2e\x6d\x2e", "\x62\x71", "\x63\x63", "\x63\x64", "\x63\xe2\x88\x95\x6b\x67", "\x63\x6f\x2e", + "\x64\x62", "\x67\x79", "\x68\x61", "\x68\x70", "\x69\x6e", "\x6b\x6b", "\x6b\x6d", "\x6b\x74", + "\x6c\x6d", "\x6c\x6e", "\x6c\x6f\x67", "\x6c\x78", "\x6d\x62", "\x6d\x69\x6c", "\x6d\x6f\x6c", "\x70\x68", + "\x70\x2e\x6d\x2e", "\x70\x70\x6d", "\x70\x72", "\x73\x72", "\x73\x76", "\x77\x62", "\x76\xe2\x88\x95\x6d", "\x61\xe2\x88\x95\x6d", + "\x31\xe6\x97\xa5", "\x32\xe6\x97\xa5", "\x33\xe6\x97\xa5", "\x34\xe6\x97\xa5", "\x35\xe6\x97\xa5", "\x36\xe6\x97\xa5", "\x37\xe6\x97\xa5", "\x38\xe6\x97\xa5", + "\x39\xe6\x97\xa5", "\x31\x30\xe6\x97\xa5", "\x31\x31\xe6\x97\xa5", "\x31\x32\xe6\x97\xa5", "\x31\x33\xe6\x97\xa5", "\x31\x34\xe6\x97\xa5", "\x31\x35\xe6\x97\xa5", "\x31\x36\xe6\x97\xa5", + "\x31\x37\xe6\x97\xa5", "\x31\x38\xe6\x97\xa5", "\x31\x39\xe6\x97\xa5", "\x32\x30\xe6\x97\xa5", "\x32\x31\xe6\x97\xa5", "\x32\x32\xe6\x97\xa5", "\x32\x33\xe6\x97\xa5", "\x32\x34\xe6\x97\xa5", + "\x32\x35\xe6\x97\xa5", "\x32\x36\xe6\x97\xa5", "\x32\x37\xe6\x97\xa5", "\x32\x38\xe6\x97\xa5", "\x32\x39\xe6\x97\xa5", "\x33\x30\xe6\x97\xa5", "\x33\x31\xe6\x97\xa5", "\x67\x61\x6c" +}; + +static const char *grn_nfkc121_decompose_table_ea99[] = { + "\xea\x99\x81", NULL, "\xea\x99\x83", NULL, "\xea\x99\x85", NULL, "\xea\x99\x87", NULL, + "\xea\x99\x89", NULL, "\xea\x99\x8b", NULL, "\xea\x99\x8d", NULL, "\xea\x99\x8f", NULL, + "\xea\x99\x91", NULL, "\xea\x99\x93", NULL, "\xea\x99\x95", NULL, "\xea\x99\x97", NULL, + "\xea\x99\x99", NULL, "\xea\x99\x9b", NULL, "\xea\x99\x9d", NULL, "\xea\x99\x9f", NULL, + "\xea\x99\xa1", NULL, "\xea\x99\xa3", NULL, "\xea\x99\xa5", NULL, "\xea\x99\xa7", NULL, + "\xea\x99\xa9", NULL, "\xea\x99\xab", NULL, "\xea\x99\xad" +}; + +static const char *grn_nfkc121_decompose_table_ea9a[] = { + "\xea\x9a\x81", NULL, "\xea\x9a\x83", NULL, "\xea\x9a\x85", NULL, "\xea\x9a\x87", NULL, + "\xea\x9a\x89", NULL, "\xea\x9a\x8b", NULL, "\xea\x9a\x8d", NULL, "\xea\x9a\x8f", NULL, + "\xea\x9a\x91", NULL, "\xea\x9a\x93", NULL, "\xea\x9a\x95", NULL, "\xea\x9a\x97", NULL, + "\xea\x9a\x99", NULL, "\xea\x9a\x9b", NULL, "\xd1\x8a", "\xd1\x8c" +}; + +static const char *grn_nfkc121_decompose_table_ea9c[] = { + "\xea\x9c\xa3", NULL, "\xea\x9c\xa5", NULL, "\xea\x9c\xa7", NULL, "\xea\x9c\xa9", NULL, + "\xea\x9c\xab", NULL, "\xea\x9c\xad", NULL, "\xea\x9c\xaf", NULL, NULL, NULL, + "\xea\x9c\xb3", NULL, "\xea\x9c\xb5", NULL, "\xea\x9c\xb7", NULL, "\xea\x9c\xb9", NULL, + "\xea\x9c\xbb", NULL, "\xea\x9c\xbd", NULL, "\xea\x9c\xbf" +}; + +static const char *grn_nfkc121_decompose_table_ea9d[] = { + "\xea\x9d\x81", NULL, "\xea\x9d\x83", NULL, "\xea\x9d\x85", NULL, "\xea\x9d\x87", NULL, + "\xea\x9d\x89", NULL, "\xea\x9d\x8b", NULL, "\xea\x9d\x8d", NULL, "\xea\x9d\x8f", NULL, + "\xea\x9d\x91", NULL, "\xea\x9d\x93", NULL, "\xea\x9d\x95", NULL, "\xea\x9d\x97", NULL, + "\xea\x9d\x99", NULL, "\xea\x9d\x9b", NULL, "\xea\x9d\x9d", NULL, "\xea\x9d\x9f", NULL, + "\xea\x9d\xa1", NULL, "\xea\x9d\xa3", NULL, "\xea\x9d\xa5", NULL, "\xea\x9d\xa7", NULL, + "\xea\x9d\xa9", NULL, "\xea\x9d\xab", NULL, "\xea\x9d\xad", NULL, "\xea\x9d\xaf", NULL, + "\xea\x9d\xaf", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, "\xea\x9d\xba", NULL, "\xea\x9d\xbc", NULL, "\xe1\xb5\xb9", "\xea\x9d\xbf" +}; + +static const char *grn_nfkc121_decompose_table_ea9e[] = { + "\xea\x9e\x81", NULL, "\xea\x9e\x83", NULL, "\xea\x9e\x85", NULL, "\xea\x9e\x87", NULL, + NULL, NULL, NULL, "\xea\x9e\x8c", NULL, "\xc9\xa5", NULL, NULL, + "\xea\x9e\x91", NULL, "\xea\x9e\x93", NULL, NULL, NULL, "\xea\x9e\x97", NULL, + "\xea\x9e\x99", NULL, "\xea\x9e\x9b", NULL, "\xea\x9e\x9d", NULL, "\xea\x9e\x9f", NULL, + "\xea\x9e\xa1", NULL, "\xea\x9e\xa3", NULL, "\xea\x9e\xa5", NULL, "\xea\x9e\xa7", NULL, + "\xea\x9e\xa9", NULL, "\xc9\xa6", "\xc9\x9c", "\xc9\xa1", "\xc9\xac", "\xc9\xaa", NULL, + "\xca\x9e", "\xca\x87", "\xca\x9d", "\xea\xad\x93", "\xea\x9e\xb5", NULL, "\xea\x9e\xb7" +}; + +static const char *grn_nfkc121_decompose_table_ea9f[] = { + "\xc4\xa7", "\xc5\x93" +}; + +static const char *grn_nfkc121_decompose_table_eaad[] = { + "\xea\x9c\xa7", "\xea\xac\xb7", "\xc9\xab", "\xea\xad\x92" +}; + +static const char *grn_nfkc121_decompose_table_efa4[] = { + "\xe8\xb1\x88", "\xe6\x9b\xb4", "\xe8\xbb\x8a", "\xe8\xb3\x88", "\xe6\xbb\x91", "\xe4\xb8\xb2", "\xe5\x8f\xa5", "\xe9\xbe\x9c", + "\xe9\xbe\x9c", "\xe5\xa5\x91", "\xe9\x87\x91", "\xe5\x96\x87", "\xe5\xa5\x88", "\xe6\x87\xb6", "\xe7\x99\xa9", "\xe7\xbe\x85", + "\xe8\x98\xbf", "\xe8\x9e\xba", "\xe8\xa3\xb8", "\xe9\x82\x8f", "\xe6\xa8\x82", "\xe6\xb4\x9b", "\xe7\x83\x99", "\xe7\x8f\x9e", + "\xe8\x90\xbd", "\xe9\x85\xaa", "\xe9\xa7\xb1", "\xe4\xba\x82", "\xe5\x8d\xb5", "\xe6\xac\x84", "\xe7\x88\x9b", "\xe8\x98\xad", + "\xe9\xb8\x9e", "\xe5\xb5\x90", "\xe6\xbf\xab", "\xe8\x97\x8d", "\xe8\xa5\xa4", "\xe6\x8b\x89", "\xe8\x87\x98", "\xe8\xa0\x9f", + "\xe5\xbb\x8a", "\xe6\x9c\x97", "\xe6\xb5\xaa", "\xe7\x8b\xbc", "\xe9\x83\x8e", "\xe4\xbe\x86", "\xe5\x86\xb7", "\xe5\x8b\x9e", + "\xe6\x93\x84", "\xe6\xab\x93", "\xe7\x88\x90", "\xe7\x9b\xa7", "\xe8\x80\x81", "\xe8\x98\x86", "\xe8\x99\x9c", "\xe8\xb7\xaf", + "\xe9\x9c\xb2", "\xe9\xad\xaf", "\xe9\xb7\xba", "\xe7\xa2\x8c", "\xe7\xa5\xbf", "\xe7\xb6\xa0", "\xe8\x8f\x89", "\xe9\x8c\x84" +}; + +static const char *grn_nfkc121_decompose_table_efa5[] = { + "\xe9\xb9\xbf", "\xe8\xab\x96", "\xe5\xa3\x9f", "\xe5\xbc\x84", "\xe7\xb1\xa0", "\xe8\x81\xbe", "\xe7\x89\xa2", "\xe7\xa3\x8a", + "\xe8\xb3\x82", "\xe9\x9b\xb7", "\xe5\xa3\x98", "\xe5\xb1\xa2", "\xe6\xa8\x93", "\xe6\xb7\x9a", "\xe6\xbc\x8f", "\xe7\xb4\xaf", + "\xe7\xb8\xb7", "\xe9\x99\x8b", "\xe5\x8b\x92", "\xe8\x82\x8b", "\xe5\x87\x9c", "\xe5\x87\x8c", "\xe7\xa8\x9c", "\xe7\xb6\xbe", + "\xe8\x8f\xb1", "\xe9\x99\xb5", "\xe8\xae\x80", "\xe6\x8b\x8f", "\xe6\xa8\x82", "\xe8\xab\xbe", "\xe4\xb8\xb9", "\xe5\xaf\xa7", + "\xe6\x80\x92", "\xe7\x8e\x87", "\xe7\x95\xb0", "\xe5\x8c\x97", "\xe7\xa3\xbb", "\xe4\xbe\xbf", "\xe5\xbe\xa9", "\xe4\xb8\x8d", + "\xe6\xb3\x8c", "\xe6\x95\xb8", "\xe7\xb4\xa2", "\xe5\x8f\x83", "\xe5\xa1\x9e", "\xe7\x9c\x81", "\xe8\x91\x89", "\xe8\xaa\xaa", + "\xe6\xae\xba", "\xe8\xbe\xb0", "\xe6\xb2\x88", "\xe6\x8b\xbe", "\xe8\x8b\xa5", "\xe6\x8e\xa0", "\xe7\x95\xa5", "\xe4\xba\xae", + "\xe5\x85\xa9", "\xe5\x87\x89", "\xe6\xa2\x81", "\xe7\xb3\xa7", "\xe8\x89\xaf", "\xe8\xab\x92", "\xe9\x87\x8f", "\xe5\x8b\xb5" +}; + +static const char *grn_nfkc121_decompose_table_efa6[] = { + "\xe5\x91\x82", "\xe5\xa5\xb3", "\xe5\xbb\xac", "\xe6\x97\x85", "\xe6\xbf\xbe", "\xe7\xa4\xaa", "\xe9\x96\xad", "\xe9\xa9\xaa", + "\xe9\xba\x97", "\xe9\xbb\x8e", "\xe5\x8a\x9b", "\xe6\x9b\x86", "\xe6\xad\xb7", "\xe8\xbd\xa2", "\xe5\xb9\xb4", "\xe6\x86\x90", + "\xe6\x88\x80", "\xe6\x92\x9a", "\xe6\xbc\xa3", "\xe7\x85\x89", "\xe7\x92\x89", "\xe7\xa7\x8a", "\xe7\xb7\xb4", "\xe8\x81\xaf", + "\xe8\xbc\xa6", "\xe8\x93\xae", "\xe9\x80\xa3", "\xe9\x8d\x8a", "\xe5\x88\x97", "\xe5\x8a\xa3", "\xe5\x92\xbd", "\xe7\x83\x88", + "\xe8\xa3\x82", "\xe8\xaa\xaa", "\xe5\xbb\x89", "\xe5\xbf\xb5", "\xe6\x8d\xbb", "\xe6\xae\xae", "\xe7\xb0\xbe", "\xe7\x8d\xb5", + "\xe4\xbb\xa4", "\xe5\x9b\xb9", "\xe5\xaf\xa7", "\xe5\xb6\xba", "\xe6\x80\x9c", "\xe7\x8e\xb2", "\xe7\x91\xa9", "\xe7\xbe\x9a", + "\xe8\x81\x86", "\xe9\x88\xb4", "\xe9\x9b\xb6", "\xe9\x9d\x88", "\xe9\xa0\x98", "\xe4\xbe\x8b", "\xe7\xa6\xae", "\xe9\x86\xb4", + "\xe9\x9a\xb8", "\xe6\x83\xa1", "\xe4\xba\x86", "\xe5\x83\x9a", "\xe5\xaf\xae", "\xe5\xb0\xbf", "\xe6\x96\x99", "\xe6\xa8\x82" +}; + +static const char *grn_nfkc121_decompose_table_efa7[] = { + "\xe7\x87\x8e", "\xe7\x99\x82", "\xe8\x93\xbc", "\xe9\x81\xbc", "\xe9\xbe\x8d", "\xe6\x9a\x88", "\xe9\x98\xae", "\xe5\x8a\x89", + "\xe6\x9d\xbb", "\xe6\x9f\xb3", "\xe6\xb5\x81", "\xe6\xba\x9c", "\xe7\x90\x89", "\xe7\x95\x99", "\xe7\xa1\xab", "\xe7\xb4\x90", + "\xe9\xa1\x9e", "\xe5\x85\xad", "\xe6\x88\xae", "\xe9\x99\xb8", "\xe5\x80\xab", "\xe5\xb4\x99", "\xe6\xb7\xaa", "\xe8\xbc\xaa", + "\xe5\xbe\x8b", "\xe6\x85\x84", "\xe6\xa0\x97", "\xe7\x8e\x87", "\xe9\x9a\x86", "\xe5\x88\xa9", "\xe5\x90\x8f", "\xe5\xb1\xa5", + "\xe6\x98\x93", "\xe6\x9d\x8e", "\xe6\xa2\xa8", "\xe6\xb3\xa5", "\xe7\x90\x86", "\xe7\x97\xa2", "\xe7\xbd\xb9", "\xe8\xa3\x8f", + "\xe8\xa3\xa1", "\xe9\x87\x8c", "\xe9\x9b\xa2", "\xe5\x8c\xbf", "\xe6\xba\xba", "\xe5\x90\x9d", "\xe7\x87\x90", "\xe7\x92\x98", + "\xe8\x97\xba", "\xe9\x9a\xa3", "\xe9\xb1\x97", "\xe9\xba\x9f", "\xe6\x9e\x97", "\xe6\xb7\x8b", "\xe8\x87\xa8", "\xe7\xab\x8b", + "\xe7\xac\xa0", "\xe7\xb2\x92", "\xe7\x8b\x80", "\xe7\x82\x99", "\xe8\xad\x98", "\xe4\xbb\x80", "\xe8\x8c\xb6", "\xe5\x88\xba" +}; + +static const char *grn_nfkc121_decompose_table_efa8[] = { + "\xe5\x88\x87", "\xe5\xba\xa6", "\xe6\x8b\x93", "\xe7\xb3\x96", "\xe5\xae\x85", "\xe6\xb4\x9e", "\xe6\x9a\xb4", "\xe8\xbc\xbb", + "\xe8\xa1\x8c", "\xe9\x99\x8d", "\xe8\xa6\x8b", "\xe5\xbb\x93", "\xe5\x85\x80", "\xe5\x97\x80", NULL, NULL, + "\xe5\xa1\x9a", NULL, "\xe6\x99\xb4", NULL, NULL, "\xe5\x87\x9e", "\xe7\x8c\xaa", "\xe7\x9b\x8a", + "\xe7\xa4\xbc", "\xe7\xa5\x9e", "\xe7\xa5\xa5", "\xe7\xa6\x8f", "\xe9\x9d\x96", "\xe7\xb2\xbe", "\xe7\xbe\xbd", NULL, + "\xe8\x98\x92", NULL, "\xe8\xab\xb8", NULL, NULL, "\xe9\x80\xb8", "\xe9\x83\xbd", NULL, + NULL, NULL, "\xe9\xa3\xaf", "\xe9\xa3\xbc", "\xe9\xa4\xa8", "\xe9\xb6\xb4", "\xe9\x83\x9e", "\xe9\x9a\xb7", + "\xe4\xbe\xae", "\xe5\x83\xa7", "\xe5\x85\x8d", "\xe5\x8b\x89", "\xe5\x8b\xa4", "\xe5\x8d\x91", "\xe5\x96\x9d", "\xe5\x98\x86", + "\xe5\x99\xa8", "\xe5\xa1\x80", "\xe5\xa2\xa8", "\xe5\xb1\xa4", "\xe5\xb1\xae", "\xe6\x82\x94", "\xe6\x85\xa8", "\xe6\x86\x8e" +}; + +static const char *grn_nfkc121_decompose_table_efa9[] = { + "\xe6\x87\xb2", "\xe6\x95\x8f", "\xe6\x97\xa2", "\xe6\x9a\x91", "\xe6\xa2\x85", "\xe6\xb5\xb7", "\xe6\xb8\x9a", "\xe6\xbc\xa2", + "\xe7\x85\xae", "\xe7\x88\xab", "\xe7\x90\xa2", "\xe7\xa2\x91", "\xe7\xa4\xbe", "\xe7\xa5\x89", "\xe7\xa5\x88", "\xe7\xa5\x90", + "\xe7\xa5\x96", "\xe7\xa5\x9d", "\xe7\xa6\x8d", "\xe7\xa6\x8e", "\xe7\xa9\x80", "\xe7\xaa\x81", "\xe7\xaf\x80", "\xe7\xb7\xb4", + "\xe7\xb8\x89", "\xe7\xb9\x81", "\xe7\xbd\xb2", "\xe8\x80\x85", "\xe8\x87\xad", "\xe8\x89\xb9", "\xe8\x89\xb9", "\xe8\x91\x97", + "\xe8\xa4\x90", "\xe8\xa6\x96", "\xe8\xac\x81", "\xe8\xac\xb9", "\xe8\xb3\x93", "\xe8\xb4\x88", "\xe8\xbe\xb6", "\xe9\x80\xb8", + "\xe9\x9b\xa3", "\xe9\x9f\xbf", "\xe9\xa0\xbb", "\xe6\x81\xb5", "\xf0\xa4\x8b\xae", "\xe8\x88\x98", NULL, NULL, + "\xe4\xb8\xa6", "\xe5\x86\xb5", "\xe5\x85\xa8", "\xe4\xbe\x80", "\xe5\x85\x85", "\xe5\x86\x80", "\xe5\x8b\x87", "\xe5\x8b\xba", + "\xe5\x96\x9d", "\xe5\x95\x95", "\xe5\x96\x99", "\xe5\x97\xa2", "\xe5\xa1\x9a", "\xe5\xa2\xb3", "\xe5\xa5\x84", "\xe5\xa5\x94" +}; + +static const char *grn_nfkc121_decompose_table_efaa[] = { + "\xe5\xa9\xa2", "\xe5\xac\xa8", "\xe5\xbb\x92", "\xe5\xbb\x99", "\xe5\xbd\xa9", "\xe5\xbe\xad", "\xe6\x83\x98", "\xe6\x85\x8e", + "\xe6\x84\x88", "\xe6\x86\x8e", "\xe6\x85\xa0", "\xe6\x87\xb2", "\xe6\x88\xb4", "\xe6\x8f\x84", "\xe6\x90\x9c", "\xe6\x91\x92", + "\xe6\x95\x96", "\xe6\x99\xb4", "\xe6\x9c\x97", "\xe6\x9c\x9b", "\xe6\x9d\x96", "\xe6\xad\xb9", "\xe6\xae\xba", "\xe6\xb5\x81", + "\xe6\xbb\x9b", "\xe6\xbb\x8b", "\xe6\xbc\xa2", "\xe7\x80\x9e", "\xe7\x85\xae", "\xe7\x9e\xa7", "\xe7\x88\xb5", "\xe7\x8a\xaf", + "\xe7\x8c\xaa", "\xe7\x91\xb1", "\xe7\x94\x86", "\xe7\x94\xbb", "\xe7\x98\x9d", "\xe7\x98\x9f", "\xe7\x9b\x8a", "\xe7\x9b\x9b", + "\xe7\x9b\xb4", "\xe7\x9d\x8a", "\xe7\x9d\x80", "\xe7\xa3\x8c", "\xe7\xaa\xb1", "\xe7\xaf\x80", "\xe7\xb1\xbb", "\xe7\xb5\x9b", + "\xe7\xb7\xb4", "\xe7\xbc\xbe", "\xe8\x80\x85", "\xe8\x8d\x92", "\xe8\x8f\xaf", "\xe8\x9d\xb9", "\xe8\xa5\x81", "\xe8\xa6\x86", + "\xe8\xa6\x96", "\xe8\xaa\xbf", "\xe8\xab\xb8", "\xe8\xab\x8b", "\xe8\xac\x81", "\xe8\xab\xbe", "\xe8\xab\xad", "\xe8\xac\xb9" +}; + +static const char *grn_nfkc121_decompose_table_efab[] = { + "\xe8\xae\x8a", "\xe8\xb4\x88", "\xe8\xbc\xb8", "\xe9\x81\xb2", "\xe9\x86\x99", "\xe9\x89\xb6", "\xe9\x99\xbc", "\xe9\x9b\xa3", + "\xe9\x9d\x96", "\xe9\x9f\x9b", "\xe9\x9f\xbf", "\xe9\xa0\x8b", "\xe9\xa0\xbb", "\xe9\xac\x92", "\xe9\xbe\x9c", "\xf0\xa2\xa1\x8a", + "\xf0\xa2\xa1\x84", "\xf0\xa3\x8f\x95", "\xe3\xae\x9d", "\xe4\x80\x98", "\xe4\x80\xb9", "\xf0\xa5\x89\x89", "\xf0\xa5\xb3\x90", "\xf0\xa7\xbb\x93", + "\xe9\xbd\x83", "\xe9\xbe\x8e" +}; + +static const char *grn_nfkc121_decompose_table_efac[] = { + "\x66\x66", "\x66\x69", "\x66\x6c", "\x66\x66\x69", "\x66\x66\x6c", "\x73\x74", "\x73\x74", NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, "\xd5\xb4\xd5\xb6", "\xd5\xb4\xd5\xa5", "\xd5\xb4\xd5\xab", "\xd5\xbe\xd5\xb6", "\xd5\xb4\xd5\xad", + NULL, NULL, NULL, NULL, NULL, "\xd7\x99\xd6\xb4", NULL, "\xd7\xb2\xd6\xb7", + "\xd7\xa2", "\xd7\x90", "\xd7\x93", "\xd7\x94", "\xd7\x9b", "\xd7\x9c", "\xd7\x9d", "\xd7\xa8", + "\xd7\xaa", "\x2b", "\xd7\xa9\xd7\x81", "\xd7\xa9\xd7\x82", "\xd7\xa9\xd6\xbc\xd7\x81", "\xd7\xa9\xd6\xbc\xd7\x82", "\xd7\x90\xd6\xb7", "\xd7\x90\xd6\xb8", + "\xd7\x90\xd6\xbc", "\xd7\x91\xd6\xbc", "\xd7\x92\xd6\xbc", "\xd7\x93\xd6\xbc", "\xd7\x94\xd6\xbc", "\xd7\x95\xd6\xbc", "\xd7\x96\xd6\xbc", NULL, + "\xd7\x98\xd6\xbc", "\xd7\x99\xd6\xbc", "\xd7\x9a\xd6\xbc", "\xd7\x9b\xd6\xbc", "\xd7\x9c\xd6\xbc", NULL, "\xd7\x9e\xd6\xbc" +}; + +static const char *grn_nfkc121_decompose_table_efad[] = { + "\xd7\xa0\xd6\xbc", "\xd7\xa1\xd6\xbc", NULL, "\xd7\xa3\xd6\xbc", "\xd7\xa4\xd6\xbc", NULL, "\xd7\xa6\xd6\xbc", "\xd7\xa7\xd6\xbc", + "\xd7\xa8\xd6\xbc", "\xd7\xa9\xd6\xbc", "\xd7\xaa\xd6\xbc", "\xd7\x95\xd6\xb9", "\xd7\x91\xd6\xbf", "\xd7\x9b\xd6\xbf", "\xd7\xa4\xd6\xbf", "\xd7\x90\xd7\x9c", + "\xd9\xb1", "\xd9\xb1", "\xd9\xbb", "\xd9\xbb", "\xd9\xbb", "\xd9\xbb", "\xd9\xbe", "\xd9\xbe", + "\xd9\xbe", "\xd9\xbe", "\xda\x80", "\xda\x80", "\xda\x80", "\xda\x80", "\xd9\xba", "\xd9\xba", + "\xd9\xba", "\xd9\xba", "\xd9\xbf", "\xd9\xbf", "\xd9\xbf", "\xd9\xbf", "\xd9\xb9", "\xd9\xb9", + "\xd9\xb9", "\xd9\xb9", "\xda\xa4", "\xda\xa4", "\xda\xa4", "\xda\xa4", "\xda\xa6", "\xda\xa6", + "\xda\xa6", "\xda\xa6", "\xda\x84", "\xda\x84", "\xda\x84", "\xda\x84", "\xda\x83", "\xda\x83", + "\xda\x83", "\xda\x83", "\xda\x86", "\xda\x86", "\xda\x86", "\xda\x86", "\xda\x87", "\xda\x87" +}; + +static const char *grn_nfkc121_decompose_table_efae[] = { + "\xda\x87", "\xda\x87", "\xda\x8d", "\xda\x8d", "\xda\x8c", "\xda\x8c", "\xda\x8e", "\xda\x8e", + "\xda\x88", "\xda\x88", "\xda\x98", "\xda\x98", "\xda\x91", "\xda\x91", "\xda\xa9", "\xda\xa9", + "\xda\xa9", "\xda\xa9", "\xda\xaf", "\xda\xaf", "\xda\xaf", "\xda\xaf", "\xda\xb3", "\xda\xb3", + "\xda\xb3", "\xda\xb3", "\xda\xb1", "\xda\xb1", "\xda\xb1", "\xda\xb1", "\xda\xba", "\xda\xba", + "\xda\xbb", "\xda\xbb", "\xda\xbb", "\xda\xbb", "\xdb\x80", "\xdb\x80", "\xdb\x81", "\xdb\x81", + "\xdb\x81", "\xdb\x81", "\xda\xbe", "\xda\xbe", "\xda\xbe", "\xda\xbe", "\xdb\x92", "\xdb\x92", + "\xdb\x93", "\xdb\x93" +}; + +static const char *grn_nfkc121_decompose_table_efaf[] = { + "\xda\xad", "\xda\xad", "\xda\xad", "\xda\xad", "\xdb\x87", "\xdb\x87", "\xdb\x86", "\xdb\x86", + "\xdb\x88", "\xdb\x88", "\xdb\x87\xd9\xb4", "\xdb\x8b", "\xdb\x8b", "\xdb\x85", "\xdb\x85", "\xdb\x89", + "\xdb\x89", "\xdb\x90", "\xdb\x90", "\xdb\x90", "\xdb\x90", "\xd9\x89", "\xd9\x89", "\xd8\xa6\xd8\xa7", + "\xd8\xa6\xd8\xa7", "\xd8\xa6\xdb\x95", "\xd8\xa6\xdb\x95", "\xd8\xa6\xd9\x88", "\xd8\xa6\xd9\x88", "\xd8\xa6\xdb\x87", "\xd8\xa6\xdb\x87", "\xd8\xa6\xdb\x86", + "\xd8\xa6\xdb\x86", "\xd8\xa6\xdb\x88", "\xd8\xa6\xdb\x88", "\xd8\xa6\xdb\x90", "\xd8\xa6\xdb\x90", "\xd8\xa6\xdb\x90", "\xd8\xa6\xd9\x89", "\xd8\xa6\xd9\x89", + "\xd8\xa6\xd9\x89", "\xdb\x8c", "\xdb\x8c", "\xdb\x8c", "\xdb\x8c" +}; + +static const char *grn_nfkc121_decompose_table_efb0[] = { + "\xd8\xa6\xd8\xac", "\xd8\xa6\xd8\xad", "\xd8\xa6\xd9\x85", "\xd8\xa6\xd9\x89", "\xd8\xa6\xd9\x8a", "\xd8\xa8\xd8\xac", "\xd8\xa8\xd8\xad", "\xd8\xa8\xd8\xae", + "\xd8\xa8\xd9\x85", "\xd8\xa8\xd9\x89", "\xd8\xa8\xd9\x8a", "\xd8\xaa\xd8\xac", "\xd8\xaa\xd8\xad", "\xd8\xaa\xd8\xae", "\xd8\xaa\xd9\x85", "\xd8\xaa\xd9\x89", + "\xd8\xaa\xd9\x8a", "\xd8\xab\xd8\xac", "\xd8\xab\xd9\x85", "\xd8\xab\xd9\x89", "\xd8\xab\xd9\x8a", "\xd8\xac\xd8\xad", "\xd8\xac\xd9\x85", "\xd8\xad\xd8\xac", + "\xd8\xad\xd9\x85", "\xd8\xae\xd8\xac", "\xd8\xae\xd8\xad", "\xd8\xae\xd9\x85", "\xd8\xb3\xd8\xac", "\xd8\xb3\xd8\xad", "\xd8\xb3\xd8\xae", "\xd8\xb3\xd9\x85", + "\xd8\xb5\xd8\xad", "\xd8\xb5\xd9\x85", "\xd8\xb6\xd8\xac", "\xd8\xb6\xd8\xad", "\xd8\xb6\xd8\xae", "\xd8\xb6\xd9\x85", "\xd8\xb7\xd8\xad", "\xd8\xb7\xd9\x85", + "\xd8\xb8\xd9\x85", "\xd8\xb9\xd8\xac", "\xd8\xb9\xd9\x85", "\xd8\xba\xd8\xac", "\xd8\xba\xd9\x85", "\xd9\x81\xd8\xac", "\xd9\x81\xd8\xad", "\xd9\x81\xd8\xae", + "\xd9\x81\xd9\x85", "\xd9\x81\xd9\x89", "\xd9\x81\xd9\x8a", "\xd9\x82\xd8\xad", "\xd9\x82\xd9\x85", "\xd9\x82\xd9\x89", "\xd9\x82\xd9\x8a", "\xd9\x83\xd8\xa7", + "\xd9\x83\xd8\xac", "\xd9\x83\xd8\xad", "\xd9\x83\xd8\xae", "\xd9\x83\xd9\x84", "\xd9\x83\xd9\x85", "\xd9\x83\xd9\x89", "\xd9\x83\xd9\x8a", "\xd9\x84\xd8\xac" +}; + +static const char *grn_nfkc121_decompose_table_efb1[] = { + "\xd9\x84\xd8\xad", "\xd9\x84\xd8\xae", "\xd9\x84\xd9\x85", "\xd9\x84\xd9\x89", "\xd9\x84\xd9\x8a", "\xd9\x85\xd8\xac", "\xd9\x85\xd8\xad", "\xd9\x85\xd8\xae", + "\xd9\x85\xd9\x85", "\xd9\x85\xd9\x89", "\xd9\x85\xd9\x8a", "\xd9\x86\xd8\xac", "\xd9\x86\xd8\xad", "\xd9\x86\xd8\xae", "\xd9\x86\xd9\x85", "\xd9\x86\xd9\x89", + "\xd9\x86\xd9\x8a", "\xd9\x87\xd8\xac", "\xd9\x87\xd9\x85", "\xd9\x87\xd9\x89", "\xd9\x87\xd9\x8a", "\xd9\x8a\xd8\xac", "\xd9\x8a\xd8\xad", "\xd9\x8a\xd8\xae", + "\xd9\x8a\xd9\x85", "\xd9\x8a\xd9\x89", "\xd9\x8a\xd9\x8a", "\xd8\xb0\xd9\xb0", "\xd8\xb1\xd9\xb0", "\xd9\x89\xd9\xb0", "\xd9\x8c\xd9\x91", "\xd9\x8d\xd9\x91", + "\xd9\x8e\xd9\x91", "\xd9\x8f\xd9\x91", "\xd9\x90\xd9\x91", "\xd9\x91\xd9\xb0", "\xd8\xa6\xd8\xb1", "\xd8\xa6\xd8\xb2", "\xd8\xa6\xd9\x85", "\xd8\xa6\xd9\x86", + "\xd8\xa6\xd9\x89", "\xd8\xa6\xd9\x8a", "\xd8\xa8\xd8\xb1", "\xd8\xa8\xd8\xb2", "\xd8\xa8\xd9\x85", "\xd8\xa8\xd9\x86", "\xd8\xa8\xd9\x89", "\xd8\xa8\xd9\x8a", + "\xd8\xaa\xd8\xb1", "\xd8\xaa\xd8\xb2", "\xd8\xaa\xd9\x85", "\xd8\xaa\xd9\x86", "\xd8\xaa\xd9\x89", "\xd8\xaa\xd9\x8a", "\xd8\xab\xd8\xb1", "\xd8\xab\xd8\xb2", + "\xd8\xab\xd9\x85", "\xd8\xab\xd9\x86", "\xd8\xab\xd9\x89", "\xd8\xab\xd9\x8a", "\xd9\x81\xd9\x89", "\xd9\x81\xd9\x8a", "\xd9\x82\xd9\x89", "\xd9\x82\xd9\x8a" +}; + +static const char *grn_nfkc121_decompose_table_efb2[] = { + "\xd9\x83\xd8\xa7", "\xd9\x83\xd9\x84", "\xd9\x83\xd9\x85", "\xd9\x83\xd9\x89", "\xd9\x83\xd9\x8a", "\xd9\x84\xd9\x85", "\xd9\x84\xd9\x89", "\xd9\x84\xd9\x8a", + "\xd9\x85\xd8\xa7", "\xd9\x85\xd9\x85", "\xd9\x86\xd8\xb1", "\xd9\x86\xd8\xb2", "\xd9\x86\xd9\x85", "\xd9\x86\xd9\x86", "\xd9\x86\xd9\x89", "\xd9\x86\xd9\x8a", + "\xd9\x89\xd9\xb0", "\xd9\x8a\xd8\xb1", "\xd9\x8a\xd8\xb2", "\xd9\x8a\xd9\x85", "\xd9\x8a\xd9\x86", "\xd9\x8a\xd9\x89", "\xd9\x8a\xd9\x8a", "\xd8\xa6\xd8\xac", + "\xd8\xa6\xd8\xad", "\xd8\xa6\xd8\xae", "\xd8\xa6\xd9\x85", "\xd8\xa6\xd9\x87", "\xd8\xa8\xd8\xac", "\xd8\xa8\xd8\xad", "\xd8\xa8\xd8\xae", "\xd8\xa8\xd9\x85", + "\xd8\xa8\xd9\x87", "\xd8\xaa\xd8\xac", "\xd8\xaa\xd8\xad", "\xd8\xaa\xd8\xae", "\xd8\xaa\xd9\x85", "\xd8\xaa\xd9\x87", "\xd8\xab\xd9\x85", "\xd8\xac\xd8\xad", + "\xd8\xac\xd9\x85", "\xd8\xad\xd8\xac", "\xd8\xad\xd9\x85", "\xd8\xae\xd8\xac", "\xd8\xae\xd9\x85", "\xd8\xb3\xd8\xac", "\xd8\xb3\xd8\xad", "\xd8\xb3\xd8\xae", + "\xd8\xb3\xd9\x85", "\xd8\xb5\xd8\xad", "\xd8\xb5\xd8\xae", "\xd8\xb5\xd9\x85", "\xd8\xb6\xd8\xac", "\xd8\xb6\xd8\xad", "\xd8\xb6\xd8\xae", "\xd8\xb6\xd9\x85", + "\xd8\xb7\xd8\xad", "\xd8\xb8\xd9\x85", "\xd8\xb9\xd8\xac", "\xd8\xb9\xd9\x85", "\xd8\xba\xd8\xac", "\xd8\xba\xd9\x85", "\xd9\x81\xd8\xac", "\xd9\x81\xd8\xad" +}; + +static const char *grn_nfkc121_decompose_table_efb3[] = { + "\xd9\x81\xd8\xae", "\xd9\x81\xd9\x85", "\xd9\x82\xd8\xad", "\xd9\x82\xd9\x85", "\xd9\x83\xd8\xac", "\xd9\x83\xd8\xad", "\xd9\x83\xd8\xae", "\xd9\x83\xd9\x84", + "\xd9\x83\xd9\x85", "\xd9\x84\xd8\xac", "\xd9\x84\xd8\xad", "\xd9\x84\xd8\xae", "\xd9\x84\xd9\x85", "\xd9\x84\xd9\x87", "\xd9\x85\xd8\xac", "\xd9\x85\xd8\xad", + "\xd9\x85\xd8\xae", "\xd9\x85\xd9\x85", "\xd9\x86\xd8\xac", "\xd9\x86\xd8\xad", "\xd9\x86\xd8\xae", "\xd9\x86\xd9\x85", "\xd9\x86\xd9\x87", "\xd9\x87\xd8\xac", + "\xd9\x87\xd9\x85", "\xd9\x87\xd9\xb0", "\xd9\x8a\xd8\xac", "\xd9\x8a\xd8\xad", "\xd9\x8a\xd8\xae", "\xd9\x8a\xd9\x85", "\xd9\x8a\xd9\x87", "\xd8\xa6\xd9\x85", + "\xd8\xa6\xd9\x87", "\xd8\xa8\xd9\x85", "\xd8\xa8\xd9\x87", "\xd8\xaa\xd9\x85", "\xd8\xaa\xd9\x87", "\xd8\xab\xd9\x85", "\xd8\xab\xd9\x87", "\xd8\xb3\xd9\x85", + "\xd8\xb3\xd9\x87", "\xd8\xb4\xd9\x85", "\xd8\xb4\xd9\x87", "\xd9\x83\xd9\x84", "\xd9\x83\xd9\x85", "\xd9\x84\xd9\x85", "\xd9\x86\xd9\x85", "\xd9\x86\xd9\x87", + "\xd9\x8a\xd9\x85", "\xd9\x8a\xd9\x87", "\xd9\x80\xd9\x8e\xd9\x91", "\xd9\x80\xd9\x8f\xd9\x91", "\xd9\x80\xd9\x90\xd9\x91", "\xd8\xb7\xd9\x89", "\xd8\xb7\xd9\x8a", "\xd8\xb9\xd9\x89", + "\xd8\xb9\xd9\x8a", "\xd8\xba\xd9\x89", "\xd8\xba\xd9\x8a", "\xd8\xb3\xd9\x89", "\xd8\xb3\xd9\x8a", "\xd8\xb4\xd9\x89", "\xd8\xb4\xd9\x8a", "\xd8\xad\xd9\x89" +}; + +static const char *grn_nfkc121_decompose_table_efb4[] = { + "\xd8\xad\xd9\x8a", "\xd8\xac\xd9\x89", "\xd8\xac\xd9\x8a", "\xd8\xae\xd9\x89", "\xd8\xae\xd9\x8a", "\xd8\xb5\xd9\x89", "\xd8\xb5\xd9\x8a", "\xd8\xb6\xd9\x89", + "\xd8\xb6\xd9\x8a", "\xd8\xb4\xd8\xac", "\xd8\xb4\xd8\xad", "\xd8\xb4\xd8\xae", "\xd8\xb4\xd9\x85", "\xd8\xb4\xd8\xb1", "\xd8\xb3\xd8\xb1", "\xd8\xb5\xd8\xb1", + "\xd8\xb6\xd8\xb1", "\xd8\xb7\xd9\x89", "\xd8\xb7\xd9\x8a", "\xd8\xb9\xd9\x89", "\xd8\xb9\xd9\x8a", "\xd8\xba\xd9\x89", "\xd8\xba\xd9\x8a", "\xd8\xb3\xd9\x89", + "\xd8\xb3\xd9\x8a", "\xd8\xb4\xd9\x89", "\xd8\xb4\xd9\x8a", "\xd8\xad\xd9\x89", "\xd8\xad\xd9\x8a", "\xd8\xac\xd9\x89", "\xd8\xac\xd9\x8a", "\xd8\xae\xd9\x89", + "\xd8\xae\xd9\x8a", "\xd8\xb5\xd9\x89", "\xd8\xb5\xd9\x8a", "\xd8\xb6\xd9\x89", "\xd8\xb6\xd9\x8a", "\xd8\xb4\xd8\xac", "\xd8\xb4\xd8\xad", "\xd8\xb4\xd8\xae", + "\xd8\xb4\xd9\x85", "\xd8\xb4\xd8\xb1", "\xd8\xb3\xd8\xb1", "\xd8\xb5\xd8\xb1", "\xd8\xb6\xd8\xb1", "\xd8\xb4\xd8\xac", "\xd8\xb4\xd8\xad", "\xd8\xb4\xd8\xae", + "\xd8\xb4\xd9\x85", "\xd8\xb3\xd9\x87", "\xd8\xb4\xd9\x87", "\xd8\xb7\xd9\x85", "\xd8\xb3\xd8\xac", "\xd8\xb3\xd8\xad", "\xd8\xb3\xd8\xae", "\xd8\xb4\xd8\xac", + "\xd8\xb4\xd8\xad", "\xd8\xb4\xd8\xae", "\xd8\xb7\xd9\x85", "\xd8\xb8\xd9\x85", "\xd8\xa7\xd9\x8b", "\xd8\xa7\xd9\x8b" +}; + +static const char *grn_nfkc121_decompose_table_efb5[] = { + "\xd8\xaa\xd8\xac\xd9\x85", "\xd8\xaa\xd8\xad\xd8\xac", "\xd8\xaa\xd8\xad\xd8\xac", "\xd8\xaa\xd8\xad\xd9\x85", "\xd8\xaa\xd8\xae\xd9\x85", "\xd8\xaa\xd9\x85\xd8\xac", "\xd8\xaa\xd9\x85\xd8\xad", "\xd8\xaa\xd9\x85\xd8\xae", + "\xd8\xac\xd9\x85\xd8\xad", "\xd8\xac\xd9\x85\xd8\xad", "\xd8\xad\xd9\x85\xd9\x8a", "\xd8\xad\xd9\x85\xd9\x89", "\xd8\xb3\xd8\xad\xd8\xac", "\xd8\xb3\xd8\xac\xd8\xad", "\xd8\xb3\xd8\xac\xd9\x89", "\xd8\xb3\xd9\x85\xd8\xad", + "\xd8\xb3\xd9\x85\xd8\xad", "\xd8\xb3\xd9\x85\xd8\xac", "\xd8\xb3\xd9\x85\xd9\x85", "\xd8\xb3\xd9\x85\xd9\x85", "\xd8\xb5\xd8\xad\xd8\xad", "\xd8\xb5\xd8\xad\xd8\xad", "\xd8\xb5\xd9\x85\xd9\x85", "\xd8\xb4\xd8\xad\xd9\x85", + "\xd8\xb4\xd8\xad\xd9\x85", "\xd8\xb4\xd8\xac\xd9\x8a", "\xd8\xb4\xd9\x85\xd8\xae", "\xd8\xb4\xd9\x85\xd8\xae", "\xd8\xb4\xd9\x85\xd9\x85", "\xd8\xb4\xd9\x85\xd9\x85", "\xd8\xb6\xd8\xad\xd9\x89", "\xd8\xb6\xd8\xae\xd9\x85", + "\xd8\xb6\xd8\xae\xd9\x85", "\xd8\xb7\xd9\x85\xd8\xad", "\xd8\xb7\xd9\x85\xd8\xad", "\xd8\xb7\xd9\x85\xd9\x85", "\xd8\xb7\xd9\x85\xd9\x8a", "\xd8\xb9\xd8\xac\xd9\x85", "\xd8\xb9\xd9\x85\xd9\x85", "\xd8\xb9\xd9\x85\xd9\x85", + "\xd8\xb9\xd9\x85\xd9\x89", "\xd8\xba\xd9\x85\xd9\x85", "\xd8\xba\xd9\x85\xd9\x8a", "\xd8\xba\xd9\x85\xd9\x89", "\xd9\x81\xd8\xae\xd9\x85", "\xd9\x81\xd8\xae\xd9\x85", "\xd9\x82\xd9\x85\xd8\xad", "\xd9\x82\xd9\x85\xd9\x85" +}; + +static const char *grn_nfkc121_decompose_table_efb6[] = { + "\xd9\x84\xd8\xad\xd9\x85", "\xd9\x84\xd8\xad\xd9\x8a", "\xd9\x84\xd8\xad\xd9\x89", "\xd9\x84\xd8\xac\xd8\xac", "\xd9\x84\xd8\xac\xd8\xac", "\xd9\x84\xd8\xae\xd9\x85", "\xd9\x84\xd8\xae\xd9\x85", "\xd9\x84\xd9\x85\xd8\xad", + "\xd9\x84\xd9\x85\xd8\xad", "\xd9\x85\xd8\xad\xd8\xac", "\xd9\x85\xd8\xad\xd9\x85", "\xd9\x85\xd8\xad\xd9\x8a", "\xd9\x85\xd8\xac\xd8\xad", "\xd9\x85\xd8\xac\xd9\x85", "\xd9\x85\xd8\xae\xd8\xac", "\xd9\x85\xd8\xae\xd9\x85", + NULL, NULL, "\xd9\x85\xd8\xac\xd8\xae", "\xd9\x87\xd9\x85\xd8\xac", "\xd9\x87\xd9\x85\xd9\x85", "\xd9\x86\xd8\xad\xd9\x85", "\xd9\x86\xd8\xad\xd9\x89", "\xd9\x86\xd8\xac\xd9\x85", + "\xd9\x86\xd8\xac\xd9\x85", "\xd9\x86\xd8\xac\xd9\x89", "\xd9\x86\xd9\x85\xd9\x8a", "\xd9\x86\xd9\x85\xd9\x89", "\xd9\x8a\xd9\x85\xd9\x85", "\xd9\x8a\xd9\x85\xd9\x85", "\xd8\xa8\xd8\xae\xd9\x8a", "\xd8\xaa\xd8\xac\xd9\x8a", + "\xd8\xaa\xd8\xac\xd9\x89", "\xd8\xaa\xd8\xae\xd9\x8a", "\xd8\xaa\xd8\xae\xd9\x89", "\xd8\xaa\xd9\x85\xd9\x8a", "\xd8\xaa\xd9\x85\xd9\x89", "\xd8\xac\xd9\x85\xd9\x8a", "\xd8\xac\xd8\xad\xd9\x89", "\xd8\xac\xd9\x85\xd9\x89", + "\xd8\xb3\xd8\xae\xd9\x89", "\xd8\xb5\xd8\xad\xd9\x8a", "\xd8\xb4\xd8\xad\xd9\x8a", "\xd8\xb6\xd8\xad\xd9\x8a", "\xd9\x84\xd8\xac\xd9\x8a", "\xd9\x84\xd9\x85\xd9\x8a", "\xd9\x8a\xd8\xad\xd9\x8a", "\xd9\x8a\xd8\xac\xd9\x8a", + "\xd9\x8a\xd9\x85\xd9\x8a", "\xd9\x85\xd9\x85\xd9\x8a", "\xd9\x82\xd9\x85\xd9\x8a", "\xd9\x86\xd8\xad\xd9\x8a", "\xd9\x82\xd9\x85\xd8\xad", "\xd9\x84\xd8\xad\xd9\x85", "\xd8\xb9\xd9\x85\xd9\x8a", "\xd9\x83\xd9\x85\xd9\x8a", + "\xd9\x86\xd8\xac\xd8\xad", "\xd9\x85\xd8\xae\xd9\x8a", "\xd9\x84\xd8\xac\xd9\x85", "\xd9\x83\xd9\x85\xd9\x85", "\xd9\x84\xd8\xac\xd9\x85", "\xd9\x86\xd8\xac\xd8\xad", "\xd8\xac\xd8\xad\xd9\x8a", "\xd8\xad\xd8\xac\xd9\x8a" +}; + +static const char *grn_nfkc121_decompose_table_efb7[] = { + "\xd9\x85\xd8\xac\xd9\x8a", "\xd9\x81\xd9\x85\xd9\x8a", "\xd8\xa8\xd8\xad\xd9\x8a", "\xd9\x83\xd9\x85\xd9\x85", "\xd8\xb9\xd8\xac\xd9\x85", "\xd8\xb5\xd9\x85\xd9\x85", "\xd8\xb3\xd8\xae\xd9\x8a", "\xd9\x86\xd8\xac\xd9\x8a", + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xd8\xb5\xd9\x84\xdb\x92", "\xd9\x82\xd9\x84\xdb\x92", "\xd8\xa7\xd9\x84\xd9\x84\xd9\x87", "\xd8\xa7\xd9\x83\xd8\xa8\xd8\xb1", "\xd9\x85\xd8\xad\xd9\x85\xd8\xaf", "\xd8\xb5\xd9\x84\xd8\xb9\xd9\x85", "\xd8\xb1\xd8\xb3\xd9\x88\xd9\x84", "\xd8\xb9\xd9\x84\xd9\x8a\xd9\x87", + "\xd9\x88\xd8\xb3\xd9\x84\xd9\x85", "\xd8\xb5\xd9\x84\xd9\x89", "\xd8\xb5\xd9\x84\xd9\x89\x20\xd8\xa7\xd9\x84\xd9\x84\xd9\x87\x20\xd8\xb9\xd9\x84\xd9\x8a\xd9\x87\x20\xd9\x88\xd8\xb3\xd9\x84\xd9\x85", "\xd8\xac\xd9\x84\x20\xd8\xac\xd9\x84\xd8\xa7\xd9\x84\xd9\x87", "\xd8\xb1\xdb\x8c\xd8\xa7\xd9\x84" +}; + +static const char *grn_nfkc121_decompose_table_efb8[] = { + "\x2c", "\xe3\x80\x81", "\xe3\x80\x82", "\x3a", "\x3b", "\x21", "\x3f", "\xe3\x80\x96", + "\xe3\x80\x97", "\x2e\x2e\x2e", NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\x2e\x2e", "\xe2\x80\x94", "\xe2\x80\x93", "\x5f", "\x5f", "\x28", "\x29", "\x7b", + "\x7d", "\xe3\x80\x94", "\xe3\x80\x95", "\xe3\x80\x90", "\xe3\x80\x91", "\xe3\x80\x8a", "\xe3\x80\x8b", "\xe3\x80\x88" +}; + +static const char *grn_nfkc121_decompose_table_efb9[] = { + "\xe3\x80\x89", "\xe3\x80\x8c", "\xe3\x80\x8d", "\xe3\x80\x8e", "\xe3\x80\x8f", NULL, NULL, "\x5b", + "\x5d", "\xcc\x85", "\xcc\x85", "\xcc\x85", "\xcc\x85", "\x5f", "\x5f", "\x5f", + "\x2c", "\xe3\x80\x81", "\x2e", NULL, "\x3b", "\x3a", "\x3f", "\x21", + "\xe2\x80\x94", "\x28", "\x29", "\x7b", "\x7d", "\xe3\x80\x94", "\xe3\x80\x95", "\x23", + "\x26", "\x2a", "\x2b", "\x2d", "\x3c", "\x3e", "\x3d", NULL, + "\x5c", "\x24", "\x25", "\x40", NULL, NULL, NULL, NULL, + "\xd9\x8b", "\xd9\x80\xd9\x8b", "\xd9\x8c", NULL, "\xd9\x8d", NULL, "\xd9\x8e", "\xd9\x80\xd9\x8e", + "\xd9\x8f", "\xd9\x80\xd9\x8f", "\xd9\x90", "\xd9\x80\xd9\x90", "\xd9\x91", "\xd9\x80\xd9\x91", "\xd9\x92", "\xd9\x80\xd9\x92" +}; + +static const char *grn_nfkc121_decompose_table_efba[] = { + "\xd8\xa1", "\xd8\xa2", "\xd8\xa2", "\xd8\xa3", "\xd8\xa3", "\xd8\xa4", "\xd8\xa4", "\xd8\xa5", + "\xd8\xa5", "\xd8\xa6", "\xd8\xa6", "\xd8\xa6", "\xd8\xa6", "\xd8\xa7", "\xd8\xa7", "\xd8\xa8", + "\xd8\xa8", "\xd8\xa8", "\xd8\xa8", "\xd8\xa9", "\xd8\xa9", "\xd8\xaa", "\xd8\xaa", "\xd8\xaa", + "\xd8\xaa", "\xd8\xab", "\xd8\xab", "\xd8\xab", "\xd8\xab", "\xd8\xac", "\xd8\xac", "\xd8\xac", + "\xd8\xac", "\xd8\xad", "\xd8\xad", "\xd8\xad", "\xd8\xad", "\xd8\xae", "\xd8\xae", "\xd8\xae", + "\xd8\xae", "\xd8\xaf", "\xd8\xaf", "\xd8\xb0", "\xd8\xb0", "\xd8\xb1", "\xd8\xb1", "\xd8\xb2", + "\xd8\xb2", "\xd8\xb3", "\xd8\xb3", "\xd8\xb3", "\xd8\xb3", "\xd8\xb4", "\xd8\xb4", "\xd8\xb4", + "\xd8\xb4", "\xd8\xb5", "\xd8\xb5", "\xd8\xb5", "\xd8\xb5", "\xd8\xb6", "\xd8\xb6", "\xd8\xb6" +}; + +static const char *grn_nfkc121_decompose_table_efbb[] = { + "\xd8\xb6", "\xd8\xb7", "\xd8\xb7", "\xd8\xb7", "\xd8\xb7", "\xd8\xb8", "\xd8\xb8", "\xd8\xb8", + "\xd8\xb8", "\xd8\xb9", "\xd8\xb9", "\xd8\xb9", "\xd8\xb9", "\xd8\xba", "\xd8\xba", "\xd8\xba", + "\xd8\xba", "\xd9\x81", "\xd9\x81", "\xd9\x81", "\xd9\x81", "\xd9\x82", "\xd9\x82", "\xd9\x82", + "\xd9\x82", "\xd9\x83", "\xd9\x83", "\xd9\x83", "\xd9\x83", "\xd9\x84", "\xd9\x84", "\xd9\x84", + "\xd9\x84", "\xd9\x85", "\xd9\x85", "\xd9\x85", "\xd9\x85", "\xd9\x86", "\xd9\x86", "\xd9\x86", + "\xd9\x86", "\xd9\x87", "\xd9\x87", "\xd9\x87", "\xd9\x87", "\xd9\x88", "\xd9\x88", "\xd9\x89", + "\xd9\x89", "\xd9\x8a", "\xd9\x8a", "\xd9\x8a", "\xd9\x8a", "\xd9\x84\xd8\xa2", "\xd9\x84\xd8\xa2", "\xd9\x84\xd8\xa3", + "\xd9\x84\xd8\xa3", "\xd9\x84\xd8\xa5", "\xd9\x84\xd8\xa5", "\xd9\x84\xd8\xa7", "\xd9\x84\xd8\xa7" +}; + +static const char *grn_nfkc121_decompose_table_efbc[] = { + "\x21", "\x22", "\x23", "\x24", "\x25", "\x26", "\x27", "\x28", + "\x29", "\x2a", "\x2b", "\x2c", "\x2d", "\x2e", "\x2f", "\x30", + "\x31", "\x32", "\x33", "\x34", "\x35", "\x36", "\x37", "\x38", + "\x39", "\x3a", "\x3b", "\x3c", "\x3d", "\x3e", "\x3f", "\x40", + "\x61", "\x62", "\x63", "\x64", "\x65", "\x66", "\x67", "\x68", + "\x69", "\x6a", "\x6b", "\x6c", "\x6d", "\x6e", "\x6f", "\x70", + "\x71", "\x72", "\x73", "\x74", "\x75", "\x76", "\x77", "\x78", + "\x79", "\x7a", "\x5b", "\x5c", "\x5d", "\x5e", "\x5f" +}; + +static const char *grn_nfkc121_decompose_table_efbd[] = { + "\x60", "\x61", "\x62", "\x63", "\x64", "\x65", "\x66", "\x67", + "\x68", "\x69", "\x6a", "\x6b", "\x6c", "\x6d", "\x6e", "\x6f", + "\x70", "\x71", "\x72", "\x73", "\x74", "\x75", "\x76", "\x77", + "\x78", "\x79", "\x7a", "\x7b", "\x7c", "\x7d", "\x7e", "\xe2\xa6\x85", + "\xe2\xa6\x86", "\xe3\x80\x82", "\xe3\x80\x8c", "\xe3\x80\x8d", "\xe3\x80\x81", "\xe3\x83\xbb", "\xe3\x83\xb2", "\xe3\x82\xa1", + "\xe3\x82\xa3", "\xe3\x82\xa5", "\xe3\x82\xa7", "\xe3\x82\xa9", "\xe3\x83\xa3", "\xe3\x83\xa5", "\xe3\x83\xa7", "\xe3\x83\x83", + "\xe3\x83\xbc", "\xe3\x82\xa2", "\xe3\x82\xa4", "\xe3\x82\xa6", "\xe3\x82\xa8", "\xe3\x82\xaa", "\xe3\x82\xab", "\xe3\x82\xad", + "\xe3\x82\xaf", "\xe3\x82\xb1", "\xe3\x82\xb3", "\xe3\x82\xb5", "\xe3\x82\xb7", "\xe3\x82\xb9", "\xe3\x82\xbb", "\xe3\x82\xbd" +}; + +static const char *grn_nfkc121_decompose_table_efbe[] = { + "\xe3\x82\xbf", "\xe3\x83\x81", "\xe3\x83\x84", "\xe3\x83\x86", "\xe3\x83\x88", "\xe3\x83\x8a", "\xe3\x83\x8b", "\xe3\x83\x8c", + "\xe3\x83\x8d", "\xe3\x83\x8e", "\xe3\x83\x8f", "\xe3\x83\x92", "\xe3\x83\x95", "\xe3\x83\x98", "\xe3\x83\x9b", "\xe3\x83\x9e", + "\xe3\x83\x9f", "\xe3\x83\xa0", "\xe3\x83\xa1", "\xe3\x83\xa2", "\xe3\x83\xa4", "\xe3\x83\xa6", "\xe3\x83\xa8", "\xe3\x83\xa9", + "\xe3\x83\xaa", "\xe3\x83\xab", "\xe3\x83\xac", "\xe3\x83\xad", "\xe3\x83\xaf", "\xe3\x83\xb3", "\xe3\x82\x99", "\xe3\x82\x9a", + "\xe1\x85\xa0", "\xe1\x84\x80", "\xe1\x84\x81", "\xe1\x86\xaa", "\xe1\x84\x82", "\xe1\x86\xac", "\xe1\x86\xad", "\xe1\x84\x83", + "\xe1\x84\x84", "\xe1\x84\x85", "\xe1\x86\xb0", "\xe1\x86\xb1", "\xe1\x86\xb2", "\xe1\x86\xb3", "\xe1\x86\xb4", "\xe1\x86\xb5", + "\xe1\x84\x9a", "\xe1\x84\x86", "\xe1\x84\x87", "\xe1\x84\x88", "\xe1\x84\xa1", "\xe1\x84\x89", "\xe1\x84\x8a", "\xe1\x84\x8b", + "\xe1\x84\x8c", "\xe1\x84\x8d", "\xe1\x84\x8e", "\xe1\x84\x8f", "\xe1\x84\x90", "\xe1\x84\x91", "\xe1\x84\x92" +}; + +static const char *grn_nfkc121_decompose_table_efbf[] = { + "\xe1\x85\xa1", "\xe1\x85\xa2", "\xe1\x85\xa3", "\xe1\x85\xa4", "\xe1\x85\xa5", "\xe1\x85\xa6", NULL, NULL, + "\xe1\x85\xa7", "\xe1\x85\xa8", "\xe1\x85\xa9", "\xe1\x85\xaa", "\xe1\x85\xab", "\xe1\x85\xac", NULL, NULL, + "\xe1\x85\xad", "\xe1\x85\xae", "\xe1\x85\xaf", "\xe1\x85\xb0", "\xe1\x85\xb1", "\xe1\x85\xb2", NULL, NULL, + "\xe1\x85\xb3", "\xe1\x85\xb4", "\xe1\x85\xb5", NULL, NULL, NULL, "\xc2\xa2", "\xc2\xa3", + "\xc2\xac", "\xcc\x84", "\xc2\xa6", "\xc2\xa5", "\xe2\x82\xa9", NULL, "\xe2\x94\x82", "\xe2\x86\x90", + "\xe2\x86\x91", "\xe2\x86\x92", "\xe2\x86\x93", "\xe2\x96\xa0", "\xe2\x97\x8b" +}; + +static const char *grn_nfkc121_decompose_table_f09090[] = { + "\xf0\x90\x90\xa8", "\xf0\x90\x90\xa9", "\xf0\x90\x90\xaa", "\xf0\x90\x90\xab", "\xf0\x90\x90\xac", "\xf0\x90\x90\xad", "\xf0\x90\x90\xae", "\xf0\x90\x90\xaf", + "\xf0\x90\x90\xb0", "\xf0\x90\x90\xb1", "\xf0\x90\x90\xb2", "\xf0\x90\x90\xb3", "\xf0\x90\x90\xb4", "\xf0\x90\x90\xb5", "\xf0\x90\x90\xb6", "\xf0\x90\x90\xb7", + "\xf0\x90\x90\xb8", "\xf0\x90\x90\xb9", "\xf0\x90\x90\xba", "\xf0\x90\x90\xbb", "\xf0\x90\x90\xbc", "\xf0\x90\x90\xbd", "\xf0\x90\x90\xbe", "\xf0\x90\x90\xbf", + "\xf0\x90\x91\x80", "\xf0\x90\x91\x81", "\xf0\x90\x91\x82", "\xf0\x90\x91\x83", "\xf0\x90\x91\x84", "\xf0\x90\x91\x85", "\xf0\x90\x91\x86", "\xf0\x90\x91\x87", + "\xf0\x90\x91\x88", "\xf0\x90\x91\x89", "\xf0\x90\x91\x8a", "\xf0\x90\x91\x8b", "\xf0\x90\x91\x8c", "\xf0\x90\x91\x8d", "\xf0\x90\x91\x8e", "\xf0\x90\x91\x8f" +}; + +static const char *grn_nfkc121_decompose_table_f09092[] = { + "\xf0\x90\x93\x98", "\xf0\x90\x93\x99", "\xf0\x90\x93\x9a", "\xf0\x90\x93\x9b", "\xf0\x90\x93\x9c", "\xf0\x90\x93\x9d", "\xf0\x90\x93\x9e", "\xf0\x90\x93\x9f", + "\xf0\x90\x93\xa0", "\xf0\x90\x93\xa1", "\xf0\x90\x93\xa2", "\xf0\x90\x93\xa3", "\xf0\x90\x93\xa4", "\xf0\x90\x93\xa5", "\xf0\x90\x93\xa6", "\xf0\x90\x93\xa7" +}; + +static const char *grn_nfkc121_decompose_table_f09093[] = { + "\xf0\x90\x93\xa8", "\xf0\x90\x93\xa9", "\xf0\x90\x93\xaa", "\xf0\x90\x93\xab", "\xf0\x90\x93\xac", "\xf0\x90\x93\xad", "\xf0\x90\x93\xae", "\xf0\x90\x93\xaf", + "\xf0\x90\x93\xb0", "\xf0\x90\x93\xb1", "\xf0\x90\x93\xb2", "\xf0\x90\x93\xb3", "\xf0\x90\x93\xb4", "\xf0\x90\x93\xb5", "\xf0\x90\x93\xb6", "\xf0\x90\x93\xb7", + "\xf0\x90\x93\xb8", "\xf0\x90\x93\xb9", "\xf0\x90\x93\xba", "\xf0\x90\x93\xbb" +}; + +static const char *grn_nfkc121_decompose_table_f090b2[] = { + "\xf0\x90\xb3\x80", "\xf0\x90\xb3\x81", "\xf0\x90\xb3\x82", "\xf0\x90\xb3\x83", "\xf0\x90\xb3\x84", "\xf0\x90\xb3\x85", "\xf0\x90\xb3\x86", "\xf0\x90\xb3\x87", + "\xf0\x90\xb3\x88", "\xf0\x90\xb3\x89", "\xf0\x90\xb3\x8a", "\xf0\x90\xb3\x8b", "\xf0\x90\xb3\x8c", "\xf0\x90\xb3\x8d", "\xf0\x90\xb3\x8e", "\xf0\x90\xb3\x8f", + "\xf0\x90\xb3\x90", "\xf0\x90\xb3\x91", "\xf0\x90\xb3\x92", "\xf0\x90\xb3\x93", "\xf0\x90\xb3\x94", "\xf0\x90\xb3\x95", "\xf0\x90\xb3\x96", "\xf0\x90\xb3\x97", + "\xf0\x90\xb3\x98", "\xf0\x90\xb3\x99", "\xf0\x90\xb3\x9a", "\xf0\x90\xb3\x9b", "\xf0\x90\xb3\x9c", "\xf0\x90\xb3\x9d", "\xf0\x90\xb3\x9e", "\xf0\x90\xb3\x9f", + "\xf0\x90\xb3\xa0", "\xf0\x90\xb3\xa1", "\xf0\x90\xb3\xa2", "\xf0\x90\xb3\xa3", "\xf0\x90\xb3\xa4", "\xf0\x90\xb3\xa5", "\xf0\x90\xb3\xa6", "\xf0\x90\xb3\xa7", + "\xf0\x90\xb3\xa8", "\xf0\x90\xb3\xa9", "\xf0\x90\xb3\xaa", "\xf0\x90\xb3\xab", "\xf0\x90\xb3\xac", "\xf0\x90\xb3\xad", "\xf0\x90\xb3\xae", "\xf0\x90\xb3\xaf", + "\xf0\x90\xb3\xb0", "\xf0\x90\xb3\xb1", "\xf0\x90\xb3\xb2" +}; + +static const char *grn_nfkc121_decompose_table_f091a2[] = { + "\xf0\x91\xa3\x80", "\xf0\x91\xa3\x81", "\xf0\x91\xa3\x82", "\xf0\x91\xa3\x83", "\xf0\x91\xa3\x84", "\xf0\x91\xa3\x85", "\xf0\x91\xa3\x86", "\xf0\x91\xa3\x87", + "\xf0\x91\xa3\x88", "\xf0\x91\xa3\x89", "\xf0\x91\xa3\x8a", "\xf0\x91\xa3\x8b", "\xf0\x91\xa3\x8c", "\xf0\x91\xa3\x8d", "\xf0\x91\xa3\x8e", "\xf0\x91\xa3\x8f", + "\xf0\x91\xa3\x90", "\xf0\x91\xa3\x91", "\xf0\x91\xa3\x92", "\xf0\x91\xa3\x93", "\xf0\x91\xa3\x94", "\xf0\x91\xa3\x95", "\xf0\x91\xa3\x96", "\xf0\x91\xa3\x97", + "\xf0\x91\xa3\x98", "\xf0\x91\xa3\x99", "\xf0\x91\xa3\x9a", "\xf0\x91\xa3\x9b", "\xf0\x91\xa3\x9c", "\xf0\x91\xa3\x9d", "\xf0\x91\xa3\x9e", "\xf0\x91\xa3\x9f" +}; + +static const char *grn_nfkc121_decompose_table_f09d85[] = { + "\xf0\x9d\x85\x97\xf0\x9d\x85\xa5", "\xf0\x9d\x85\x98\xf0\x9d\x85\xa5", "\xf0\x9d\x85\x98\xf0\x9d\x85\xa5\xf0\x9d\x85\xae", "\xf0\x9d\x85\x98\xf0\x9d\x85\xa5\xf0\x9d\x85\xaf", "\xf0\x9d\x85\x98\xf0\x9d\x85\xa5\xf0\x9d\x85\xb0", "\xf0\x9d\x85\x98\xf0\x9d\x85\xa5\xf0\x9d\x85\xb1", "\xf0\x9d\x85\x98\xf0\x9d\x85\xa5\xf0\x9d\x85\xb2" +}; + +static const char *grn_nfkc121_decompose_table_f09d86[] = { + "\xf0\x9d\x86\xb9\xf0\x9d\x85\xa5", "\xf0\x9d\x86\xba\xf0\x9d\x85\xa5", "\xf0\x9d\x86\xb9\xf0\x9d\x85\xa5\xf0\x9d\x85\xae", "\xf0\x9d\x86\xba\xf0\x9d\x85\xa5\xf0\x9d\x85\xae", "\xf0\x9d\x86\xb9\xf0\x9d\x85\xa5\xf0\x9d\x85\xaf" +}; + +static const char *grn_nfkc121_decompose_table_f09d90[] = { + "\x61", "\x62", "\x63", "\x64", "\x65", "\x66", "\x67", "\x68", + "\x69", "\x6a", "\x6b", "\x6c", "\x6d", "\x6e", "\x6f", "\x70", + "\x71", "\x72", "\x73", "\x74", "\x75", "\x76", "\x77", "\x78", + "\x79", "\x7a", "\x61", "\x62", "\x63", "\x64", "\x65", "\x66", + "\x67", "\x68", "\x69", "\x6a", "\x6b", "\x6c", "\x6d", "\x6e", + "\x6f", "\x70", "\x71", "\x72", "\x73", "\x74", "\x75", "\x76", + "\x77", "\x78", "\x79", "\x7a", "\x61", "\x62", "\x63", "\x64", + "\x65", "\x66", "\x67", "\x68", "\x69", "\x6a", "\x6b", "\x6c" +}; + +static const char *grn_nfkc121_decompose_table_f09d91[] = { + "\x6d", "\x6e", "\x6f", "\x70", "\x71", "\x72", "\x73", "\x74", + "\x75", "\x76", "\x77", "\x78", "\x79", "\x7a", "\x61", "\x62", + "\x63", "\x64", "\x65", "\x66", "\x67", NULL, "\x69", "\x6a", + "\x6b", "\x6c", "\x6d", "\x6e", "\x6f", "\x70", "\x71", "\x72", + "\x73", "\x74", "\x75", "\x76", "\x77", "\x78", "\x79", "\x7a", + "\x61", "\x62", "\x63", "\x64", "\x65", "\x66", "\x67", "\x68", + "\x69", "\x6a", "\x6b", "\x6c", "\x6d", "\x6e", "\x6f", "\x70", + "\x71", "\x72", "\x73", "\x74", "\x75", "\x76", "\x77", "\x78" +}; + +static const char *grn_nfkc121_decompose_table_f09d92[] = { + "\x79", "\x7a", "\x61", "\x62", "\x63", "\x64", "\x65", "\x66", + "\x67", "\x68", "\x69", "\x6a", "\x6b", "\x6c", "\x6d", "\x6e", + "\x6f", "\x70", "\x71", "\x72", "\x73", "\x74", "\x75", "\x76", + "\x77", "\x78", "\x79", "\x7a", "\x61", NULL, "\x63", "\x64", + NULL, NULL, "\x67", NULL, NULL, "\x6a", "\x6b", NULL, + NULL, "\x6e", "\x6f", "\x70", "\x71", NULL, "\x73", "\x74", + "\x75", "\x76", "\x77", "\x78", "\x79", "\x7a", "\x61", "\x62", + "\x63", "\x64", NULL, "\x66", NULL, "\x68", "\x69", "\x6a" +}; + +static const char *grn_nfkc121_decompose_table_f09d93[] = { + "\x6b", "\x6c", "\x6d", "\x6e", NULL, "\x70", "\x71", "\x72", + "\x73", "\x74", "\x75", "\x76", "\x77", "\x78", "\x79", "\x7a", + "\x61", "\x62", "\x63", "\x64", "\x65", "\x66", "\x67", "\x68", + "\x69", "\x6a", "\x6b", "\x6c", "\x6d", "\x6e", "\x6f", "\x70", + "\x71", "\x72", "\x73", "\x74", "\x75", "\x76", "\x77", "\x78", + "\x79", "\x7a", "\x61", "\x62", "\x63", "\x64", "\x65", "\x66", + "\x67", "\x68", "\x69", "\x6a", "\x6b", "\x6c", "\x6d", "\x6e", + "\x6f", "\x70", "\x71", "\x72", "\x73", "\x74", "\x75", "\x76" +}; + +static const char *grn_nfkc121_decompose_table_f09d94[] = { + "\x77", "\x78", "\x79", "\x7a", "\x61", "\x62", NULL, "\x64", + "\x65", "\x66", "\x67", NULL, NULL, "\x6a", "\x6b", "\x6c", + "\x6d", "\x6e", "\x6f", "\x70", "\x71", NULL, "\x73", "\x74", + "\x75", "\x76", "\x77", "\x78", "\x79", NULL, "\x61", "\x62", + "\x63", "\x64", "\x65", "\x66", "\x67", "\x68", "\x69", "\x6a", + "\x6b", "\x6c", "\x6d", "\x6e", "\x6f", "\x70", "\x71", "\x72", + "\x73", "\x74", "\x75", "\x76", "\x77", "\x78", "\x79", "\x7a", + "\x61", "\x62", NULL, "\x64", "\x65", "\x66", "\x67" +}; + +static const char *grn_nfkc121_decompose_table_f09d95[] = { + "\x69", "\x6a", "\x6b", "\x6c", "\x6d", NULL, "\x6f", NULL, + NULL, NULL, "\x73", "\x74", "\x75", "\x76", "\x77", "\x78", + "\x79", NULL, "\x61", "\x62", "\x63", "\x64", "\x65", "\x66", + "\x67", "\x68", "\x69", "\x6a", "\x6b", "\x6c", "\x6d", "\x6e", + "\x6f", "\x70", "\x71", "\x72", "\x73", "\x74", "\x75", "\x76", + "\x77", "\x78", "\x79", "\x7a", "\x61", "\x62", "\x63", "\x64", + "\x65", "\x66", "\x67", "\x68", "\x69", "\x6a", "\x6b", "\x6c", + "\x6d", "\x6e", "\x6f", "\x70", "\x71", "\x72", "\x73", "\x74" +}; + +static const char *grn_nfkc121_decompose_table_f09d96[] = { + "\x75", "\x76", "\x77", "\x78", "\x79", "\x7a", "\x61", "\x62", + "\x63", "\x64", "\x65", "\x66", "\x67", "\x68", "\x69", "\x6a", + "\x6b", "\x6c", "\x6d", "\x6e", "\x6f", "\x70", "\x71", "\x72", + "\x73", "\x74", "\x75", "\x76", "\x77", "\x78", "\x79", "\x7a", + "\x61", "\x62", "\x63", "\x64", "\x65", "\x66", "\x67", "\x68", + "\x69", "\x6a", "\x6b", "\x6c", "\x6d", "\x6e", "\x6f", "\x70", + "\x71", "\x72", "\x73", "\x74", "\x75", "\x76", "\x77", "\x78", + "\x79", "\x7a", "\x61", "\x62", "\x63", "\x64", "\x65", "\x66" +}; + +static const char *grn_nfkc121_decompose_table_f09d97[] = { + "\x67", "\x68", "\x69", "\x6a", "\x6b", "\x6c", "\x6d", "\x6e", + "\x6f", "\x70", "\x71", "\x72", "\x73", "\x74", "\x75", "\x76", + "\x77", "\x78", "\x79", "\x7a", "\x61", "\x62", "\x63", "\x64", + "\x65", "\x66", "\x67", "\x68", "\x69", "\x6a", "\x6b", "\x6c", + "\x6d", "\x6e", "\x6f", "\x70", "\x71", "\x72", "\x73", "\x74", + "\x75", "\x76", "\x77", "\x78", "\x79", "\x7a", "\x61", "\x62", + "\x63", "\x64", "\x65", "\x66", "\x67", "\x68", "\x69", "\x6a", + "\x6b", "\x6c", "\x6d", "\x6e", "\x6f", "\x70", "\x71", "\x72" +}; + +static const char *grn_nfkc121_decompose_table_f09d98[] = { + "\x73", "\x74", "\x75", "\x76", "\x77", "\x78", "\x79", "\x7a", + "\x61", "\x62", "\x63", "\x64", "\x65", "\x66", "\x67", "\x68", + "\x69", "\x6a", "\x6b", "\x6c", "\x6d", "\x6e", "\x6f", "\x70", + "\x71", "\x72", "\x73", "\x74", "\x75", "\x76", "\x77", "\x78", + "\x79", "\x7a", "\x61", "\x62", "\x63", "\x64", "\x65", "\x66", + "\x67", "\x68", "\x69", "\x6a", "\x6b", "\x6c", "\x6d", "\x6e", + "\x6f", "\x70", "\x71", "\x72", "\x73", "\x74", "\x75", "\x76", + "\x77", "\x78", "\x79", "\x7a", "\x61", "\x62", "\x63", "\x64" +}; + +static const char *grn_nfkc121_decompose_table_f09d99[] = { + "\x65", "\x66", "\x67", "\x68", "\x69", "\x6a", "\x6b", "\x6c", + "\x6d", "\x6e", "\x6f", "\x70", "\x71", "\x72", "\x73", "\x74", + "\x75", "\x76", "\x77", "\x78", "\x79", "\x7a", "\x61", "\x62", + "\x63", "\x64", "\x65", "\x66", "\x67", "\x68", "\x69", "\x6a", + "\x6b", "\x6c", "\x6d", "\x6e", "\x6f", "\x70", "\x71", "\x72", + "\x73", "\x74", "\x75", "\x76", "\x77", "\x78", "\x79", "\x7a", + "\x61", "\x62", "\x63", "\x64", "\x65", "\x66", "\x67", "\x68", + "\x69", "\x6a", "\x6b", "\x6c", "\x6d", "\x6e", "\x6f", "\x70" +}; + +static const char *grn_nfkc121_decompose_table_f09d9a[] = { + "\x71", "\x72", "\x73", "\x74", "\x75", "\x76", "\x77", "\x78", + "\x79", "\x7a", "\x61", "\x62", "\x63", "\x64", "\x65", "\x66", + "\x67", "\x68", "\x69", "\x6a", "\x6b", "\x6c", "\x6d", "\x6e", + "\x6f", "\x70", "\x71", "\x72", "\x73", "\x74", "\x75", "\x76", + "\x77", "\x78", "\x79", "\x7a", "\xc4\xb1", "\xc8\xb7", NULL, NULL, + "\xce\xb1", "\xce\xb2", "\xce\xb3", "\xce\xb4", "\xce\xb5", "\xce\xb6", "\xce\xb7", "\xce\xb8", + "\xce\xb9", "\xce\xba", "\xce\xbb", "\xce\xbc", "\xce\xbd", "\xce\xbe", "\xce\xbf", "\xcf\x80", + "\xcf\x81", "\xce\xb8", "\xcf\x83", "\xcf\x84", "\xcf\x85", "\xcf\x86", "\xcf\x87", "\xcf\x88" +}; + +static const char *grn_nfkc121_decompose_table_f09d9b[] = { + "\xcf\x89", "\xe2\x88\x87", "\xce\xb1", "\xce\xb2", "\xce\xb3", "\xce\xb4", "\xce\xb5", "\xce\xb6", + "\xce\xb7", "\xce\xb8", "\xce\xb9", "\xce\xba", "\xce\xbb", "\xce\xbc", "\xce\xbd", "\xce\xbe", + "\xce\xbf", "\xcf\x80", "\xcf\x81", "\xcf\x82", "\xcf\x83", "\xcf\x84", "\xcf\x85", "\xcf\x86", + "\xcf\x87", "\xcf\x88", "\xcf\x89", "\xe2\x88\x82", "\xce\xb5", "\xce\xb8", "\xce\xba", "\xcf\x86", + "\xcf\x81", "\xcf\x80", "\xce\xb1", "\xce\xb2", "\xce\xb3", "\xce\xb4", "\xce\xb5", "\xce\xb6", + "\xce\xb7", "\xce\xb8", "\xce\xb9", "\xce\xba", "\xce\xbb", "\xce\xbc", "\xce\xbd", "\xce\xbe", + "\xce\xbf", "\xcf\x80", "\xcf\x81", "\xce\xb8", "\xcf\x83", "\xcf\x84", "\xcf\x85", "\xcf\x86", + "\xcf\x87", "\xcf\x88", "\xcf\x89", "\xe2\x88\x87", "\xce\xb1", "\xce\xb2", "\xce\xb3", "\xce\xb4" +}; + +static const char *grn_nfkc121_decompose_table_f09d9c[] = { + "\xce\xb5", "\xce\xb6", "\xce\xb7", "\xce\xb8", "\xce\xb9", "\xce\xba", "\xce\xbb", "\xce\xbc", + "\xce\xbd", "\xce\xbe", "\xce\xbf", "\xcf\x80", "\xcf\x81", "\xcf\x82", "\xcf\x83", "\xcf\x84", + "\xcf\x85", "\xcf\x86", "\xcf\x87", "\xcf\x88", "\xcf\x89", "\xe2\x88\x82", "\xce\xb5", "\xce\xb8", + "\xce\xba", "\xcf\x86", "\xcf\x81", "\xcf\x80", "\xce\xb1", "\xce\xb2", "\xce\xb3", "\xce\xb4", + "\xce\xb5", "\xce\xb6", "\xce\xb7", "\xce\xb8", "\xce\xb9", "\xce\xba", "\xce\xbb", "\xce\xbc", + "\xce\xbd", "\xce\xbe", "\xce\xbf", "\xcf\x80", "\xcf\x81", "\xce\xb8", "\xcf\x83", "\xcf\x84", + "\xcf\x85", "\xcf\x86", "\xcf\x87", "\xcf\x88", "\xcf\x89", "\xe2\x88\x87", "\xce\xb1", "\xce\xb2", + "\xce\xb3", "\xce\xb4", "\xce\xb5", "\xce\xb6", "\xce\xb7", "\xce\xb8", "\xce\xb9", "\xce\xba" +}; + +static const char *grn_nfkc121_decompose_table_f09d9d[] = { + "\xce\xbb", "\xce\xbc", "\xce\xbd", "\xce\xbe", "\xce\xbf", "\xcf\x80", "\xcf\x81", "\xcf\x82", + "\xcf\x83", "\xcf\x84", "\xcf\x85", "\xcf\x86", "\xcf\x87", "\xcf\x88", "\xcf\x89", "\xe2\x88\x82", + "\xce\xb5", "\xce\xb8", "\xce\xba", "\xcf\x86", "\xcf\x81", "\xcf\x80", "\xce\xb1", "\xce\xb2", + "\xce\xb3", "\xce\xb4", "\xce\xb5", "\xce\xb6", "\xce\xb7", "\xce\xb8", "\xce\xb9", "\xce\xba", + "\xce\xbb", "\xce\xbc", "\xce\xbd", "\xce\xbe", "\xce\xbf", "\xcf\x80", "\xcf\x81", "\xce\xb8", + "\xcf\x83", "\xcf\x84", "\xcf\x85", "\xcf\x86", "\xcf\x87", "\xcf\x88", "\xcf\x89", "\xe2\x88\x87", + "\xce\xb1", "\xce\xb2", "\xce\xb3", "\xce\xb4", "\xce\xb5", "\xce\xb6", "\xce\xb7", "\xce\xb8", + "\xce\xb9", "\xce\xba", "\xce\xbb", "\xce\xbc", "\xce\xbd", "\xce\xbe", "\xce\xbf", "\xcf\x80" +}; + +static const char *grn_nfkc121_decompose_table_f09d9e[] = { + "\xcf\x81", "\xcf\x82", "\xcf\x83", "\xcf\x84", "\xcf\x85", "\xcf\x86", "\xcf\x87", "\xcf\x88", + "\xcf\x89", "\xe2\x88\x82", "\xce\xb5", "\xce\xb8", "\xce\xba", "\xcf\x86", "\xcf\x81", "\xcf\x80", + "\xce\xb1", "\xce\xb2", "\xce\xb3", "\xce\xb4", "\xce\xb5", "\xce\xb6", "\xce\xb7", "\xce\xb8", + "\xce\xb9", "\xce\xba", "\xce\xbb", "\xce\xbc", "\xce\xbd", "\xce\xbe", "\xce\xbf", "\xcf\x80", + "\xcf\x81", "\xce\xb8", "\xcf\x83", "\xcf\x84", "\xcf\x85", "\xcf\x86", "\xcf\x87", "\xcf\x88", + "\xcf\x89", "\xe2\x88\x87", "\xce\xb1", "\xce\xb2", "\xce\xb3", "\xce\xb4", "\xce\xb5", "\xce\xb6", + "\xce\xb7", "\xce\xb8", "\xce\xb9", "\xce\xba", "\xce\xbb", "\xce\xbc", "\xce\xbd", "\xce\xbe", + "\xce\xbf", "\xcf\x80", "\xcf\x81", "\xcf\x82", "\xcf\x83", "\xcf\x84", "\xcf\x85", "\xcf\x86" +}; + +static const char *grn_nfkc121_decompose_table_f09d9f[] = { + "\xcf\x87", "\xcf\x88", "\xcf\x89", "\xe2\x88\x82", "\xce\xb5", "\xce\xb8", "\xce\xba", "\xcf\x86", + "\xcf\x81", "\xcf\x80", "\xcf\x9d", "\xcf\x9d", NULL, NULL, "\x30", "\x31", + "\x32", "\x33", "\x34", "\x35", "\x36", "\x37", "\x38", "\x39", + "\x30", "\x31", "\x32", "\x33", "\x34", "\x35", "\x36", "\x37", + "\x38", "\x39", "\x30", "\x31", "\x32", "\x33", "\x34", "\x35", + "\x36", "\x37", "\x38", "\x39", "\x30", "\x31", "\x32", "\x33", + "\x34", "\x35", "\x36", "\x37", "\x38", "\x39", "\x30", "\x31", + "\x32", "\x33", "\x34", "\x35", "\x36", "\x37", "\x38", "\x39" +}; + +static const char *grn_nfkc121_decompose_table_f09ea4[] = { + "\xf0\x9e\xa4\xa2", "\xf0\x9e\xa4\xa3", "\xf0\x9e\xa4\xa4", "\xf0\x9e\xa4\xa5", "\xf0\x9e\xa4\xa6", "\xf0\x9e\xa4\xa7", "\xf0\x9e\xa4\xa8", "\xf0\x9e\xa4\xa9", + "\xf0\x9e\xa4\xaa", "\xf0\x9e\xa4\xab", "\xf0\x9e\xa4\xac", "\xf0\x9e\xa4\xad", "\xf0\x9e\xa4\xae", "\xf0\x9e\xa4\xaf", "\xf0\x9e\xa4\xb0", "\xf0\x9e\xa4\xb1", + "\xf0\x9e\xa4\xb2", "\xf0\x9e\xa4\xb3", "\xf0\x9e\xa4\xb4", "\xf0\x9e\xa4\xb5", "\xf0\x9e\xa4\xb6", "\xf0\x9e\xa4\xb7", "\xf0\x9e\xa4\xb8", "\xf0\x9e\xa4\xb9", + "\xf0\x9e\xa4\xba", "\xf0\x9e\xa4\xbb", "\xf0\x9e\xa4\xbc", "\xf0\x9e\xa4\xbd", "\xf0\x9e\xa4\xbe", "\xf0\x9e\xa4\xbf", "\xf0\x9e\xa5\x80", "\xf0\x9e\xa5\x81", + "\xf0\x9e\xa5\x82", "\xf0\x9e\xa5\x83" +}; + +static const char *grn_nfkc121_decompose_table_f09eb8[] = { + "\xd8\xa7", "\xd8\xa8", "\xd8\xac", "\xd8\xaf", NULL, "\xd9\x88", "\xd8\xb2", "\xd8\xad", + "\xd8\xb7", "\xd9\x8a", "\xd9\x83", "\xd9\x84", "\xd9\x85", "\xd9\x86", "\xd8\xb3", "\xd8\xb9", + "\xd9\x81", "\xd8\xb5", "\xd9\x82", "\xd8\xb1", "\xd8\xb4", "\xd8\xaa", "\xd8\xab", "\xd8\xae", + "\xd8\xb0", "\xd8\xb6", "\xd8\xb8", "\xd8\xba", "\xd9\xae", "\xda\xba", "\xda\xa1", "\xd9\xaf", + NULL, "\xd8\xa8", "\xd8\xac", NULL, "\xd9\x87", NULL, NULL, "\xd8\xad", + NULL, "\xd9\x8a", "\xd9\x83", "\xd9\x84", "\xd9\x85", "\xd9\x86", "\xd8\xb3", "\xd8\xb9", + "\xd9\x81", "\xd8\xb5", "\xd9\x82", NULL, "\xd8\xb4", "\xd8\xaa", "\xd8\xab", "\xd8\xae", + NULL, "\xd8\xb6", NULL, "\xd8\xba" +}; + +static const char *grn_nfkc121_decompose_table_f09eb9[] = { + "\xd8\xac", NULL, NULL, NULL, NULL, "\xd8\xad", NULL, "\xd9\x8a", + NULL, "\xd9\x84", NULL, "\xd9\x86", "\xd8\xb3", "\xd8\xb9", NULL, "\xd8\xb5", + "\xd9\x82", NULL, "\xd8\xb4", NULL, NULL, "\xd8\xae", NULL, "\xd8\xb6", + NULL, "\xd8\xba", NULL, "\xda\xba", NULL, "\xd9\xaf", NULL, "\xd8\xa8", + "\xd8\xac", NULL, "\xd9\x87", NULL, NULL, "\xd8\xad", "\xd8\xb7", "\xd9\x8a", + "\xd9\x83", NULL, "\xd9\x85", "\xd9\x86", "\xd8\xb3", "\xd8\xb9", "\xd9\x81", "\xd8\xb5", + "\xd9\x82", NULL, "\xd8\xb4", "\xd8\xaa", "\xd8\xab", "\xd8\xae", NULL, "\xd8\xb6", + "\xd8\xb8", "\xd8\xba", "\xd9\xae", NULL, "\xda\xa1" +}; + +static const char *grn_nfkc121_decompose_table_f09eba[] = { + "\xd8\xa7", "\xd8\xa8", "\xd8\xac", "\xd8\xaf", "\xd9\x87", "\xd9\x88", "\xd8\xb2", "\xd8\xad", + "\xd8\xb7", "\xd9\x8a", NULL, "\xd9\x84", "\xd9\x85", "\xd9\x86", "\xd8\xb3", "\xd8\xb9", + "\xd9\x81", "\xd8\xb5", "\xd9\x82", "\xd8\xb1", "\xd8\xb4", "\xd8\xaa", "\xd8\xab", "\xd8\xae", + "\xd8\xb0", "\xd8\xb6", "\xd8\xb8", "\xd8\xba", NULL, NULL, NULL, NULL, + NULL, "\xd8\xa8", "\xd8\xac", "\xd8\xaf", NULL, "\xd9\x88", "\xd8\xb2", "\xd8\xad", + "\xd8\xb7", "\xd9\x8a", NULL, "\xd9\x84", "\xd9\x85", "\xd9\x86", "\xd8\xb3", "\xd8\xb9", + "\xd9\x81", "\xd8\xb5", "\xd9\x82", "\xd8\xb1", "\xd8\xb4", "\xd8\xaa", "\xd8\xab", "\xd8\xae", + "\xd8\xb0", "\xd8\xb6", "\xd8\xb8", "\xd8\xba" +}; + +static const char *grn_nfkc121_decompose_table_f09f84[] = { + "\x30\x2e", "\x30\x2c", "\x31\x2c", "\x32\x2c", "\x33\x2c", "\x34\x2c", "\x35\x2c", "\x36\x2c", + "\x37\x2c", "\x38\x2c", "\x39\x2c", NULL, NULL, NULL, NULL, NULL, + "\x28\x61\x29", "\x28\x62\x29", "\x28\x63\x29", "\x28\x64\x29", "\x28\x65\x29", "\x28\x66\x29", "\x28\x67\x29", "\x28\x68\x29", + "\x28\x69\x29", "\x28\x6a\x29", "\x28\x6b\x29", "\x28\x6c\x29", "\x28\x6d\x29", "\x28\x6e\x29", "\x28\x6f\x29", "\x28\x70\x29", + "\x28\x71\x29", "\x28\x72\x29", "\x28\x73\x29", "\x28\x74\x29", "\x28\x75\x29", "\x28\x76\x29", "\x28\x77\x29", "\x28\x78\x29", + "\x28\x79\x29", "\x28\x7a\x29", "\xe3\x80\x94\x73\xe3\x80\x95", "\x63", "\x72", "\x63\x64", "\x77\x7a", NULL, + "\x61", "\x62", "\x63", "\x64", "\x65", "\x66", "\x67", "\x68", + "\x69", "\x6a", "\x6b", "\x6c", "\x6d", "\x6e", "\x6f", "\x70" +}; + +static const char *grn_nfkc121_decompose_table_f09f85[] = { + "\x71", "\x72", "\x73", "\x74", "\x75", "\x76", "\x77", "\x78", + "\x79", "\x7a", "\x68\x76", "\x6d\x76", "\x73\x64", "\x73\x73", "\x70\x70\x76", "\x77\x63", + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, "\x6d\x63", "\x6d\x64", "\x6d\x72" +}; + +static const char *grn_nfkc121_decompose_table_f09f88[] = { + "\xe3\x81\xbb\xe3\x81\x8b", "\xe3\x82\xb3\xe3\x82\xb3", "\xe3\x82\xb5", NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xe6\x89\x8b", "\xe5\xad\x97", "\xe5\x8f\x8c", "\xe3\x83\x87", "\xe4\xba\x8c", "\xe5\xa4\x9a", "\xe8\xa7\xa3", "\xe5\xa4\xa9", + "\xe4\xba\xa4", "\xe6\x98\xa0", "\xe7\x84\xa1", "\xe6\x96\x99", "\xe5\x89\x8d", "\xe5\xbe\x8c", "\xe5\x86\x8d", "\xe6\x96\xb0", + "\xe5\x88\x9d", "\xe7\xb5\x82", "\xe7\x94\x9f", "\xe8\xb2\xa9", "\xe5\xa3\xb0", "\xe5\x90\xb9", "\xe6\xbc\x94", "\xe6\x8a\x95", + "\xe6\x8d\x95", "\xe4\xb8\x80", "\xe4\xb8\x89", "\xe9\x81\x8a", "\xe5\xb7\xa6", "\xe4\xb8\xad", "\xe5\x8f\xb3", "\xe6\x8c\x87", + "\xe8\xb5\xb0", "\xe6\x89\x93", "\xe7\xa6\x81", "\xe7\xa9\xba", "\xe5\x90\x88", "\xe6\xba\x80", "\xe6\x9c\x89", "\xe6\x9c\x88", + "\xe7\x94\xb3", "\xe5\x89\xb2", "\xe5\x96\xb6", "\xe9\x85\x8d" +}; + +static const char *grn_nfkc121_decompose_table_f09f89[] = { + "\xe3\x80\x94\xe6\x9c\xac\xe3\x80\x95", "\xe3\x80\x94\xe4\xb8\x89\xe3\x80\x95", "\xe3\x80\x94\xe4\xba\x8c\xe3\x80\x95", "\xe3\x80\x94\xe5\xae\x89\xe3\x80\x95", "\xe3\x80\x94\xe7\x82\xb9\xe3\x80\x95", "\xe3\x80\x94\xe6\x89\x93\xe3\x80\x95", "\xe3\x80\x94\xe7\x9b\x97\xe3\x80\x95", "\xe3\x80\x94\xe5\x8b\x9d\xe3\x80\x95", + "\xe3\x80\x94\xe6\x95\x97\xe3\x80\x95", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xe5\xbe\x97", "\xe5\x8f\xaf" +}; + +static const char *grn_nfkc121_decompose_table_f0afa0[] = { + "\xe4\xb8\xbd", "\xe4\xb8\xb8", "\xe4\xb9\x81", "\xf0\xa0\x84\xa2", "\xe4\xbd\xa0", "\xe4\xbe\xae", "\xe4\xbe\xbb", "\xe5\x80\x82", + "\xe5\x81\xba", "\xe5\x82\x99", "\xe5\x83\xa7", "\xe5\x83\x8f", "\xe3\x92\x9e", "\xf0\xa0\x98\xba", "\xe5\x85\x8d", "\xe5\x85\x94", + "\xe5\x85\xa4", "\xe5\x85\xb7", "\xf0\xa0\x94\x9c", "\xe3\x92\xb9", "\xe5\x85\xa7", "\xe5\x86\x8d", "\xf0\xa0\x95\x8b", "\xe5\x86\x97", + "\xe5\x86\xa4", "\xe4\xbb\x8c", "\xe5\x86\xac", "\xe5\x86\xb5", "\xf0\xa9\x87\x9f", "\xe5\x87\xb5", "\xe5\x88\x83", "\xe3\x93\x9f", + "\xe5\x88\xbb", "\xe5\x89\x86", "\xe5\x89\xb2", "\xe5\x89\xb7", "\xe3\x94\x95", "\xe5\x8b\x87", "\xe5\x8b\x89", "\xe5\x8b\xa4", + "\xe5\x8b\xba", "\xe5\x8c\x85", "\xe5\x8c\x86", "\xe5\x8c\x97", "\xe5\x8d\x89", "\xe5\x8d\x91", "\xe5\x8d\x9a", "\xe5\x8d\xb3", + "\xe5\x8d\xbd", "\xe5\x8d\xbf", "\xe5\x8d\xbf", "\xe5\x8d\xbf", "\xf0\xa0\xa8\xac", "\xe7\x81\xb0", "\xe5\x8f\x8a", "\xe5\x8f\x9f", + "\xf0\xa0\xad\xa3", "\xe5\x8f\xab", "\xe5\x8f\xb1", "\xe5\x90\x86", "\xe5\x92\x9e", "\xe5\x90\xb8", "\xe5\x91\x88", "\xe5\x91\xa8" +}; + +static const char *grn_nfkc121_decompose_table_f0afa1[] = { + "\xe5\x92\xa2", "\xe5\x93\xb6", "\xe5\x94\x90", "\xe5\x95\x93", "\xe5\x95\xa3", "\xe5\x96\x84", "\xe5\x96\x84", "\xe5\x96\x99", + "\xe5\x96\xab", "\xe5\x96\xb3", "\xe5\x97\x82", "\xe5\x9c\x96", "\xe5\x98\x86", "\xe5\x9c\x97", "\xe5\x99\x91", "\xe5\x99\xb4", + "\xe5\x88\x87", "\xe5\xa3\xae", "\xe5\x9f\x8e", "\xe5\x9f\xb4", "\xe5\xa0\x8d", "\xe5\x9e\x8b", "\xe5\xa0\xb2", "\xe5\xa0\xb1", + "\xe5\xa2\xac", "\xf0\xa1\x93\xa4", "\xe5\xa3\xb2", "\xe5\xa3\xb7", "\xe5\xa4\x86", "\xe5\xa4\x9a", "\xe5\xa4\xa2", "\xe5\xa5\xa2", + "\xf0\xa1\x9a\xa8", "\xf0\xa1\x9b\xaa", "\xe5\xa7\xac", "\xe5\xa8\x9b", "\xe5\xa8\xa7", "\xe5\xa7\x98", "\xe5\xa9\xa6", "\xe3\x9b\xae", + "\xe3\x9b\xbc", "\xe5\xac\x88", "\xe5\xac\xbe", "\xe5\xac\xbe", "\xf0\xa1\xa7\x88", "\xe5\xaf\x83", "\xe5\xaf\x98", "\xe5\xaf\xa7", + "\xe5\xaf\xb3", "\xf0\xa1\xac\x98", "\xe5\xaf\xbf", "\xe5\xb0\x86", "\xe5\xbd\x93", "\xe5\xb0\xa2", "\xe3\x9e\x81", "\xe5\xb1\xa0", + "\xe5\xb1\xae", "\xe5\xb3\x80", "\xe5\xb2\x8d", "\xf0\xa1\xb7\xa4", "\xe5\xb5\x83", "\xf0\xa1\xb7\xa6", "\xe5\xb5\xae", "\xe5\xb5\xab" +}; + +static const char *grn_nfkc121_decompose_table_f0afa2[] = { + "\xe5\xb5\xbc", "\xe5\xb7\xa1", "\xe5\xb7\xa2", "\xe3\xa0\xaf", "\xe5\xb7\xbd", "\xe5\xb8\xa8", "\xe5\xb8\xbd", "\xe5\xb9\xa9", + "\xe3\xa1\xa2", "\xf0\xa2\x86\x83", "\xe3\xa1\xbc", "\xe5\xba\xb0", "\xe5\xba\xb3", "\xe5\xba\xb6", "\xe5\xbb\x8a", "\xf0\xaa\x8e\x92", + "\xe5\xbb\xbe", "\xf0\xa2\x8c\xb1", "\xf0\xa2\x8c\xb1", "\xe8\x88\x81", "\xe5\xbc\xa2", "\xe5\xbc\xa2", "\xe3\xa3\x87", "\xf0\xa3\x8a\xb8", + "\xf0\xa6\x87\x9a", "\xe5\xbd\xa2", "\xe5\xbd\xab", "\xe3\xa3\xa3", "\xe5\xbe\x9a", "\xe5\xbf\x8d", "\xe5\xbf\x97", "\xe5\xbf\xb9", + "\xe6\x82\x81", "\xe3\xa4\xba", "\xe3\xa4\x9c", "\xe6\x82\x94", "\xf0\xa2\x9b\x94", "\xe6\x83\x87", "\xe6\x85\x88", "\xe6\x85\x8c", + "\xe6\x85\x8e", "\xe6\x85\x8c", "\xe6\x85\xba", "\xe6\x86\x8e", "\xe6\x86\xb2", "\xe6\x86\xa4", "\xe6\x86\xaf", "\xe6\x87\x9e", + "\xe6\x87\xb2", "\xe6\x87\xb6", "\xe6\x88\x90", "\xe6\x88\x9b", "\xe6\x89\x9d", "\xe6\x8a\xb1", "\xe6\x8b\x94", "\xe6\x8d\x90", + "\xf0\xa2\xac\x8c", "\xe6\x8c\xbd", "\xe6\x8b\xbc", "\xe6\x8d\xa8", "\xe6\x8e\x83", "\xe6\x8f\xa4", "\xf0\xa2\xaf\xb1", "\xe6\x90\xa2" +}; + +static const char *grn_nfkc121_decompose_table_f0afa3[] = { + "\xe6\x8f\x85", "\xe6\x8e\xa9", "\xe3\xa8\xae", "\xe6\x91\xa9", "\xe6\x91\xbe", "\xe6\x92\x9d", "\xe6\x91\xb7", "\xe3\xa9\xac", + "\xe6\x95\x8f", "\xe6\x95\xac", "\xf0\xa3\x80\x8a", "\xe6\x97\xa3", "\xe6\x9b\xb8", "\xe6\x99\x89", "\xe3\xac\x99", "\xe6\x9a\x91", + "\xe3\xac\x88", "\xe3\xab\xa4", "\xe5\x86\x92", "\xe5\x86\x95", "\xe6\x9c\x80", "\xe6\x9a\x9c", "\xe8\x82\xad", "\xe4\x8f\x99", + "\xe6\x9c\x97", "\xe6\x9c\x9b", "\xe6\x9c\xa1", "\xe6\x9d\x9e", "\xe6\x9d\x93", "\xf0\xa3\x8f\x83", "\xe3\xad\x89", "\xe6\x9f\xba", + "\xe6\x9e\x85", "\xe6\xa1\x92", "\xe6\xa2\x85", "\xf0\xa3\x91\xad", "\xe6\xa2\x8e", "\xe6\xa0\x9f", "\xe6\xa4\x94", "\xe3\xae\x9d", + "\xe6\xa5\x82", "\xe6\xa6\xa3", "\xe6\xa7\xaa", "\xe6\xaa\xa8", "\xf0\xa3\x9a\xa3", "\xe6\xab\x9b", "\xe3\xb0\x98", "\xe6\xac\xa1", + "\xf0\xa3\xa2\xa7", "\xe6\xad\x94", "\xe3\xb1\x8e", "\xe6\xad\xb2", "\xe6\xae\x9f", "\xe6\xae\xba", "\xe6\xae\xbb", "\xf0\xa3\xaa\x8d", + "\xf0\xa1\xb4\x8b", "\xf0\xa3\xab\xba", "\xe6\xb1\x8e", "\xf0\xa3\xb2\xbc", "\xe6\xb2\xbf", "\xe6\xb3\x8d", "\xe6\xb1\xa7", "\xe6\xb4\x96" +}; + +static const char *grn_nfkc121_decompose_table_f0afa4[] = { + "\xe6\xb4\xbe", "\xe6\xb5\xb7", "\xe6\xb5\x81", "\xe6\xb5\xa9", "\xe6\xb5\xb8", "\xe6\xb6\x85", "\xf0\xa3\xb4\x9e", "\xe6\xb4\xb4", + "\xe6\xb8\xaf", "\xe6\xb9\xae", "\xe3\xb4\xb3", "\xe6\xbb\x8b", "\xe6\xbb\x87", "\xf0\xa3\xbb\x91", "\xe6\xb7\xb9", "\xe6\xbd\xae", + "\xf0\xa3\xbd\x9e", "\xf0\xa3\xbe\x8e", "\xe6\xbf\x86", "\xe7\x80\xb9", "\xe7\x80\x9e", "\xe7\x80\x9b", "\xe3\xb6\x96", "\xe7\x81\x8a", + "\xe7\x81\xbd", "\xe7\x81\xb7", "\xe7\x82\xad", "\xf0\xa0\x94\xa5", "\xe7\x85\x85", "\xf0\xa4\x89\xa3", "\xe7\x86\x9c", "\xf0\xa4\x8e\xab", + "\xe7\x88\xa8", "\xe7\x88\xb5", "\xe7\x89\x90", "\xf0\xa4\x98\x88", "\xe7\x8a\x80", "\xe7\x8a\x95", "\xf0\xa4\x9c\xb5", "\xf0\xa4\xa0\x94", + "\xe7\x8d\xba", "\xe7\x8e\x8b", "\xe3\xba\xac", "\xe7\x8e\xa5", "\xe3\xba\xb8", "\xe3\xba\xb8", "\xe7\x91\x87", "\xe7\x91\x9c", + "\xe7\x91\xb1", "\xe7\x92\x85", "\xe7\x93\x8a", "\xe3\xbc\x9b", "\xe7\x94\xa4", "\xf0\xa4\xb0\xb6", "\xe7\x94\xbe", "\xf0\xa4\xb2\x92", + "\xe7\x95\xb0", "\xf0\xa2\x86\x9f", "\xe7\x98\x90", "\xf0\xa4\xbe\xa1", "\xf0\xa4\xbe\xb8", "\xf0\xa5\x81\x84", "\xe3\xbf\xbc", "\xe4\x80\x88" +}; + +static const char *grn_nfkc121_decompose_table_f0afa5[] = { + "\xe7\x9b\xb4", "\xf0\xa5\x83\xb3", "\xf0\xa5\x83\xb2", "\xf0\xa5\x84\x99", "\xf0\xa5\x84\xb3", "\xe7\x9c\x9e", "\xe7\x9c\x9f", "\xe7\x9c\x9f", + "\xe7\x9d\x8a", "\xe4\x80\xb9", "\xe7\x9e\x8b", "\xe4\x81\x86", "\xe4\x82\x96", "\xf0\xa5\x90\x9d", "\xe7\xa1\x8e", "\xe7\xa2\x8c", + "\xe7\xa3\x8c", "\xe4\x83\xa3", "\xf0\xa5\x98\xa6", "\xe7\xa5\x96", "\xf0\xa5\x9a\x9a", "\xf0\xa5\x9b\x85", "\xe7\xa6\x8f", "\xe7\xa7\xab", + "\xe4\x84\xaf", "\xe7\xa9\x80", "\xe7\xa9\x8a", "\xe7\xa9\x8f", "\xf0\xa5\xa5\xbc", "\xf0\xa5\xaa\xa7", "\xf0\xa5\xaa\xa7", "\xe7\xab\xae", + "\xe4\x88\x82", "\xf0\xa5\xae\xab", "\xe7\xaf\x86", "\xe7\xaf\x89", "\xe4\x88\xa7", "\xf0\xa5\xb2\x80", "\xe7\xb3\x92", "\xe4\x8a\xa0", + "\xe7\xb3\xa8", "\xe7\xb3\xa3", "\xe7\xb4\x80", "\xf0\xa5\xbe\x86", "\xe7\xb5\xa3", "\xe4\x8c\x81", "\xe7\xb7\x87", "\xe7\xb8\x82", + "\xe7\xb9\x85", "\xe4\x8c\xb4", "\xf0\xa6\x88\xa8", "\xf0\xa6\x89\x87", "\xe4\x8d\x99", "\xf0\xa6\x8b\x99", "\xe7\xbd\xba", "\xf0\xa6\x8c\xbe", + "\xe7\xbe\x95", "\xe7\xbf\xba", "\xe8\x80\x85", "\xf0\xa6\x93\x9a", "\xf0\xa6\x94\xa3", "\xe8\x81\xa0", "\xf0\xa6\x96\xa8", "\xe8\x81\xb0" +}; + +static const char *grn_nfkc121_decompose_table_f0afa6[] = { + "\xf0\xa3\x8d\x9f", "\xe4\x8f\x95", "\xe8\x82\xb2", "\xe8\x84\x83", "\xe4\x90\x8b", "\xe8\x84\xbe", "\xe5\xaa\xb5", "\xf0\xa6\x9e\xa7", + "\xf0\xa6\x9e\xb5", "\xf0\xa3\x8e\x93", "\xf0\xa3\x8e\x9c", "\xe8\x88\x81", "\xe8\x88\x84", "\xe8\xbe\x9e", "\xe4\x91\xab", "\xe8\x8a\x91", + "\xe8\x8a\x8b", "\xe8\x8a\x9d", "\xe5\x8a\xb3", "\xe8\x8a\xb1", "\xe8\x8a\xb3", "\xe8\x8a\xbd", "\xe8\x8b\xa6", "\xf0\xa6\xac\xbc", + "\xe8\x8b\xa5", "\xe8\x8c\x9d", "\xe8\x8d\xa3", "\xe8\x8e\xad", "\xe8\x8c\xa3", "\xe8\x8e\xbd", "\xe8\x8f\xa7", "\xe8\x91\x97", + "\xe8\x8d\x93", "\xe8\x8f\x8a", "\xe8\x8f\x8c", "\xe8\x8f\x9c", "\xf0\xa6\xb0\xb6", "\xf0\xa6\xb5\xab", "\xf0\xa6\xb3\x95", "\xe4\x94\xab", + "\xe8\x93\xb1", "\xe8\x93\xb3", "\xe8\x94\x96", "\xf0\xa7\x8f\x8a", "\xe8\x95\xa4", "\xf0\xa6\xbc\xac", "\xe4\x95\x9d", "\xe4\x95\xa1", + "\xf0\xa6\xbe\xb1", "\xf0\xa7\x83\x92", "\xe4\x95\xab", "\xe8\x99\x90", "\xe8\x99\x9c", "\xe8\x99\xa7", "\xe8\x99\xa9", "\xe8\x9a\xa9", + "\xe8\x9a\x88", "\xe8\x9c\x8e", "\xe8\x9b\xa2", "\xe8\x9d\xb9", "\xe8\x9c\xa8", "\xe8\x9d\xab", "\xe8\x9e\x86", "\xe4\x97\x97" +}; + +static const char *grn_nfkc121_decompose_table_f0afa7[] = { + "\xe8\x9f\xa1", "\xe8\xa0\x81", "\xe4\x97\xb9", "\xe8\xa1\xa0", "\xe8\xa1\xa3", "\xf0\xa7\x99\xa7", "\xe8\xa3\x97", "\xe8\xa3\x9e", + "\xe4\x98\xb5", "\xe8\xa3\xba", "\xe3\x92\xbb", "\xf0\xa7\xa2\xae", "\xf0\xa7\xa5\xa6", "\xe4\x9a\xbe", "\xe4\x9b\x87", "\xe8\xaa\xa0", + "\xe8\xab\xad", "\xe8\xae\x8a", "\xe8\xb1\x95", "\xf0\xa7\xb2\xa8", "\xe8\xb2\xab", "\xe8\xb3\x81", "\xe8\xb4\x9b", "\xe8\xb5\xb7", + "\xf0\xa7\xbc\xaf", "\xf0\xa0\xa0\x84", "\xe8\xb7\x8b", "\xe8\xb6\xbc", "\xe8\xb7\xb0", "\xf0\xa0\xa3\x9e", "\xe8\xbb\x94", "\xe8\xbc\xb8", + "\xf0\xa8\x97\x92", "\xf0\xa8\x97\xad", "\xe9\x82\x94", "\xe9\x83\xb1", "\xe9\x84\x91", "\xf0\xa8\x9c\xae", "\xe9\x84\x9b", "\xe9\x88\xb8", + "\xe9\x8b\x97", "\xe9\x8b\x98", "\xe9\x89\xbc", "\xe9\x8f\xb9", "\xe9\x90\x95", "\xf0\xa8\xaf\xba", "\xe9\x96\x8b", "\xe4\xa6\x95", + "\xe9\x96\xb7", "\xf0\xa8\xb5\xb7", "\xe4\xa7\xa6", "\xe9\x9b\x83", "\xe5\xb6\xb2", "\xe9\x9c\xa3", "\xf0\xa9\x85\x85", "\xf0\xa9\x88\x9a", + "\xe4\xa9\xae", "\xe4\xa9\xb6", "\xe9\x9f\xa0", "\xf0\xa9\x90\x8a", "\xe4\xaa\xb2", "\xf0\xa9\x92\x96", "\xe9\xa0\x8b", "\xe9\xa0\x8b" +}; + +static const char *grn_nfkc121_decompose_table_f0afa8[] = { + "\xe9\xa0\xa9", "\xf0\xa9\x96\xb6", "\xe9\xa3\xa2", "\xe4\xac\xb3", "\xe9\xa4\xa9", "\xe9\xa6\xa7", "\xe9\xa7\x82", "\xe9\xa7\xbe", + "\xe4\xaf\x8e", "\xf0\xa9\xac\xb0", "\xe9\xac\x92", "\xe9\xb1\x80", "\xe9\xb3\xbd", "\xe4\xb3\x8e", "\xe4\xb3\xad", "\xe9\xb5\xa7", + "\xf0\xaa\x83\x8e", "\xe4\xb3\xb8", "\xf0\xaa\x84\x85", "\xf0\xaa\x88\x8e", "\xf0\xaa\x8a\x91", "\xe9\xba\xbb", "\xe4\xb5\x96", "\xe9\xbb\xb9", + "\xe9\xbb\xbe", "\xe9\xbc\x85", "\xe9\xbc\x8f", "\xe9\xbc\x96", "\xe9\xbc\xbb", "\xf0\xaa\x98\x80" +}; + +const char * +grn_nfkc121_decompose(const unsigned char *utf8) +{ + if (utf8[0] < 0x80) { + if (utf8[0] >= 0x41 && + utf8[0] <= 0x5a) { + return grn_nfkc121_decompose_table_[utf8[0] - 0x41]; + } else { + return NULL; + } + } else { + switch (utf8[0]) { + case 0xc2 : + if (utf8[1] >= 0xa0 && + utf8[1] <= 0xbe) { + return grn_nfkc121_decompose_table_c2[utf8[1] - 0xa0]; + } + break; + case 0xc3 : + if (utf8[1] >= 0x80 && + utf8[1] <= 0x9e) { + return grn_nfkc121_decompose_table_c3[utf8[1] - 0x80]; + } + break; + case 0xc4 : + return grn_nfkc121_decompose_table_c4[utf8[1] - 0x80]; + case 0xc5 : + return grn_nfkc121_decompose_table_c5[utf8[1] - 0x80]; + case 0xc6 : + if (utf8[1] >= 0x81 && + utf8[1] <= 0xbc) { + return grn_nfkc121_decompose_table_c6[utf8[1] - 0x81]; + } + break; + case 0xc7 : + if (utf8[1] >= 0x84 && + utf8[1] <= 0xbe) { + return grn_nfkc121_decompose_table_c7[utf8[1] - 0x84]; + } + break; + case 0xc8 : + if (utf8[1] >= 0x80 && + utf8[1] <= 0xbe) { + return grn_nfkc121_decompose_table_c8[utf8[1] - 0x80]; + } + break; + case 0xc9 : + if (utf8[1] >= 0x81 && + utf8[1] <= 0x8e) { + return grn_nfkc121_decompose_table_c9[utf8[1] - 0x81]; + } + break; + case 0xca : + if (utf8[1] >= 0xb0 && + utf8[1] <= 0xb8) { + return grn_nfkc121_decompose_table_ca[utf8[1] - 0xb0]; + } + break; + case 0xcb : + if (utf8[1] >= 0x98 && + utf8[1] <= 0xa4) { + return grn_nfkc121_decompose_table_cb[utf8[1] - 0x98]; + } + break; + case 0xcd : + return grn_nfkc121_decompose_table_cd[utf8[1] - 0x80]; + case 0xce : + if (utf8[1] >= 0x84 && + utf8[1] <= 0xab) { + return grn_nfkc121_decompose_table_ce[utf8[1] - 0x84]; + } + break; + case 0xcf : + if (utf8[1] >= 0x8f && + utf8[1] <= 0xbf) { + return grn_nfkc121_decompose_table_cf[utf8[1] - 0x8f]; + } + break; + case 0xd0 : + if (utf8[1] >= 0x80 && + utf8[1] <= 0xaf) { + return grn_nfkc121_decompose_table_d0[utf8[1] - 0x80]; + } + break; + case 0xd1 : + if (utf8[1] >= 0xa0 && + utf8[1] <= 0xbe) { + return grn_nfkc121_decompose_table_d1[utf8[1] - 0xa0]; + } + break; + case 0xd2 : + if (utf8[1] >= 0x80 && + utf8[1] <= 0xbe) { + return grn_nfkc121_decompose_table_d2[utf8[1] - 0x80]; + } + break; + case 0xd3 : + if (utf8[1] >= 0x80 && + utf8[1] <= 0xbe) { + return grn_nfkc121_decompose_table_d3[utf8[1] - 0x80]; + } + break; + case 0xd4 : + return grn_nfkc121_decompose_table_d4[utf8[1] - 0x80]; + case 0xd5 : + if (utf8[1] >= 0x80 && + utf8[1] <= 0x96) { + return grn_nfkc121_decompose_table_d5[utf8[1] - 0x80]; + } + break; + case 0xd6 : + if (utf8[1] == 0x87) { + return "\xd5\xa5\xd6\x82"; + } + break; + case 0xd9 : + if (utf8[1] >= 0xb5 && + utf8[1] <= 0xb8) { + return grn_nfkc121_decompose_table_d9[utf8[1] - 0xb5]; + } + break; + case 0xe0 : + switch (utf8[1]) { + case 0xa5 : + if (utf8[2] >= 0x98 && + utf8[2] <= 0x9f) { + return grn_nfkc121_decompose_table_e0a5[utf8[2] - 0x98]; + } + break; + case 0xa7 : + if (utf8[2] >= 0x9c && + utf8[2] <= 0x9f) { + return grn_nfkc121_decompose_table_e0a7[utf8[2] - 0x9c]; + } + break; + case 0xa8 : + if (utf8[2] >= 0xb3 && + utf8[2] <= 0xb6) { + return grn_nfkc121_decompose_table_e0a8[utf8[2] - 0xb3]; + } + break; + case 0xa9 : + if (utf8[2] >= 0x99 && + utf8[2] <= 0x9e) { + return grn_nfkc121_decompose_table_e0a9[utf8[2] - 0x99]; + } + break; + case 0xad : + if (utf8[2] >= 0x9c && + utf8[2] <= 0x9d) { + return grn_nfkc121_decompose_table_e0ad[utf8[2] - 0x9c]; + } + break; + case 0xb8 : + if (utf8[2] == 0xb3) { + return "\xe0\xb9\x8d\xe0\xb8\xb2"; + } + break; + case 0xba : + if (utf8[2] == 0xb3) { + return "\xe0\xbb\x8d\xe0\xba\xb2"; + } + break; + case 0xbb : + if (utf8[2] >= 0x9c && + utf8[2] <= 0x9d) { + return grn_nfkc121_decompose_table_e0bb[utf8[2] - 0x9c]; + } + break; + case 0xbc : + if (utf8[2] == 0x8c) { + return "\xe0\xbc\x8b"; + } + break; + case 0xbd : + if (utf8[2] >= 0x83 && + utf8[2] <= 0xb9) { + return grn_nfkc121_decompose_table_e0bd[utf8[2] - 0x83]; + } + break; + case 0xbe : + if (utf8[2] >= 0x81 && + utf8[2] <= 0xb9) { + return grn_nfkc121_decompose_table_e0be[utf8[2] - 0x81]; + } + break; + default : + break; + } + break; + case 0xe1 : + switch (utf8[1]) { + case 0x82 : + if (utf8[2] >= 0xa0 && + utf8[2] <= 0xbf) { + return grn_nfkc121_decompose_table_e182[utf8[2] - 0xa0]; + } + break; + case 0x83 : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xbc) { + return grn_nfkc121_decompose_table_e183[utf8[2] - 0x80]; + } + break; + case 0x8e : + if (utf8[2] >= 0xa0 && + utf8[2] <= 0xbf) { + return grn_nfkc121_decompose_table_e18e[utf8[2] - 0xa0]; + } + break; + case 0x8f : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xb5) { + return grn_nfkc121_decompose_table_e18f[utf8[2] - 0x80]; + } + break; + case 0xb4 : + if (utf8[2] >= 0xac && + utf8[2] <= 0xbf) { + return grn_nfkc121_decompose_table_e1b4[utf8[2] - 0xac]; + } + break; + case 0xb5 : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xb8) { + return grn_nfkc121_decompose_table_e1b5[utf8[2] - 0x80]; + } + break; + case 0xb6 : + if (utf8[2] >= 0x9b && + utf8[2] <= 0xbf) { + return grn_nfkc121_decompose_table_e1b6[utf8[2] - 0x9b]; + } + break; + case 0xb8 : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xbe) { + return grn_nfkc121_decompose_table_e1b8[utf8[2] - 0x80]; + } + break; + case 0xb9 : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xbe) { + return grn_nfkc121_decompose_table_e1b9[utf8[2] - 0x80]; + } + break; + case 0xba : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xbe) { + return grn_nfkc121_decompose_table_e1ba[utf8[2] - 0x80]; + } + break; + case 0xbb : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xbe) { + return grn_nfkc121_decompose_table_e1bb[utf8[2] - 0x80]; + } + break; + case 0xbc : + if (utf8[2] >= 0x88 && + utf8[2] <= 0xbf) { + return grn_nfkc121_decompose_table_e1bc[utf8[2] - 0x88]; + } + break; + case 0xbd : + if (utf8[2] >= 0x88 && + utf8[2] <= 0xbd) { + return grn_nfkc121_decompose_table_e1bd[utf8[2] - 0x88]; + } + break; + case 0xbe : + if (utf8[2] >= 0x88 && + utf8[2] <= 0xbf) { + return grn_nfkc121_decompose_table_e1be[utf8[2] - 0x88]; + } + break; + case 0xbf : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xbe) { + return grn_nfkc121_decompose_table_e1bf[utf8[2] - 0x80]; + } + break; + default : + break; + } + break; + case 0xe2 : + switch (utf8[1]) { + case 0x80 : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xbe) { + return grn_nfkc121_decompose_table_e280[utf8[2] - 0x80]; + } + break; + case 0x81 : + if (utf8[2] >= 0x87 && + utf8[2] <= 0xbf) { + return grn_nfkc121_decompose_table_e281[utf8[2] - 0x87]; + } + break; + case 0x82 : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xa8) { + return grn_nfkc121_decompose_table_e282[utf8[2] - 0x80]; + } + break; + case 0x84 : + return grn_nfkc121_decompose_table_e284[utf8[2] - 0x80]; + case 0x85 : + return grn_nfkc121_decompose_table_e285[utf8[2] - 0x80]; + case 0x86 : + if (utf8[2] >= 0x83 && + utf8[2] <= 0x89) { + return grn_nfkc121_decompose_table_e286[utf8[2] - 0x83]; + } + break; + case 0x88 : + if (utf8[2] >= 0xac && + utf8[2] <= 0xb0) { + return grn_nfkc121_decompose_table_e288[utf8[2] - 0xac]; + } + break; + case 0x8c : + if (utf8[2] >= 0xa9 && + utf8[2] <= 0xaa) { + return grn_nfkc121_decompose_table_e28c[utf8[2] - 0xa9]; + } + break; + case 0x91 : + if (utf8[2] >= 0xa0 && + utf8[2] <= 0xbf) { + return grn_nfkc121_decompose_table_e291[utf8[2] - 0xa0]; + } + break; + case 0x92 : + return grn_nfkc121_decompose_table_e292[utf8[2] - 0x80]; + case 0x93 : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xaa) { + return grn_nfkc121_decompose_table_e293[utf8[2] - 0x80]; + } + break; + case 0xa8 : + if (utf8[2] == 0x8c) { + return "\xe2\x88\xab\xe2\x88\xab\xe2\x88\xab\xe2\x88\xab"; + } + break; + case 0xa9 : + if (utf8[2] >= 0xb4 && + utf8[2] <= 0xb6) { + return grn_nfkc121_decompose_table_e2a9[utf8[2] - 0xb4]; + } + break; + case 0xab : + if (utf8[2] == 0x9c) { + return "\xe2\xab\x9d\xcc\xb8"; + } + break; + case 0xb0 : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xae) { + return grn_nfkc121_decompose_table_e2b0[utf8[2] - 0x80]; + } + break; + case 0xb1 : + if (utf8[2] >= 0xa0 && + utf8[2] <= 0xbf) { + return grn_nfkc121_decompose_table_e2b1[utf8[2] - 0xa0]; + } + break; + case 0xb2 : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xbe) { + return grn_nfkc121_decompose_table_e2b2[utf8[2] - 0x80]; + } + break; + case 0xb3 : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xb2) { + return grn_nfkc121_decompose_table_e2b3[utf8[2] - 0x80]; + } + break; + case 0xb5 : + if (utf8[2] == 0xaf) { + return "\xe2\xb5\xa1"; + } + break; + case 0xba : + if (utf8[2] == 0x9f) { + return "\xe6\xaf\x8d"; + } + break; + case 0xbb : + if (utf8[2] == 0xb3) { + return "\xe9\xbe\x9f"; + } + break; + case 0xbc : + return grn_nfkc121_decompose_table_e2bc[utf8[2] - 0x80]; + case 0xbd : + return grn_nfkc121_decompose_table_e2bd[utf8[2] - 0x80]; + case 0xbe : + return grn_nfkc121_decompose_table_e2be[utf8[2] - 0x80]; + case 0xbf : + if (utf8[2] >= 0x80 && + utf8[2] <= 0x95) { + return grn_nfkc121_decompose_table_e2bf[utf8[2] - 0x80]; + } + break; + default : + break; + } + break; + case 0xe3 : + switch (utf8[1]) { + case 0x80 : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xba) { + return grn_nfkc121_decompose_table_e380[utf8[2] - 0x80]; + } + break; + case 0x82 : + if (utf8[2] >= 0x9b && + utf8[2] <= 0x9f) { + return grn_nfkc121_decompose_table_e382[utf8[2] - 0x9b]; + } + break; + case 0x83 : + if (utf8[2] == 0xbf) { + return "\xe3\x82\xb3\xe3\x83\x88"; + } + break; + case 0x84 : + if (utf8[2] >= 0xb1 && + utf8[2] <= 0xbf) { + return grn_nfkc121_decompose_table_e384[utf8[2] - 0xb1]; + } + break; + case 0x85 : + return grn_nfkc121_decompose_table_e385[utf8[2] - 0x80]; + case 0x86 : + if (utf8[2] >= 0x80 && + utf8[2] <= 0x9f) { + return grn_nfkc121_decompose_table_e386[utf8[2] - 0x80]; + } + break; + case 0x88 : + return grn_nfkc121_decompose_table_e388[utf8[2] - 0x80]; + case 0x89 : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xbe) { + return grn_nfkc121_decompose_table_e389[utf8[2] - 0x80]; + } + break; + case 0x8a : + return grn_nfkc121_decompose_table_e38a[utf8[2] - 0x80]; + case 0x8b : + return grn_nfkc121_decompose_table_e38b[utf8[2] - 0x80]; + case 0x8c : + return grn_nfkc121_decompose_table_e38c[utf8[2] - 0x80]; + case 0x8d : + return grn_nfkc121_decompose_table_e38d[utf8[2] - 0x80]; + case 0x8e : + return grn_nfkc121_decompose_table_e38e[utf8[2] - 0x80]; + case 0x8f : + return grn_nfkc121_decompose_table_e38f[utf8[2] - 0x80]; + default : + break; + } + break; + case 0xea : + switch (utf8[1]) { + case 0x99 : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xac) { + return grn_nfkc121_decompose_table_ea99[utf8[2] - 0x80]; + } + break; + case 0x9a : + if (utf8[2] >= 0x80 && + utf8[2] <= 0x9d) { + return grn_nfkc121_decompose_table_ea9a[utf8[2] - 0x80]; + } + break; + case 0x9c : + if (utf8[2] >= 0xa2 && + utf8[2] <= 0xbe) { + return grn_nfkc121_decompose_table_ea9c[utf8[2] - 0xa2]; + } + break; + case 0x9d : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xbe) { + return grn_nfkc121_decompose_table_ea9d[utf8[2] - 0x80]; + } + break; + case 0x9e : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xb6) { + return grn_nfkc121_decompose_table_ea9e[utf8[2] - 0x80]; + } + break; + case 0x9f : + if (utf8[2] >= 0xb8 && + utf8[2] <= 0xb9) { + return grn_nfkc121_decompose_table_ea9f[utf8[2] - 0xb8]; + } + break; + case 0xad : + if (utf8[2] >= 0x9c && + utf8[2] <= 0x9f) { + return grn_nfkc121_decompose_table_eaad[utf8[2] - 0x9c]; + } + break; + default : + break; + } + break; + case 0xef : + switch (utf8[1]) { + case 0xa4 : + return grn_nfkc121_decompose_table_efa4[utf8[2] - 0x80]; + case 0xa5 : + return grn_nfkc121_decompose_table_efa5[utf8[2] - 0x80]; + case 0xa6 : + return grn_nfkc121_decompose_table_efa6[utf8[2] - 0x80]; + case 0xa7 : + return grn_nfkc121_decompose_table_efa7[utf8[2] - 0x80]; + case 0xa8 : + return grn_nfkc121_decompose_table_efa8[utf8[2] - 0x80]; + case 0xa9 : + return grn_nfkc121_decompose_table_efa9[utf8[2] - 0x80]; + case 0xaa : + return grn_nfkc121_decompose_table_efaa[utf8[2] - 0x80]; + case 0xab : + if (utf8[2] >= 0x80 && + utf8[2] <= 0x99) { + return grn_nfkc121_decompose_table_efab[utf8[2] - 0x80]; + } + break; + case 0xac : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xbe) { + return grn_nfkc121_decompose_table_efac[utf8[2] - 0x80]; + } + break; + case 0xad : + return grn_nfkc121_decompose_table_efad[utf8[2] - 0x80]; + case 0xae : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xb1) { + return grn_nfkc121_decompose_table_efae[utf8[2] - 0x80]; + } + break; + case 0xaf : + if (utf8[2] >= 0x93 && + utf8[2] <= 0xbf) { + return grn_nfkc121_decompose_table_efaf[utf8[2] - 0x93]; + } + break; + case 0xb0 : + return grn_nfkc121_decompose_table_efb0[utf8[2] - 0x80]; + case 0xb1 : + return grn_nfkc121_decompose_table_efb1[utf8[2] - 0x80]; + case 0xb2 : + return grn_nfkc121_decompose_table_efb2[utf8[2] - 0x80]; + case 0xb3 : + return grn_nfkc121_decompose_table_efb3[utf8[2] - 0x80]; + case 0xb4 : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xbd) { + return grn_nfkc121_decompose_table_efb4[utf8[2] - 0x80]; + } + break; + case 0xb5 : + if (utf8[2] >= 0x90 && + utf8[2] <= 0xbf) { + return grn_nfkc121_decompose_table_efb5[utf8[2] - 0x90]; + } + break; + case 0xb6 : + return grn_nfkc121_decompose_table_efb6[utf8[2] - 0x80]; + case 0xb7 : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xbc) { + return grn_nfkc121_decompose_table_efb7[utf8[2] - 0x80]; + } + break; + case 0xb8 : + if (utf8[2] >= 0x90 && + utf8[2] <= 0xbf) { + return grn_nfkc121_decompose_table_efb8[utf8[2] - 0x90]; + } + break; + case 0xb9 : + return grn_nfkc121_decompose_table_efb9[utf8[2] - 0x80]; + case 0xba : + return grn_nfkc121_decompose_table_efba[utf8[2] - 0x80]; + case 0xbb : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xbc) { + return grn_nfkc121_decompose_table_efbb[utf8[2] - 0x80]; + } + break; + case 0xbc : + if (utf8[2] >= 0x81 && + utf8[2] <= 0xbf) { + return grn_nfkc121_decompose_table_efbc[utf8[2] - 0x81]; + } + break; + case 0xbd : + return grn_nfkc121_decompose_table_efbd[utf8[2] - 0x80]; + case 0xbe : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xbe) { + return grn_nfkc121_decompose_table_efbe[utf8[2] - 0x80]; + } + break; + case 0xbf : + if (utf8[2] >= 0x82 && + utf8[2] <= 0xae) { + return grn_nfkc121_decompose_table_efbf[utf8[2] - 0x82]; + } + break; + default : + break; + } + break; + case 0xf0 : + switch (utf8[1]) { + case 0x90 : + switch (utf8[2]) { + case 0x90 : + if (utf8[3] >= 0x80 && + utf8[3] <= 0xa7) { + return grn_nfkc121_decompose_table_f09090[utf8[3] - 0x80]; + } + break; + case 0x92 : + if (utf8[3] >= 0xb0 && + utf8[3] <= 0xbf) { + return grn_nfkc121_decompose_table_f09092[utf8[3] - 0xb0]; + } + break; + case 0x93 : + if (utf8[3] >= 0x80 && + utf8[3] <= 0x93) { + return grn_nfkc121_decompose_table_f09093[utf8[3] - 0x80]; + } + break; + case 0xb2 : + if (utf8[3] >= 0x80 && + utf8[3] <= 0xb2) { + return grn_nfkc121_decompose_table_f090b2[utf8[3] - 0x80]; + } + break; + default : + break; + } + break; + case 0x91 : + switch (utf8[2]) { + case 0xa2 : + if (utf8[3] >= 0xa0 && + utf8[3] <= 0xbf) { + return grn_nfkc121_decompose_table_f091a2[utf8[3] - 0xa0]; + } + break; + default : + break; + } + break; + case 0x9d : + switch (utf8[2]) { + case 0x85 : + if (utf8[3] >= 0x9e && + utf8[3] <= 0xa4) { + return grn_nfkc121_decompose_table_f09d85[utf8[3] - 0x9e]; + } + break; + case 0x86 : + if (utf8[3] >= 0xbb && + utf8[3] <= 0xbf) { + return grn_nfkc121_decompose_table_f09d86[utf8[3] - 0xbb]; + } + break; + case 0x87 : + if (utf8[3] == 0x80) { + return "\xf0\x9d\x86\xba\xf0\x9d\x85\xa5\xf0\x9d\x85\xaf"; + } + break; + case 0x90 : + return grn_nfkc121_decompose_table_f09d90[utf8[3] - 0x80]; + case 0x91 : + return grn_nfkc121_decompose_table_f09d91[utf8[3] - 0x80]; + case 0x92 : + return grn_nfkc121_decompose_table_f09d92[utf8[3] - 0x80]; + case 0x93 : + return grn_nfkc121_decompose_table_f09d93[utf8[3] - 0x80]; + case 0x94 : + if (utf8[3] >= 0x80 && + utf8[3] <= 0xbe) { + return grn_nfkc121_decompose_table_f09d94[utf8[3] - 0x80]; + } + break; + case 0x95 : + return grn_nfkc121_decompose_table_f09d95[utf8[3] - 0x80]; + case 0x96 : + return grn_nfkc121_decompose_table_f09d96[utf8[3] - 0x80]; + case 0x97 : + return grn_nfkc121_decompose_table_f09d97[utf8[3] - 0x80]; + case 0x98 : + return grn_nfkc121_decompose_table_f09d98[utf8[3] - 0x80]; + case 0x99 : + return grn_nfkc121_decompose_table_f09d99[utf8[3] - 0x80]; + case 0x9a : + return grn_nfkc121_decompose_table_f09d9a[utf8[3] - 0x80]; + case 0x9b : + return grn_nfkc121_decompose_table_f09d9b[utf8[3] - 0x80]; + case 0x9c : + return grn_nfkc121_decompose_table_f09d9c[utf8[3] - 0x80]; + case 0x9d : + return grn_nfkc121_decompose_table_f09d9d[utf8[3] - 0x80]; + case 0x9e : + return grn_nfkc121_decompose_table_f09d9e[utf8[3] - 0x80]; + case 0x9f : + return grn_nfkc121_decompose_table_f09d9f[utf8[3] - 0x80]; + default : + break; + } + break; + case 0x9e : + switch (utf8[2]) { + case 0xa4 : + if (utf8[3] >= 0x80 && + utf8[3] <= 0xa1) { + return grn_nfkc121_decompose_table_f09ea4[utf8[3] - 0x80]; + } + break; + case 0xb8 : + if (utf8[3] >= 0x80 && + utf8[3] <= 0xbb) { + return grn_nfkc121_decompose_table_f09eb8[utf8[3] - 0x80]; + } + break; + case 0xb9 : + if (utf8[3] >= 0x82 && + utf8[3] <= 0xbe) { + return grn_nfkc121_decompose_table_f09eb9[utf8[3] - 0x82]; + } + break; + case 0xba : + if (utf8[3] >= 0x80 && + utf8[3] <= 0xbb) { + return grn_nfkc121_decompose_table_f09eba[utf8[3] - 0x80]; + } + break; + default : + break; + } + break; + case 0x9f : + switch (utf8[2]) { + case 0x84 : + return grn_nfkc121_decompose_table_f09f84[utf8[3] - 0x80]; + case 0x85 : + if (utf8[3] >= 0x80 && + utf8[3] <= 0xac) { + return grn_nfkc121_decompose_table_f09f85[utf8[3] - 0x80]; + } + break; + case 0x86 : + if (utf8[3] == 0x90) { + return "\x64\x6a"; + } + break; + case 0x88 : + if (utf8[3] >= 0x80 && + utf8[3] <= 0xbb) { + return grn_nfkc121_decompose_table_f09f88[utf8[3] - 0x80]; + } + break; + case 0x89 : + if (utf8[3] >= 0x80 && + utf8[3] <= 0x91) { + return grn_nfkc121_decompose_table_f09f89[utf8[3] - 0x80]; + } + break; + default : + break; + } + break; + case 0xaf : + switch (utf8[2]) { + case 0xa0 : + return grn_nfkc121_decompose_table_f0afa0[utf8[3] - 0x80]; + case 0xa1 : + return grn_nfkc121_decompose_table_f0afa1[utf8[3] - 0x80]; + case 0xa2 : + return grn_nfkc121_decompose_table_f0afa2[utf8[3] - 0x80]; + case 0xa3 : + return grn_nfkc121_decompose_table_f0afa3[utf8[3] - 0x80]; + case 0xa4 : + return grn_nfkc121_decompose_table_f0afa4[utf8[3] - 0x80]; + case 0xa5 : + return grn_nfkc121_decompose_table_f0afa5[utf8[3] - 0x80]; + case 0xa6 : + return grn_nfkc121_decompose_table_f0afa6[utf8[3] - 0x80]; + case 0xa7 : + return grn_nfkc121_decompose_table_f0afa7[utf8[3] - 0x80]; + case 0xa8 : + if (utf8[3] >= 0x80 && + utf8[3] <= 0x9d) { + return grn_nfkc121_decompose_table_f0afa8[utf8[3] - 0x80]; + } + break; + default : + break; + } + break; + default : + break; + } + break; + default : + break; + } + } + + return NULL; +} + +static const char *grn_nfkc121_compose_prefix_cc80_table_[] = { + "\xc3\xa0", NULL, NULL, NULL, "\xc3\xa8", NULL, NULL, NULL, + "\xc3\xac", NULL, NULL, NULL, NULL, "\xc7\xb9", "\xc3\xb2", NULL, + NULL, NULL, NULL, NULL, "\xc3\xb9", NULL, "\xe1\xba\x81", NULL, + "\xe1\xbb\xb3" +}; + +static const char *grn_nfkc121_compose_prefix_cc80_table_c3[] = { + "\xe1\xba\xa7", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xe1\xbb\x81", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, "\xe1\xbb\x93", NULL, NULL, NULL, NULL, NULL, + NULL, NULL, "\xc7\x9c" +}; + +static const char *grn_nfkc121_compose_prefix_cc80_table_c4[] = { + "\xe1\xba\xb1", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xe1\xb8\x95" +}; + +static const char *grn_nfkc121_compose_prefix_cc80_table_c6[] = { + "\xe1\xbb\x9d", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, "\xe1\xbb\xab" +}; + +static const char *grn_nfkc121_compose_prefix_cc80_table_ce[] = { + "\xe1\xbd\xb0", NULL, NULL, NULL, "\xe1\xbd\xb2", NULL, "\xe1\xbd\xb4", NULL, + "\xe1\xbd\xb6", NULL, NULL, NULL, NULL, NULL, "\xe1\xbd\xb8" +}; + +static const char *grn_nfkc121_compose_prefix_cc80_table_cf[] = { + "\xe1\xbd\xba", NULL, NULL, NULL, "\xe1\xbd\xbc", "\xe1\xbf\x92", "\xe1\xbf\xa2" +}; + +static const char *grn_nfkc121_compose_prefix_cc80_table_d0[] = { + "\xd1\x90", NULL, NULL, "\xd1\x9d" +}; + +static const char *grn_nfkc121_compose_prefix_cc80_table_e1bc[] = { + "\xe1\xbc\x82", "\xe1\xbc\x83", NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xe1\xbc\x92", "\xe1\xbc\x93", NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xe1\xbc\xa2", "\xe1\xbc\xa3", NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xe1\xbc\xb2", "\xe1\xbc\xb3" +}; + +static const char *grn_nfkc121_compose_prefix_cc80_table_e1bd[] = { + "\xe1\xbd\x82", "\xe1\xbd\x83", NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xe1\xbd\x92", "\xe1\xbd\x93", NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xe1\xbd\xa2", "\xe1\xbd\xa3" +}; + +static grn_inline const char * +grn_nfkc121_compose_prefix_cc80(const unsigned char *utf8) +{ + if (utf8[0] < 0x80) { + if (utf8[0] >= 0x61 && + utf8[0] <= 0x79) { + return grn_nfkc121_compose_prefix_cc80_table_[utf8[0] - 0x61]; + } else { + return NULL; + } + } else { + switch (utf8[0]) { + case 0xc3 : + if (utf8[1] >= 0xa2 && + utf8[1] <= 0xbc) { + return grn_nfkc121_compose_prefix_cc80_table_c3[utf8[1] - 0xa2]; + } + break; + case 0xc4 : + if (utf8[1] >= 0x83 && + utf8[1] <= 0x93) { + return grn_nfkc121_compose_prefix_cc80_table_c4[utf8[1] - 0x83]; + } + break; + case 0xc5 : + if (utf8[1] == 0x8d) { + return "\xe1\xb9\x91"; + } + break; + case 0xc6 : + if (utf8[1] >= 0xa1 && + utf8[1] <= 0xb0) { + return grn_nfkc121_compose_prefix_cc80_table_c6[utf8[1] - 0xa1]; + } + break; + case 0xce : + if (utf8[1] >= 0xb1 && + utf8[1] <= 0xbf) { + return grn_nfkc121_compose_prefix_cc80_table_ce[utf8[1] - 0xb1]; + } + break; + case 0xcf : + if (utf8[1] >= 0x85 && + utf8[1] <= 0x8b) { + return grn_nfkc121_compose_prefix_cc80_table_cf[utf8[1] - 0x85]; + } + break; + case 0xd0 : + if (utf8[1] >= 0xb5 && + utf8[1] <= 0xb8) { + return grn_nfkc121_compose_prefix_cc80_table_d0[utf8[1] - 0xb5]; + } + break; + case 0xe1 : + switch (utf8[1]) { + case 0xbc : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xb1) { + return grn_nfkc121_compose_prefix_cc80_table_e1bc[utf8[2] - 0x80]; + } + break; + case 0xbd : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xa1) { + return grn_nfkc121_compose_prefix_cc80_table_e1bd[utf8[2] - 0x80]; + } + break; + default : + break; + } + break; + default : + break; + } + } + + return NULL; +} + +static const char *grn_nfkc121_compose_prefix_cc81_table_[] = { + "\xc3\xa1", NULL, "\xc4\x87", NULL, "\xc3\xa9", NULL, "\xc7\xb5", NULL, + "\xc3\xad", NULL, "\xe1\xb8\xb1", "\xc4\xba", "\xe1\xb8\xbf", "\xc5\x84", "\xc3\xb3", "\xe1\xb9\x95", + NULL, "\xc5\x95", "\xc5\x9b", NULL, "\xc3\xba", NULL, "\xe1\xba\x83", NULL, + "\xc3\xbd", "\xc5\xba" +}; + +static const char *grn_nfkc121_compose_prefix_cc81_table_c3[] = { + "\xe1\xba\xa5", NULL, NULL, "\xc7\xbb", "\xc7\xbd", "\xe1\xb8\x89", NULL, NULL, + "\xe1\xba\xbf", NULL, NULL, NULL, NULL, "\xe1\xb8\xaf", NULL, NULL, + NULL, NULL, "\xe1\xbb\x91", "\xe1\xb9\x8d", NULL, NULL, "\xc7\xbf", NULL, + NULL, NULL, "\xc7\x98" +}; + +static const char *grn_nfkc121_compose_prefix_cc81_table_c4[] = { + "\xe1\xba\xaf", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xe1\xb8\x97" +}; + +static const char *grn_nfkc121_compose_prefix_cc81_table_c5[] = { + "\xe1\xb9\x93", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xe1\xb9\xb9" +}; + +static const char *grn_nfkc121_compose_prefix_cc81_table_c6[] = { + "\xe1\xbb\x9b", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, "\xe1\xbb\xa9" +}; + +static const char *grn_nfkc121_compose_prefix_cc81_table_ce[] = { + "\xce\xac", NULL, NULL, NULL, "\xce\xad", NULL, "\xce\xae", NULL, + "\xce\xaf", NULL, NULL, NULL, NULL, NULL, "\xcf\x8c" +}; + +static const char *grn_nfkc121_compose_prefix_cc81_table_cf[] = { + "\xcf\x8d", NULL, NULL, NULL, "\xcf\x8e", "\xce\x90", "\xce\xb0" +}; + +static const char *grn_nfkc121_compose_prefix_cc81_table_d0[] = { + "\xd1\x93", NULL, NULL, NULL, NULL, NULL, NULL, "\xd1\x9c" +}; + +static const char *grn_nfkc121_compose_prefix_cc81_table_e1bc[] = { + "\xe1\xbc\x84", "\xe1\xbc\x85", NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xe1\xbc\x94", "\xe1\xbc\x95", NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xe1\xbc\xa4", "\xe1\xbc\xa5", NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xe1\xbc\xb4", "\xe1\xbc\xb5" +}; + +static const char *grn_nfkc121_compose_prefix_cc81_table_e1bd[] = { + "\xe1\xbd\x84", "\xe1\xbd\x85", NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xe1\xbd\x94", "\xe1\xbd\x95", NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xe1\xbd\xa4", "\xe1\xbd\xa5" +}; + +static grn_inline const char * +grn_nfkc121_compose_prefix_cc81(const unsigned char *utf8) +{ + if (utf8[0] < 0x80) { + if (utf8[0] >= 0x61 && + utf8[0] <= 0x7a) { + return grn_nfkc121_compose_prefix_cc81_table_[utf8[0] - 0x61]; + } else { + return NULL; + } + } else { + switch (utf8[0]) { + case 0xc3 : + if (utf8[1] >= 0xa2 && + utf8[1] <= 0xbc) { + return grn_nfkc121_compose_prefix_cc81_table_c3[utf8[1] - 0xa2]; + } + break; + case 0xc4 : + if (utf8[1] >= 0x83 && + utf8[1] <= 0x93) { + return grn_nfkc121_compose_prefix_cc81_table_c4[utf8[1] - 0x83]; + } + break; + case 0xc5 : + if (utf8[1] >= 0x8d && + utf8[1] <= 0xa9) { + return grn_nfkc121_compose_prefix_cc81_table_c5[utf8[1] - 0x8d]; + } + break; + case 0xc6 : + if (utf8[1] >= 0xa1 && + utf8[1] <= 0xb0) { + return grn_nfkc121_compose_prefix_cc81_table_c6[utf8[1] - 0xa1]; + } + break; + case 0xce : + if (utf8[1] >= 0xb1 && + utf8[1] <= 0xbf) { + return grn_nfkc121_compose_prefix_cc81_table_ce[utf8[1] - 0xb1]; + } + break; + case 0xcf : + if (utf8[1] >= 0x85 && + utf8[1] <= 0x8b) { + return grn_nfkc121_compose_prefix_cc81_table_cf[utf8[1] - 0x85]; + } + break; + case 0xd0 : + if (utf8[1] >= 0xb3 && + utf8[1] <= 0xba) { + return grn_nfkc121_compose_prefix_cc81_table_d0[utf8[1] - 0xb3]; + } + break; + case 0xe1 : + switch (utf8[1]) { + case 0xbc : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xb1) { + return grn_nfkc121_compose_prefix_cc81_table_e1bc[utf8[2] - 0x80]; + } + break; + case 0xbd : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xa1) { + return grn_nfkc121_compose_prefix_cc81_table_e1bd[utf8[2] - 0x80]; + } + break; + default : + break; + } + break; + default : + break; + } + } + + return NULL; +} + +static const char *grn_nfkc121_compose_prefix_cc82_table_[] = { + "\xc3\xa2", NULL, "\xc4\x89", NULL, "\xc3\xaa", NULL, "\xc4\x9d", "\xc4\xa5", + "\xc3\xae", "\xc4\xb5", NULL, NULL, NULL, NULL, "\xc3\xb4", NULL, + NULL, NULL, "\xc5\x9d", NULL, "\xc3\xbb", NULL, "\xc5\xb5", NULL, + "\xc5\xb7", "\xe1\xba\x91" +}; + +static const char *grn_nfkc121_compose_prefix_cc82_table_e1ba[] = { + "\xe1\xba\xad", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xe1\xbb\x87" +}; + +static grn_inline const char * +grn_nfkc121_compose_prefix_cc82(const unsigned char *utf8) +{ + if (utf8[0] < 0x80) { + if (utf8[0] >= 0x61 && + utf8[0] <= 0x7a) { + return grn_nfkc121_compose_prefix_cc82_table_[utf8[0] - 0x61]; + } else { + return NULL; + } + } else { + switch (utf8[0]) { + case 0xe1 : + switch (utf8[1]) { + case 0xba : + if (utf8[2] >= 0xa1 && + utf8[2] <= 0xb9) { + return grn_nfkc121_compose_prefix_cc82_table_e1ba[utf8[2] - 0xa1]; + } + break; + case 0xbb : + if (utf8[2] == 0x8d) { + return "\xe1\xbb\x99"; + } + break; + default : + break; + } + break; + default : + break; + } + } + + return NULL; +} + +static const char *grn_nfkc121_compose_prefix_cc83_table_[] = { + "\xc3\xa3", NULL, NULL, NULL, "\xe1\xba\xbd", NULL, NULL, NULL, + "\xc4\xa9", NULL, NULL, NULL, NULL, "\xc3\xb1", "\xc3\xb5", NULL, + NULL, NULL, NULL, NULL, "\xc5\xa9", "\xe1\xb9\xbd", NULL, NULL, + "\xe1\xbb\xb9" +}; + +static const char *grn_nfkc121_compose_prefix_cc83_table_c3[] = { + "\xe1\xba\xab", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xe1\xbb\x85", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, "\xe1\xbb\x97" +}; + +static const char *grn_nfkc121_compose_prefix_cc83_table_c6[] = { + "\xe1\xbb\xa1", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, "\xe1\xbb\xaf" +}; + +static grn_inline const char * +grn_nfkc121_compose_prefix_cc83(const unsigned char *utf8) +{ + if (utf8[0] < 0x80) { + if (utf8[0] >= 0x61 && + utf8[0] <= 0x79) { + return grn_nfkc121_compose_prefix_cc83_table_[utf8[0] - 0x61]; + } else { + return NULL; + } + } else { + switch (utf8[0]) { + case 0xc3 : + if (utf8[1] >= 0xa2 && + utf8[1] <= 0xb4) { + return grn_nfkc121_compose_prefix_cc83_table_c3[utf8[1] - 0xa2]; + } + break; + case 0xc4 : + if (utf8[1] == 0x83) { + return "\xe1\xba\xb5"; + } + break; + case 0xc6 : + if (utf8[1] >= 0xa1 && + utf8[1] <= 0xb0) { + return grn_nfkc121_compose_prefix_cc83_table_c6[utf8[1] - 0xa1]; + } + break; + default : + break; + } + } + + return NULL; +} + +static const char *grn_nfkc121_compose_prefix_cc88_table_[] = { + "\xc3\xa4", NULL, NULL, NULL, "\xc3\xab", NULL, NULL, "\xe1\xb8\xa7", + "\xc3\xaf", NULL, NULL, NULL, NULL, NULL, "\xc3\xb6", NULL, + NULL, NULL, NULL, "\xe1\xba\x97", "\xc3\xbc", NULL, "\xe1\xba\x85", "\xe1\xba\x8d", + "\xc3\xbf" +}; + +static const char *grn_nfkc121_compose_prefix_cc88_table_d0[] = { + "\xd3\x93", NULL, NULL, NULL, NULL, "\xd1\x91", "\xd3\x9d", "\xd3\x9f", + "\xd3\xa5", NULL, NULL, NULL, NULL, NULL, "\xd3\xa7" +}; + +static const char *grn_nfkc121_compose_prefix_cc88_table_d1[] = { + "\xd3\xb1", NULL, NULL, NULL, "\xd3\xb5", NULL, NULL, NULL, + "\xd3\xb9", NULL, "\xd3\xad", NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, "\xd1\x97" +}; + +static const char *grn_nfkc121_compose_prefix_cc88_table_d3[] = { + "\xd3\x9b", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xd3\xab" +}; + +static grn_inline const char * +grn_nfkc121_compose_prefix_cc88(const unsigned char *utf8) +{ + if (utf8[0] < 0x80) { + if (utf8[0] >= 0x61 && + utf8[0] <= 0x79) { + return grn_nfkc121_compose_prefix_cc88_table_[utf8[0] - 0x61]; + } else { + return NULL; + } + } else { + switch (utf8[0]) { + case 0xc3 : + if (utf8[1] == 0xb5) { + return "\xe1\xb9\x8f"; + } + break; + case 0xc5 : + if (utf8[1] == 0xab) { + return "\xe1\xb9\xbb"; + } + break; + case 0xce : + if (utf8[1] == 0xb9) { + return "\xcf\x8a"; + } + break; + case 0xcf : + if (utf8[1] == 0x85) { + return "\xcf\x8b"; + } + break; + case 0xd0 : + if (utf8[1] >= 0xb0 && + utf8[1] <= 0xbe) { + return grn_nfkc121_compose_prefix_cc88_table_d0[utf8[1] - 0xb0]; + } + break; + case 0xd1 : + if (utf8[1] >= 0x83 && + utf8[1] <= 0x96) { + return grn_nfkc121_compose_prefix_cc88_table_d1[utf8[1] - 0x83]; + } + break; + case 0xd3 : + if (utf8[1] >= 0x99 && + utf8[1] <= 0xa9) { + return grn_nfkc121_compose_prefix_cc88_table_d3[utf8[1] - 0x99]; + } + break; + default : + break; + } + } + + return NULL; +} + +static const char *grn_nfkc121_compose_prefix_cc8a_table_[] = { + "\xc3\xa5", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xc5\xaf", NULL, "\xe1\xba\x98", NULL, + "\xe1\xba\x99" +}; + +static grn_inline const char * +grn_nfkc121_compose_prefix_cc8a(const unsigned char *utf8) +{ + if (utf8[0] < 0x80) { + if (utf8[0] >= 0x61 && + utf8[0] <= 0x79) { + return grn_nfkc121_compose_prefix_cc8a_table_[utf8[0] - 0x61]; + } else { + return NULL; + } + } else { + } + + return NULL; +} + +static const char *grn_nfkc121_compose_prefix_cca7_table_[] = { + "\xc3\xa7", "\xe1\xb8\x91", "\xc8\xa9", NULL, "\xc4\xa3", "\xe1\xb8\xa9", NULL, NULL, + "\xc4\xb7", "\xc4\xbc", NULL, "\xc5\x86", NULL, NULL, NULL, "\xc5\x97", + "\xc5\x9f", "\xc5\xa3" +}; + +static grn_inline const char * +grn_nfkc121_compose_prefix_cca7(const unsigned char *utf8) +{ + if (utf8[0] < 0x80) { + if (utf8[0] >= 0x63 && + utf8[0] <= 0x74) { + return grn_nfkc121_compose_prefix_cca7_table_[utf8[0] - 0x63]; + } else { + return NULL; + } + } else { + } + + return NULL; +} + +static const char *grn_nfkc121_compose_prefix_cc84_table_[] = { + "\xc4\x81", NULL, NULL, NULL, "\xc4\x93", NULL, "\xe1\xb8\xa1", NULL, + "\xc4\xab", NULL, NULL, NULL, NULL, NULL, "\xc5\x8d", NULL, + NULL, NULL, NULL, NULL, "\xc5\xab", NULL, NULL, NULL, + "\xc8\xb3" +}; + +static const char *grn_nfkc121_compose_prefix_cc84_table_c3[] = { + "\xc7\x9f", NULL, "\xc7\xa3", NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, "\xc8\xad", "\xc8\xab", NULL, NULL, NULL, NULL, NULL, + "\xc7\x96" +}; + +static const char *grn_nfkc121_compose_prefix_cc84_table_c8[] = { + "\xc7\xa1", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xc8\xb1" +}; + +static const char *grn_nfkc121_compose_prefix_cc84_table_ce[] = { + "\xe1\xbe\xb1", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xe1\xbf\x91" +}; + +static grn_inline const char * +grn_nfkc121_compose_prefix_cc84(const unsigned char *utf8) +{ + if (utf8[0] < 0x80) { + if (utf8[0] >= 0x61 && + utf8[0] <= 0x79) { + return grn_nfkc121_compose_prefix_cc84_table_[utf8[0] - 0x61]; + } else { + return NULL; + } + } else { + switch (utf8[0]) { + case 0xc3 : + if (utf8[1] >= 0xa4 && + utf8[1] <= 0xbc) { + return grn_nfkc121_compose_prefix_cc84_table_c3[utf8[1] - 0xa4]; + } + break; + case 0xc7 : + if (utf8[1] == 0xab) { + return "\xc7\xad"; + } + break; + case 0xc8 : + if (utf8[1] >= 0xa7 && + utf8[1] <= 0xaf) { + return grn_nfkc121_compose_prefix_cc84_table_c8[utf8[1] - 0xa7]; + } + break; + case 0xce : + if (utf8[1] >= 0xb1 && + utf8[1] <= 0xb9) { + return grn_nfkc121_compose_prefix_cc84_table_ce[utf8[1] - 0xb1]; + } + break; + case 0xcf : + if (utf8[1] == 0x85) { + return "\xe1\xbf\xa1"; + } + break; + case 0xd0 : + if (utf8[1] == 0xb8) { + return "\xd3\xa3"; + } + break; + case 0xd1 : + if (utf8[1] == 0x83) { + return "\xd3\xaf"; + } + break; + case 0xe1 : + switch (utf8[1]) { + case 0xb8 : + if (utf8[2] == 0xb7) { + return "\xe1\xb8\xb9"; + } + break; + case 0xb9 : + if (utf8[2] == 0x9b) { + return "\xe1\xb9\x9d"; + } + break; + default : + break; + } + break; + default : + break; + } + } + + return NULL; +} + +static const char *grn_nfkc121_compose_prefix_cc86_table_[] = { + "\xc4\x83", NULL, NULL, NULL, "\xc4\x95", NULL, "\xc4\x9f", NULL, + "\xc4\xad", NULL, NULL, NULL, NULL, NULL, "\xc5\x8f", NULL, + NULL, NULL, NULL, NULL, "\xc5\xad" +}; + +static const char *grn_nfkc121_compose_prefix_cc86_table_ce[] = { + "\xe1\xbe\xb0", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xe1\xbf\x90" +}; + +static const char *grn_nfkc121_compose_prefix_cc86_table_d0[] = { + "\xd3\x91", NULL, NULL, NULL, NULL, "\xd3\x97", "\xd3\x82", NULL, + "\xd0\xb9" +}; + +static grn_inline const char * +grn_nfkc121_compose_prefix_cc86(const unsigned char *utf8) +{ + if (utf8[0] < 0x80) { + if (utf8[0] >= 0x61 && + utf8[0] <= 0x75) { + return grn_nfkc121_compose_prefix_cc86_table_[utf8[0] - 0x61]; + } else { + return NULL; + } + } else { + switch (utf8[0]) { + case 0xc8 : + if (utf8[1] == 0xa9) { + return "\xe1\xb8\x9d"; + } + break; + case 0xce : + if (utf8[1] >= 0xb1 && + utf8[1] <= 0xb9) { + return grn_nfkc121_compose_prefix_cc86_table_ce[utf8[1] - 0xb1]; + } + break; + case 0xcf : + if (utf8[1] == 0x85) { + return "\xe1\xbf\xa0"; + } + break; + case 0xd0 : + if (utf8[1] >= 0xb0 && + utf8[1] <= 0xb8) { + return grn_nfkc121_compose_prefix_cc86_table_d0[utf8[1] - 0xb0]; + } + break; + case 0xd1 : + if (utf8[1] == 0x83) { + return "\xd1\x9e"; + } + break; + case 0xe1 : + switch (utf8[1]) { + case 0xba : + if (utf8[2] == 0xa1) { + return "\xe1\xba\xb7"; + } + break; + default : + break; + } + break; + default : + break; + } + } + + return NULL; +} + +static const char *grn_nfkc121_compose_prefix_cca8_table_[] = { + "\xc4\x85", NULL, NULL, NULL, "\xc4\x99", NULL, NULL, NULL, + "\xc4\xaf", NULL, NULL, NULL, NULL, NULL, "\xc7\xab", NULL, + NULL, NULL, NULL, NULL, "\xc5\xb3" +}; + +static grn_inline const char * +grn_nfkc121_compose_prefix_cca8(const unsigned char *utf8) +{ + if (utf8[0] < 0x80) { + if (utf8[0] >= 0x61 && + utf8[0] <= 0x75) { + return grn_nfkc121_compose_prefix_cca8_table_[utf8[0] - 0x61]; + } else { + return NULL; + } + } else { + } + + return NULL; +} + +static const char *grn_nfkc121_compose_prefix_cc87_table_[] = { + "\xc8\xa7", "\xe1\xb8\x83", "\xc4\x8b", "\xe1\xb8\x8b", "\xc4\x97", "\xe1\xb8\x9f", "\xc4\xa1", "\xe1\xb8\xa3", + NULL, NULL, NULL, NULL, "\xe1\xb9\x81", "\xe1\xb9\x85", "\xc8\xaf", "\xe1\xb9\x97", + NULL, "\xe1\xb9\x99", "\xe1\xb9\xa1", "\xe1\xb9\xab", NULL, NULL, "\xe1\xba\x87", "\xe1\xba\x8b", + "\xe1\xba\x8f", "\xc5\xbc" +}; + +static const char *grn_nfkc121_compose_prefix_cc87_table_c5[] = { + "\xe1\xb9\xa5", NULL, NULL, NULL, NULL, NULL, "\xe1\xb9\xa7" +}; + +static grn_inline const char * +grn_nfkc121_compose_prefix_cc87(const unsigned char *utf8) +{ + if (utf8[0] < 0x80) { + if (utf8[0] >= 0x61 && + utf8[0] <= 0x7a) { + return grn_nfkc121_compose_prefix_cc87_table_[utf8[0] - 0x61]; + } else { + return NULL; + } + } else { + switch (utf8[0]) { + case 0xc5 : + if (utf8[1] >= 0x9b && + utf8[1] <= 0xa1) { + return grn_nfkc121_compose_prefix_cc87_table_c5[utf8[1] - 0x9b]; + } + break; + case 0xe1 : + switch (utf8[1]) { + case 0xb9 : + if (utf8[2] == 0xa3) { + return "\xe1\xb9\xa9"; + } + break; + default : + break; + } + break; + default : + break; + } + } + + return NULL; +} + +static const char *grn_nfkc121_compose_prefix_cc8c_table_[] = { + "\xc7\x8e", NULL, "\xc4\x8d", "\xc4\x8f", "\xc4\x9b", NULL, "\xc7\xa7", "\xc8\x9f", + "\xc7\x90", "\xc7\xb0", "\xc7\xa9", "\xc4\xbe", NULL, "\xc5\x88", "\xc7\x92", NULL, + NULL, "\xc5\x99", "\xc5\xa1", "\xc5\xa5", "\xc7\x94", NULL, NULL, NULL, + NULL, "\xc5\xbe" +}; + +static grn_inline const char * +grn_nfkc121_compose_prefix_cc8c(const unsigned char *utf8) +{ + if (utf8[0] < 0x80) { + if (utf8[0] >= 0x61 && + utf8[0] <= 0x7a) { + return grn_nfkc121_compose_prefix_cc8c_table_[utf8[0] - 0x61]; + } else { + return NULL; + } + } else { + switch (utf8[0]) { + case 0xc3 : + if (utf8[1] == 0xbc) { + return "\xc7\x9a"; + } + break; + case 0xca : + if (utf8[1] == 0x92) { + return "\xc7\xaf"; + } + break; + default : + break; + } + } + + return NULL; +} + +static const char *grn_nfkc121_compose_prefix_cc8b_table_[] = { + "\xc5\x91", NULL, NULL, NULL, NULL, NULL, "\xc5\xb1" +}; + +static grn_inline const char * +grn_nfkc121_compose_prefix_cc8b(const unsigned char *utf8) +{ + if (utf8[0] < 0x80) { + if (utf8[0] >= 0x6f && + utf8[0] <= 0x75) { + return grn_nfkc121_compose_prefix_cc8b_table_[utf8[0] - 0x6f]; + } else { + return NULL; + } + } else { + switch (utf8[0]) { + case 0xd1 : + if (utf8[1] == 0x83) { + return "\xd3\xb3"; + } + break; + default : + break; + } + } + + return NULL; +} + +static const char *grn_nfkc121_compose_prefix_cc9b_table_[] = { + "\xc6\xa1", NULL, NULL, NULL, NULL, NULL, "\xc6\xb0" +}; + +static grn_inline const char * +grn_nfkc121_compose_prefix_cc9b(const unsigned char *utf8) +{ + if (utf8[0] < 0x80) { + if (utf8[0] >= 0x6f && + utf8[0] <= 0x75) { + return grn_nfkc121_compose_prefix_cc9b_table_[utf8[0] - 0x6f]; + } else { + return NULL; + } + } else { + } + + return NULL; +} + +static const char *grn_nfkc121_compose_prefix_cc8f_table_[] = { + "\xc8\x81", NULL, NULL, NULL, "\xc8\x85", NULL, NULL, NULL, + "\xc8\x89", NULL, NULL, NULL, NULL, NULL, "\xc8\x8d", NULL, + NULL, "\xc8\x91", NULL, NULL, "\xc8\x95" +}; + +static grn_inline const char * +grn_nfkc121_compose_prefix_cc8f(const unsigned char *utf8) +{ + if (utf8[0] < 0x80) { + if (utf8[0] >= 0x61 && + utf8[0] <= 0x75) { + return grn_nfkc121_compose_prefix_cc8f_table_[utf8[0] - 0x61]; + } else { + return NULL; + } + } else { + switch (utf8[0]) { + case 0xd1 : + if (utf8[1] == 0xb5) { + return "\xd1\xb7"; + } + break; + default : + break; + } + } + + return NULL; +} + +static const char *grn_nfkc121_compose_prefix_cc91_table_[] = { + "\xc8\x83", NULL, NULL, NULL, "\xc8\x87", NULL, NULL, NULL, + "\xc8\x8b", NULL, NULL, NULL, NULL, NULL, "\xc8\x8f", NULL, + NULL, "\xc8\x93", NULL, NULL, "\xc8\x97" +}; + +static grn_inline const char * +grn_nfkc121_compose_prefix_cc91(const unsigned char *utf8) +{ + if (utf8[0] < 0x80) { + if (utf8[0] >= 0x61 && + utf8[0] <= 0x75) { + return grn_nfkc121_compose_prefix_cc91_table_[utf8[0] - 0x61]; + } else { + return NULL; + } + } else { + } + + return NULL; +} + +static const char *grn_nfkc121_compose_prefix_cca6_table_[] = { + "\xc8\x99", "\xc8\x9b" +}; + +static grn_inline const char * +grn_nfkc121_compose_prefix_cca6(const unsigned char *utf8) +{ + if (utf8[0] < 0x80) { + if (utf8[0] >= 0x73 && + utf8[0] <= 0x74) { + return grn_nfkc121_compose_prefix_cca6_table_[utf8[0] - 0x73]; + } else { + return NULL; + } + } else { + } + + return NULL; +} + +static grn_inline const char * +grn_nfkc121_compose_prefix_d993(const unsigned char *utf8) +{ + { + switch (utf8[0]) { + case 0xd8 : + if (utf8[1] == 0xa7) { + return "\xd8\xa2"; + } + break; + default : + break; + } + } + + return NULL; +} + +static const char *grn_nfkc121_compose_prefix_d994_table_d9[] = { + "\xd8\xa4", NULL, "\xd8\xa6" +}; + +static const char *grn_nfkc121_compose_prefix_d994_table_db[] = { + "\xdb\x82", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, "\xdb\x93", NULL, NULL, "\xdb\x80" +}; + +static grn_inline const char * +grn_nfkc121_compose_prefix_d994(const unsigned char *utf8) +{ + { + switch (utf8[0]) { + case 0xd8 : + if (utf8[1] == 0xa7) { + return "\xd8\xa3"; + } + break; + case 0xd9 : + if (utf8[1] >= 0x88 && + utf8[1] <= 0x8a) { + return grn_nfkc121_compose_prefix_d994_table_d9[utf8[1] - 0x88]; + } + break; + case 0xdb : + if (utf8[1] >= 0x81 && + utf8[1] <= 0x95) { + return grn_nfkc121_compose_prefix_d994_table_db[utf8[1] - 0x81]; + } + break; + default : + break; + } + } + + return NULL; +} + +static grn_inline const char * +grn_nfkc121_compose_prefix_d995(const unsigned char *utf8) +{ + { + switch (utf8[0]) { + case 0xd8 : + if (utf8[1] == 0xa7) { + return "\xd8\xa5"; + } + break; + default : + break; + } + } + + return NULL; +} + +static const char *grn_nfkc121_compose_prefix_e0a4bc_table_e0a4[] = { + "\xe0\xa4\xa9", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xe0\xa4\xb1", NULL, NULL, "\xe0\xa4\xb4" +}; + +static grn_inline const char * +grn_nfkc121_compose_prefix_e0a4bc(const unsigned char *utf8) +{ + { + switch (utf8[0]) { + case 0xe0 : + switch (utf8[1]) { + case 0xa4 : + if (utf8[2] >= 0xa8 && + utf8[2] <= 0xb3) { + return grn_nfkc121_compose_prefix_e0a4bc_table_e0a4[utf8[2] - 0xa8]; + } + break; + default : + break; + } + break; + default : + break; + } + } + + return NULL; +} + +static grn_inline const char * +grn_nfkc121_compose_prefix_e0a6be(const unsigned char *utf8) +{ + { + switch (utf8[0]) { + case 0xe0 : + switch (utf8[1]) { + case 0xa7 : + if (utf8[2] == 0x87) { + return "\xe0\xa7\x8b"; + } + break; + default : + break; + } + break; + default : + break; + } + } + + return NULL; +} + +static grn_inline const char * +grn_nfkc121_compose_prefix_e0a797(const unsigned char *utf8) +{ + { + switch (utf8[0]) { + case 0xe0 : + switch (utf8[1]) { + case 0xa7 : + if (utf8[2] == 0x87) { + return "\xe0\xa7\x8c"; + } + break; + default : + break; + } + break; + default : + break; + } + } + + return NULL; +} + +static grn_inline const char * +grn_nfkc121_compose_prefix_e0ad96(const unsigned char *utf8) +{ + { + switch (utf8[0]) { + case 0xe0 : + switch (utf8[1]) { + case 0xad : + if (utf8[2] == 0x87) { + return "\xe0\xad\x88"; + } + break; + default : + break; + } + break; + default : + break; + } + } + + return NULL; +} + +static grn_inline const char * +grn_nfkc121_compose_prefix_e0acbe(const unsigned char *utf8) +{ + { + switch (utf8[0]) { + case 0xe0 : + switch (utf8[1]) { + case 0xad : + if (utf8[2] == 0x87) { + return "\xe0\xad\x8b"; + } + break; + default : + break; + } + break; + default : + break; + } + } + + return NULL; +} + +static grn_inline const char * +grn_nfkc121_compose_prefix_e0ad97(const unsigned char *utf8) +{ + { + switch (utf8[0]) { + case 0xe0 : + switch (utf8[1]) { + case 0xad : + if (utf8[2] == 0x87) { + return "\xe0\xad\x8c"; + } + break; + default : + break; + } + break; + default : + break; + } + } + + return NULL; +} + +static grn_inline const char * +grn_nfkc121_compose_prefix_e0af97(const unsigned char *utf8) +{ + { + switch (utf8[0]) { + case 0xe0 : + switch (utf8[1]) { + case 0xae : + if (utf8[2] == 0x92) { + return "\xe0\xae\x94"; + } + break; + case 0xaf : + if (utf8[2] == 0x86) { + return "\xe0\xaf\x8c"; + } + break; + default : + break; + } + break; + default : + break; + } + } + + return NULL; +} + +static const char *grn_nfkc121_compose_prefix_e0aebe_table_e0af[] = { + "\xe0\xaf\x8a", "\xe0\xaf\x8b" +}; + +static grn_inline const char * +grn_nfkc121_compose_prefix_e0aebe(const unsigned char *utf8) +{ + { + switch (utf8[0]) { + case 0xe0 : + switch (utf8[1]) { + case 0xaf : + if (utf8[2] >= 0x86 && + utf8[2] <= 0x87) { + return grn_nfkc121_compose_prefix_e0aebe_table_e0af[utf8[2] - 0x86]; + } + break; + default : + break; + } + break; + default : + break; + } + } + + return NULL; +} + +static grn_inline const char * +grn_nfkc121_compose_prefix_e0b196(const unsigned char *utf8) +{ + { + switch (utf8[0]) { + case 0xe0 : + switch (utf8[1]) { + case 0xb1 : + if (utf8[2] == 0x86) { + return "\xe0\xb1\x88"; + } + break; + default : + break; + } + break; + default : + break; + } + } + + return NULL; +} + +static const char *grn_nfkc121_compose_prefix_e0b395_table_e0b3[] = { + "\xe0\xb3\x87", NULL, NULL, NULL, "\xe0\xb3\x8b" +}; + +static grn_inline const char * +grn_nfkc121_compose_prefix_e0b395(const unsigned char *utf8) +{ + { + switch (utf8[0]) { + case 0xe0 : + switch (utf8[1]) { + case 0xb2 : + if (utf8[2] == 0xbf) { + return "\xe0\xb3\x80"; + } + break; + case 0xb3 : + if (utf8[2] >= 0x86 && + utf8[2] <= 0x8a) { + return grn_nfkc121_compose_prefix_e0b395_table_e0b3[utf8[2] - 0x86]; + } + break; + default : + break; + } + break; + default : + break; + } + } + + return NULL; +} + +static grn_inline const char * +grn_nfkc121_compose_prefix_e0b396(const unsigned char *utf8) +{ + { + switch (utf8[0]) { + case 0xe0 : + switch (utf8[1]) { + case 0xb3 : + if (utf8[2] == 0x86) { + return "\xe0\xb3\x88"; + } + break; + default : + break; + } + break; + default : + break; + } + } + + return NULL; +} + +static grn_inline const char * +grn_nfkc121_compose_prefix_e0b382(const unsigned char *utf8) +{ + { + switch (utf8[0]) { + case 0xe0 : + switch (utf8[1]) { + case 0xb3 : + if (utf8[2] == 0x86) { + return "\xe0\xb3\x8a"; + } + break; + default : + break; + } + break; + default : + break; + } + } + + return NULL; +} + +static const char *grn_nfkc121_compose_prefix_e0b4be_table_e0b5[] = { + "\xe0\xb5\x8a", "\xe0\xb5\x8b" +}; + +static grn_inline const char * +grn_nfkc121_compose_prefix_e0b4be(const unsigned char *utf8) +{ + { + switch (utf8[0]) { + case 0xe0 : + switch (utf8[1]) { + case 0xb5 : + if (utf8[2] >= 0x86 && + utf8[2] <= 0x87) { + return grn_nfkc121_compose_prefix_e0b4be_table_e0b5[utf8[2] - 0x86]; + } + break; + default : + break; + } + break; + default : + break; + } + } + + return NULL; +} + +static grn_inline const char * +grn_nfkc121_compose_prefix_e0b597(const unsigned char *utf8) +{ + { + switch (utf8[0]) { + case 0xe0 : + switch (utf8[1]) { + case 0xb5 : + if (utf8[2] == 0x86) { + return "\xe0\xb5\x8c"; + } + break; + default : + break; + } + break; + default : + break; + } + } + + return NULL; +} + +static const char *grn_nfkc121_compose_prefix_e0b78a_table_e0b7[] = { + "\xe0\xb7\x9a", NULL, NULL, "\xe0\xb7\x9d" +}; + +static grn_inline const char * +grn_nfkc121_compose_prefix_e0b78a(const unsigned char *utf8) +{ + { + switch (utf8[0]) { + case 0xe0 : + switch (utf8[1]) { + case 0xb7 : + if (utf8[2] >= 0x99 && + utf8[2] <= 0x9c) { + return grn_nfkc121_compose_prefix_e0b78a_table_e0b7[utf8[2] - 0x99]; + } + break; + default : + break; + } + break; + default : + break; + } + } + + return NULL; +} + +static grn_inline const char * +grn_nfkc121_compose_prefix_e0b78f(const unsigned char *utf8) +{ + { + switch (utf8[0]) { + case 0xe0 : + switch (utf8[1]) { + case 0xb7 : + if (utf8[2] == 0x99) { + return "\xe0\xb7\x9c"; + } + break; + default : + break; + } + break; + default : + break; + } + } + + return NULL; +} + +static grn_inline const char * +grn_nfkc121_compose_prefix_e0b79f(const unsigned char *utf8) +{ + { + switch (utf8[0]) { + case 0xe0 : + switch (utf8[1]) { + case 0xb7 : + if (utf8[2] == 0x99) { + return "\xe0\xb7\x9e"; + } + break; + default : + break; + } + break; + default : + break; + } + } + + return NULL; +} + +static grn_inline const char * +grn_nfkc121_compose_prefix_e180ae(const unsigned char *utf8) +{ + { + switch (utf8[0]) { + case 0xe1 : + switch (utf8[1]) { + case 0x80 : + if (utf8[2] == 0xa5) { + return "\xe1\x80\xa6"; + } + break; + default : + break; + } + break; + default : + break; + } + } + + return NULL; +} + +static const char *grn_nfkc121_compose_prefix_e1acb5_table_e1ac[] = { + "\xe1\xac\x86", NULL, "\xe1\xac\x88", NULL, "\xe1\xac\x8a", NULL, "\xe1\xac\x8c", NULL, + "\xe1\xac\x8e", NULL, NULL, NULL, "\xe1\xac\x92", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, "\xe1\xac\xbb", NULL, "\xe1\xac\xbd", + NULL, "\xe1\xad\x80", "\xe1\xad\x81" +}; + +static grn_inline const char * +grn_nfkc121_compose_prefix_e1acb5(const unsigned char *utf8) +{ + { + switch (utf8[0]) { + case 0xe1 : + switch (utf8[1]) { + case 0xac : + if (utf8[2] >= 0x85 && + utf8[2] <= 0xbf) { + return grn_nfkc121_compose_prefix_e1acb5_table_e1ac[utf8[2] - 0x85]; + } + break; + case 0xad : + if (utf8[2] == 0x82) { + return "\xe1\xad\x83"; + } + break; + default : + break; + } + break; + default : + break; + } + } + + return NULL; +} + +static grn_inline const char * +grn_nfkc121_compose_prefix_cca5(const unsigned char *utf8) +{ + if (utf8[0] < 0x80) { + if (utf8[0] == 0x61) { + return "\xe1\xb8\x81"; + } else { + return NULL; + } + } else { + } + + return NULL; +} + +static const char *grn_nfkc121_compose_prefix_cca3_table_[] = { + "\xe1\xba\xa1", "\xe1\xb8\x85", NULL, "\xe1\xb8\x8d", "\xe1\xba\xb9", NULL, NULL, "\xe1\xb8\xa5", + "\xe1\xbb\x8b", NULL, "\xe1\xb8\xb3", "\xe1\xb8\xb7", "\xe1\xb9\x83", "\xe1\xb9\x87", "\xe1\xbb\x8d", NULL, + NULL, "\xe1\xb9\x9b", "\xe1\xb9\xa3", "\xe1\xb9\xad", "\xe1\xbb\xa5", "\xe1\xb9\xbf", "\xe1\xba\x89", NULL, + "\xe1\xbb\xb5", "\xe1\xba\x93" +}; + +static const char *grn_nfkc121_compose_prefix_cca3_table_c6[] = { + "\xe1\xbb\xa3", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, "\xe1\xbb\xb1" +}; + +static grn_inline const char * +grn_nfkc121_compose_prefix_cca3(const unsigned char *utf8) +{ + if (utf8[0] < 0x80) { + if (utf8[0] >= 0x61 && + utf8[0] <= 0x7a) { + return grn_nfkc121_compose_prefix_cca3_table_[utf8[0] - 0x61]; + } else { + return NULL; + } + } else { + switch (utf8[0]) { + case 0xc6 : + if (utf8[1] >= 0xa1 && + utf8[1] <= 0xb0) { + return grn_nfkc121_compose_prefix_cca3_table_c6[utf8[1] - 0xa1]; + } + break; + default : + break; + } + } + + return NULL; +} + +static const char *grn_nfkc121_compose_prefix_ccb1_table_[] = { + "\xe1\xb8\x87", NULL, "\xe1\xb8\x8f", NULL, NULL, NULL, "\xe1\xba\x96", NULL, + NULL, "\xe1\xb8\xb5", "\xe1\xb8\xbb", NULL, "\xe1\xb9\x89", NULL, NULL, NULL, + "\xe1\xb9\x9f", NULL, "\xe1\xb9\xaf", NULL, NULL, NULL, NULL, NULL, + "\xe1\xba\x95" +}; + +static grn_inline const char * +grn_nfkc121_compose_prefix_ccb1(const unsigned char *utf8) +{ + if (utf8[0] < 0x80) { + if (utf8[0] >= 0x62 && + utf8[0] <= 0x7a) { + return grn_nfkc121_compose_prefix_ccb1_table_[utf8[0] - 0x62]; + } else { + return NULL; + } + } else { + } + + return NULL; +} + +static const char *grn_nfkc121_compose_prefix_ccad_table_[] = { + "\xe1\xb8\x93", "\xe1\xb8\x99", NULL, NULL, NULL, NULL, NULL, NULL, + "\xe1\xb8\xbd", NULL, "\xe1\xb9\x8b", NULL, NULL, NULL, NULL, NULL, + "\xe1\xb9\xb1", "\xe1\xb9\xb7" +}; + +static grn_inline const char * +grn_nfkc121_compose_prefix_ccad(const unsigned char *utf8) +{ + if (utf8[0] < 0x80) { + if (utf8[0] >= 0x64 && + utf8[0] <= 0x75) { + return grn_nfkc121_compose_prefix_ccad_table_[utf8[0] - 0x64]; + } else { + return NULL; + } + } else { + } + + return NULL; +} + +static const char *grn_nfkc121_compose_prefix_ccb0_table_[] = { + "\xe1\xb8\x9b", NULL, NULL, NULL, "\xe1\xb8\xad", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xe1\xb9\xb5" +}; + +static grn_inline const char * +grn_nfkc121_compose_prefix_ccb0(const unsigned char *utf8) +{ + if (utf8[0] < 0x80) { + if (utf8[0] >= 0x65 && + utf8[0] <= 0x75) { + return grn_nfkc121_compose_prefix_ccb0_table_[utf8[0] - 0x65]; + } else { + return NULL; + } + } else { + } + + return NULL; +} + +static grn_inline const char * +grn_nfkc121_compose_prefix_ccae(const unsigned char *utf8) +{ + if (utf8[0] < 0x80) { + if (utf8[0] == 0x68) { + return "\xe1\xb8\xab"; + } else { + return NULL; + } + } else { + } + + return NULL; +} + +static grn_inline const char * +grn_nfkc121_compose_prefix_cca4(const unsigned char *utf8) +{ + if (utf8[0] < 0x80) { + if (utf8[0] == 0x75) { + return "\xe1\xb9\xb3"; + } else { + return NULL; + } + } else { + } + + return NULL; +} + +static const char *grn_nfkc121_compose_prefix_cc89_table_[] = { + "\xe1\xba\xa3", NULL, NULL, NULL, "\xe1\xba\xbb", NULL, NULL, NULL, + "\xe1\xbb\x89", NULL, NULL, NULL, NULL, NULL, "\xe1\xbb\x8f", NULL, + NULL, NULL, NULL, NULL, "\xe1\xbb\xa7", NULL, NULL, NULL, + "\xe1\xbb\xb7" +}; + +static const char *grn_nfkc121_compose_prefix_cc89_table_c3[] = { + "\xe1\xba\xa9", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xe1\xbb\x83", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, "\xe1\xbb\x95" +}; + +static const char *grn_nfkc121_compose_prefix_cc89_table_c6[] = { + "\xe1\xbb\x9f", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, "\xe1\xbb\xad" +}; + +static grn_inline const char * +grn_nfkc121_compose_prefix_cc89(const unsigned char *utf8) +{ + if (utf8[0] < 0x80) { + if (utf8[0] >= 0x61 && + utf8[0] <= 0x79) { + return grn_nfkc121_compose_prefix_cc89_table_[utf8[0] - 0x61]; + } else { + return NULL; + } + } else { + switch (utf8[0]) { + case 0xc3 : + if (utf8[1] >= 0xa2 && + utf8[1] <= 0xb4) { + return grn_nfkc121_compose_prefix_cc89_table_c3[utf8[1] - 0xa2]; + } + break; + case 0xc4 : + if (utf8[1] == 0x83) { + return "\xe1\xba\xb3"; + } + break; + case 0xc6 : + if (utf8[1] >= 0xa1 && + utf8[1] <= 0xb0) { + return grn_nfkc121_compose_prefix_cc89_table_c6[utf8[1] - 0xa1]; + } + break; + default : + break; + } + } + + return NULL; +} + +static const char *grn_nfkc121_compose_prefix_cc93_table_ce[] = { + "\xe1\xbc\x80", NULL, NULL, NULL, "\xe1\xbc\x90", NULL, "\xe1\xbc\xa0", NULL, + "\xe1\xbc\xb0", NULL, NULL, NULL, NULL, NULL, "\xe1\xbd\x80" +}; + +static const char *grn_nfkc121_compose_prefix_cc93_table_cf[] = { + "\xe1\xbf\xa4", NULL, NULL, NULL, "\xe1\xbd\x90", NULL, NULL, NULL, + "\xe1\xbd\xa0" +}; + +static grn_inline const char * +grn_nfkc121_compose_prefix_cc93(const unsigned char *utf8) +{ + { + switch (utf8[0]) { + case 0xce : + if (utf8[1] >= 0xb1 && + utf8[1] <= 0xbf) { + return grn_nfkc121_compose_prefix_cc93_table_ce[utf8[1] - 0xb1]; + } + break; + case 0xcf : + if (utf8[1] >= 0x81 && + utf8[1] <= 0x89) { + return grn_nfkc121_compose_prefix_cc93_table_cf[utf8[1] - 0x81]; + } + break; + default : + break; + } + } + + return NULL; +} + +static const char *grn_nfkc121_compose_prefix_cc94_table_ce[] = { + "\xe1\xbc\x81", NULL, NULL, NULL, "\xe1\xbc\x91", NULL, "\xe1\xbc\xa1", NULL, + "\xe1\xbc\xb1", NULL, NULL, NULL, NULL, NULL, "\xe1\xbd\x81" +}; + +static const char *grn_nfkc121_compose_prefix_cc94_table_cf[] = { + "\xe1\xbf\xa5", NULL, NULL, NULL, "\xe1\xbd\x91", NULL, NULL, NULL, + "\xe1\xbd\xa1" +}; + +static grn_inline const char * +grn_nfkc121_compose_prefix_cc94(const unsigned char *utf8) +{ + { + switch (utf8[0]) { + case 0xce : + if (utf8[1] >= 0xb1 && + utf8[1] <= 0xbf) { + return grn_nfkc121_compose_prefix_cc94_table_ce[utf8[1] - 0xb1]; + } + break; + case 0xcf : + if (utf8[1] >= 0x81 && + utf8[1] <= 0x89) { + return grn_nfkc121_compose_prefix_cc94_table_cf[utf8[1] - 0x81]; + } + break; + default : + break; + } + } + + return NULL; +} + +static const char *grn_nfkc121_compose_prefix_cd82_table_ce[] = { + "\xe1\xbe\xb6", NULL, NULL, NULL, NULL, NULL, "\xe1\xbf\x86", NULL, + "\xe1\xbf\x96" +}; + +static const char *grn_nfkc121_compose_prefix_cd82_table_cf[] = { + "\xe1\xbf\xa6", NULL, NULL, NULL, "\xe1\xbf\xb6", "\xe1\xbf\x97", "\xe1\xbf\xa7" +}; + +static const char *grn_nfkc121_compose_prefix_cd82_table_e1bc[] = { + "\xe1\xbc\x86", "\xe1\xbc\x87", NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xe1\xbc\xa6", "\xe1\xbc\xa7", NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xe1\xbc\xb6", "\xe1\xbc\xb7" +}; + +static const char *grn_nfkc121_compose_prefix_cd82_table_e1bd[] = { + "\xe1\xbd\x96", "\xe1\xbd\x97", NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xe1\xbd\xa6", "\xe1\xbd\xa7" +}; + +static grn_inline const char * +grn_nfkc121_compose_prefix_cd82(const unsigned char *utf8) +{ + { + switch (utf8[0]) { + case 0xce : + if (utf8[1] >= 0xb1 && + utf8[1] <= 0xb9) { + return grn_nfkc121_compose_prefix_cd82_table_ce[utf8[1] - 0xb1]; + } + break; + case 0xcf : + if (utf8[1] >= 0x85 && + utf8[1] <= 0x8b) { + return grn_nfkc121_compose_prefix_cd82_table_cf[utf8[1] - 0x85]; + } + break; + case 0xe1 : + switch (utf8[1]) { + case 0xbc : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xb1) { + return grn_nfkc121_compose_prefix_cd82_table_e1bc[utf8[2] - 0x80]; + } + break; + case 0xbd : + if (utf8[2] >= 0x90 && + utf8[2] <= 0xa1) { + return grn_nfkc121_compose_prefix_cd82_table_e1bd[utf8[2] - 0x90]; + } + break; + default : + break; + } + break; + default : + break; + } + } + + return NULL; +} + +static const char *grn_nfkc121_compose_prefix_cd85_table_ce[] = { + "\xe1\xbe\xb4", NULL, "\xe1\xbf\x84", NULL, NULL, "\xe1\xbe\xb3", NULL, NULL, + NULL, NULL, NULL, "\xe1\xbf\x83" +}; + +static const char *grn_nfkc121_compose_prefix_cd85_table_cf[] = { + "\xe1\xbf\xb3", NULL, NULL, NULL, NULL, "\xe1\xbf\xb4" +}; + +static const char *grn_nfkc121_compose_prefix_cd85_table_e1bc[] = { + "\xe1\xbe\x80", "\xe1\xbe\x81", "\xe1\xbe\x82", "\xe1\xbe\x83", "\xe1\xbe\x84", "\xe1\xbe\x85", "\xe1\xbe\x86", "\xe1\xbe\x87", + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xe1\xbe\x90", "\xe1\xbe\x91", "\xe1\xbe\x92", "\xe1\xbe\x93", "\xe1\xbe\x94", "\xe1\xbe\x95", "\xe1\xbe\x96", "\xe1\xbe\x97" +}; + +static const char *grn_nfkc121_compose_prefix_cd85_table_e1bd[] = { + "\xe1\xbe\xa0", "\xe1\xbe\xa1", "\xe1\xbe\xa2", "\xe1\xbe\xa3", "\xe1\xbe\xa4", "\xe1\xbe\xa5", "\xe1\xbe\xa6", "\xe1\xbe\xa7", + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xe1\xbe\xb2", NULL, NULL, NULL, "\xe1\xbf\x82", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xe1\xbf\xb2" +}; + +static const char *grn_nfkc121_compose_prefix_cd85_table_e1bf[] = { + "\xe1\xbf\x87", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xe1\xbf\xb7" +}; + +static grn_inline const char * +grn_nfkc121_compose_prefix_cd85(const unsigned char *utf8) +{ + { + switch (utf8[0]) { + case 0xce : + if (utf8[1] >= 0xac && + utf8[1] <= 0xb7) { + return grn_nfkc121_compose_prefix_cd85_table_ce[utf8[1] - 0xac]; + } + break; + case 0xcf : + if (utf8[1] >= 0x89 && + utf8[1] <= 0x8e) { + return grn_nfkc121_compose_prefix_cd85_table_cf[utf8[1] - 0x89]; + } + break; + case 0xe1 : + switch (utf8[1]) { + case 0xbc : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xa7) { + return grn_nfkc121_compose_prefix_cd85_table_e1bc[utf8[2] - 0x80]; + } + break; + case 0xbd : + if (utf8[2] >= 0xa0 && + utf8[2] <= 0xbc) { + return grn_nfkc121_compose_prefix_cd85_table_e1bd[utf8[2] - 0xa0]; + } + break; + case 0xbe : + if (utf8[2] == 0xb6) { + return "\xe1\xbe\xb7"; + } + break; + case 0xbf : + if (utf8[2] >= 0x86 && + utf8[2] <= 0xb6) { + return grn_nfkc121_compose_prefix_cd85_table_e1bf[utf8[2] - 0x86]; + } + break; + default : + break; + } + break; + default : + break; + } + } + + return NULL; +} + +static const char *grn_nfkc121_compose_prefix_ccb8_table_[] = { + "\xe2\x89\xae", "\xe2\x89\xa0", "\xe2\x89\xaf" +}; + +static const char *grn_nfkc121_compose_prefix_ccb8_table_e286[] = { + "\xe2\x86\x9a", NULL, "\xe2\x86\x9b", NULL, "\xe2\x86\xae" +}; + +static const char *grn_nfkc121_compose_prefix_ccb8_table_e287[] = { + "\xe2\x87\x8d", NULL, "\xe2\x87\x8f", NULL, "\xe2\x87\x8e" +}; + +static const char *grn_nfkc121_compose_prefix_ccb8_table_e288[] = { + "\xe2\x88\x84", NULL, NULL, NULL, NULL, "\xe2\x88\x89", NULL, NULL, + "\xe2\x88\x8c", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xe2\x88\xa4", NULL, "\xe2\x88\xa6", NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, "\xe2\x89\x81" +}; + +static const char *grn_nfkc121_compose_prefix_ccb8_table_e289[] = { + "\xe2\x89\x84", NULL, "\xe2\x89\x87", NULL, NULL, "\xe2\x89\x89", NULL, NULL, + NULL, NULL, "\xe2\x89\xad", NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, "\xe2\x89\xa2", NULL, + NULL, "\xe2\x89\xb0", "\xe2\x89\xb1", NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, "\xe2\x89\xb4", + "\xe2\x89\xb5", NULL, NULL, "\xe2\x89\xb8", "\xe2\x89\xb9", NULL, NULL, "\xe2\x8a\x80", + "\xe2\x8a\x81", "\xe2\x8b\xa0", "\xe2\x8b\xa1" +}; + +static const char *grn_nfkc121_compose_prefix_ccb8_table_e28a[] = { + "\xe2\x8a\x84", "\xe2\x8a\x85", NULL, NULL, "\xe2\x8a\x88", "\xe2\x8a\x89", NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, "\xe2\x8b\xa2", + "\xe2\x8b\xa3", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xe2\x8a\xac", NULL, NULL, NULL, NULL, NULL, "\xe2\x8a\xad", "\xe2\x8a\xae", + NULL, "\xe2\x8a\xaf", NULL, NULL, NULL, NULL, NULL, NULL, + "\xe2\x8b\xaa", "\xe2\x8b\xab", "\xe2\x8b\xac", "\xe2\x8b\xad" +}; + +static grn_inline const char * +grn_nfkc121_compose_prefix_ccb8(const unsigned char *utf8) +{ + if (utf8[0] < 0x80) { + if (utf8[0] >= 0x3c && + utf8[0] <= 0x3e) { + return grn_nfkc121_compose_prefix_ccb8_table_[utf8[0] - 0x3c]; + } else { + return NULL; + } + } else { + switch (utf8[0]) { + case 0xe2 : + switch (utf8[1]) { + case 0x86 : + if (utf8[2] >= 0x90 && + utf8[2] <= 0x94) { + return grn_nfkc121_compose_prefix_ccb8_table_e286[utf8[2] - 0x90]; + } + break; + case 0x87 : + if (utf8[2] >= 0x90 && + utf8[2] <= 0x94) { + return grn_nfkc121_compose_prefix_ccb8_table_e287[utf8[2] - 0x90]; + } + break; + case 0x88 : + if (utf8[2] >= 0x83 && + utf8[2] <= 0xbc) { + return grn_nfkc121_compose_prefix_ccb8_table_e288[utf8[2] - 0x83]; + } + break; + case 0x89 : + if (utf8[2] >= 0x83 && + utf8[2] <= 0xbd) { + return grn_nfkc121_compose_prefix_ccb8_table_e289[utf8[2] - 0x83]; + } + break; + case 0x8a : + if (utf8[2] >= 0x82 && + utf8[2] <= 0xb5) { + return grn_nfkc121_compose_prefix_ccb8_table_e28a[utf8[2] - 0x82]; + } + break; + default : + break; + } + break; + default : + break; + } + } + + return NULL; +} + +static const char *grn_nfkc121_compose_prefix_e38299_table_e381[] = { + "\xe3\x82\x94", NULL, NULL, NULL, NULL, "\xe3\x81\x8c", NULL, "\xe3\x81\x8e", + NULL, "\xe3\x81\x90", NULL, "\xe3\x81\x92", NULL, "\xe3\x81\x94", NULL, "\xe3\x81\x96", + NULL, "\xe3\x81\x98", NULL, "\xe3\x81\x9a", NULL, "\xe3\x81\x9c", NULL, "\xe3\x81\x9e", + NULL, "\xe3\x81\xa0", NULL, "\xe3\x81\xa2", NULL, NULL, "\xe3\x81\xa5", NULL, + "\xe3\x81\xa7", NULL, "\xe3\x81\xa9", NULL, NULL, NULL, NULL, NULL, + NULL, "\xe3\x81\xb0", NULL, NULL, "\xe3\x81\xb3", NULL, NULL, "\xe3\x81\xb6", + NULL, NULL, "\xe3\x81\xb9", NULL, NULL, "\xe3\x81\xbc" +}; + +static const char *grn_nfkc121_compose_prefix_e38299_table_e382[] = { + "\xe3\x82\x9e", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, "\xe3\x83\xb4", NULL, NULL, NULL, NULL, "\xe3\x82\xac", NULL, + "\xe3\x82\xae", NULL, "\xe3\x82\xb0", NULL, "\xe3\x82\xb2", NULL, "\xe3\x82\xb4", NULL, + "\xe3\x82\xb6", NULL, "\xe3\x82\xb8", NULL, "\xe3\x82\xba", NULL, "\xe3\x82\xbc", NULL, + "\xe3\x82\xbe", NULL, "\xe3\x83\x80" +}; + +static const char *grn_nfkc121_compose_prefix_e38299_table_e383[] = { + "\xe3\x83\x82", NULL, NULL, "\xe3\x83\x85", NULL, "\xe3\x83\x87", NULL, "\xe3\x83\x89", + NULL, NULL, NULL, NULL, NULL, NULL, "\xe3\x83\x90", NULL, + NULL, "\xe3\x83\x93", NULL, NULL, "\xe3\x83\x96", NULL, NULL, "\xe3\x83\x99", + NULL, NULL, "\xe3\x83\x9c", NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, "\xe3\x83\xb7", "\xe3\x83\xb8", + "\xe3\x83\xb9", "\xe3\x83\xba", NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xe3\x83\xbe" +}; + +static grn_inline const char * +grn_nfkc121_compose_prefix_e38299(const unsigned char *utf8) +{ + { + switch (utf8[0]) { + case 0xe3 : + switch (utf8[1]) { + case 0x81 : + if (utf8[2] >= 0x86 && + utf8[2] <= 0xbb) { + return grn_nfkc121_compose_prefix_e38299_table_e381[utf8[2] - 0x86]; + } + break; + case 0x82 : + if (utf8[2] >= 0x9d && + utf8[2] <= 0xbf) { + return grn_nfkc121_compose_prefix_e38299_table_e382[utf8[2] - 0x9d]; + } + break; + case 0x83 : + if (utf8[2] >= 0x81 && + utf8[2] <= 0xbd) { + return grn_nfkc121_compose_prefix_e38299_table_e383[utf8[2] - 0x81]; + } + break; + default : + break; + } + break; + default : + break; + } + } + + return NULL; +} + +static const char *grn_nfkc121_compose_prefix_e3829a_table_e381[] = { + "\xe3\x81\xb1", NULL, NULL, "\xe3\x81\xb4", NULL, NULL, "\xe3\x81\xb7", NULL, + NULL, "\xe3\x81\xba", NULL, NULL, "\xe3\x81\xbd" +}; + +static const char *grn_nfkc121_compose_prefix_e3829a_table_e383[] = { + "\xe3\x83\x91", NULL, NULL, "\xe3\x83\x94", NULL, NULL, "\xe3\x83\x97", NULL, + NULL, "\xe3\x83\x9a", NULL, NULL, "\xe3\x83\x9d" +}; + +static grn_inline const char * +grn_nfkc121_compose_prefix_e3829a(const unsigned char *utf8) +{ + { + switch (utf8[0]) { + case 0xe3 : + switch (utf8[1]) { + case 0x81 : + if (utf8[2] >= 0xaf && + utf8[2] <= 0xbb) { + return grn_nfkc121_compose_prefix_e3829a_table_e381[utf8[2] - 0xaf]; + } + break; + case 0x83 : + if (utf8[2] >= 0x8f && + utf8[2] <= 0x9b) { + return grn_nfkc121_compose_prefix_e3829a_table_e383[utf8[2] - 0x8f]; + } + break; + default : + break; + } + break; + default : + break; + } + } + + return NULL; +} + +static const char *grn_nfkc121_compose_prefix_e185a1_table_e184[] = { + "\xea\xb0\x80", "\xea\xb9\x8c", "\xeb\x82\x98", "\xeb\x8b\xa4", "\xeb\x94\xb0", "\xeb\x9d\xbc", "\xeb\xa7\x88", "\xeb\xb0\x94", + "\xeb\xb9\xa0", "\xec\x82\xac", "\xec\x8b\xb8", "\xec\x95\x84", "\xec\x9e\x90", "\xec\xa7\x9c", "\xec\xb0\xa8", "\xec\xb9\xb4", + "\xed\x83\x80", "\xed\x8c\x8c", "\xed\x95\x98" +}; + +static grn_inline const char * +grn_nfkc121_compose_prefix_e185a1(const unsigned char *utf8) +{ + { + switch (utf8[0]) { + case 0xe1 : + switch (utf8[1]) { + case 0x84 : + if (utf8[2] >= 0x80 && + utf8[2] <= 0x92) { + return grn_nfkc121_compose_prefix_e185a1_table_e184[utf8[2] - 0x80]; + } + break; + default : + break; + } + break; + default : + break; + } + } + + return NULL; +} + +static const char *grn_nfkc121_compose_prefix_e186a8_table_eab0[] = { + "\xea\xb0\x81", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xea\xb0\x9d", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xea\xb0\xb9" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_eab1[] = { + "\xea\xb1\x95", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xea\xb1\xb1" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_eab2[] = { + "\xea\xb2\x8d", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xea\xb2\xa9" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_eab3[] = { + "\xea\xb3\x85", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xea\xb3\xa1", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xea\xb3\xbd" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_eab4[] = { + "\xea\xb4\x99", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xea\xb4\xb5" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_eab5[] = { + "\xea\xb5\x91", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xea\xb5\xad" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_eab6[] = { + "\xea\xb6\x89", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xea\xb6\xa5" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_eab7[] = { + "\xea\xb7\x81", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xea\xb7\x9d", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xea\xb7\xb9" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_eab8[] = { + "\xea\xb8\x95", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xea\xb8\xb1" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_eab9[] = { + "\xea\xb9\x8d", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xea\xb9\xa9" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_eaba[] = { + "\xea\xba\x85", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xea\xba\xa1", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xea\xba\xbd" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_eabb[] = { + "\xea\xbb\x99", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xea\xbb\xb5" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_eabc[] = { + "\xea\xbc\x91", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xea\xbc\xad" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_eabd[] = { + "\xea\xbd\x89", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xea\xbd\xa5" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_eabe[] = { + "\xea\xbe\x81", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xea\xbe\x9d", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xea\xbe\xb9" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_eabf[] = { + "\xea\xbf\x95", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xea\xbf\xb1" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_eb80[] = { + "\xeb\x80\x8d", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\x80\xa9" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_eb81[] = { + "\xeb\x81\x85", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\x81\xa1", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xeb\x81\xbd" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_eb82[] = { + "\xeb\x82\x99", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\x82\xb5" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_eb83[] = { + "\xeb\x83\x91", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\x83\xad" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_eb84[] = { + "\xeb\x84\x89", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\x84\xa5" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_eb85[] = { + "\xeb\x85\x81", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\x85\x9d", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xeb\x85\xb9" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_eb86[] = { + "\xeb\x86\x95", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\x86\xb1" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_eb87[] = { + "\xeb\x87\x8d", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\x87\xa9" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_eb88[] = { + "\xeb\x88\x85", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\x88\xa1", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xeb\x88\xbd" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_eb89[] = { + "\xeb\x89\x99", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\x89\xb5" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_eb8a[] = { + "\xeb\x8a\x91", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\x8a\xad" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_eb8b[] = { + "\xeb\x8b\x89", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\x8b\xa5" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_eb8c[] = { + "\xeb\x8c\x81", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\x8c\x9d", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xeb\x8c\xb9" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_eb8d[] = { + "\xeb\x8d\x95", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\x8d\xb1" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_eb8e[] = { + "\xeb\x8e\x8d", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\x8e\xa9" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_eb8f[] = { + "\xeb\x8f\x85", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\x8f\xa1", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xeb\x8f\xbd" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_eb90[] = { + "\xeb\x90\x99", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\x90\xb5" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_eb91[] = { + "\xeb\x91\x91", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\x91\xad" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_eb92[] = { + "\xeb\x92\x89", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\x92\xa5" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_eb93[] = { + "\xeb\x93\x81", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\x93\x9d", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xeb\x93\xb9" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_eb94[] = { + "\xeb\x94\x95", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\x94\xb1" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_eb95[] = { + "\xeb\x95\x8d", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\x95\xa9" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_eb96[] = { + "\xeb\x96\x85", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\x96\xa1", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xeb\x96\xbd" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_eb97[] = { + "\xeb\x97\x99", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\x97\xb5" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_eb98[] = { + "\xeb\x98\x91", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\x98\xad" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_eb99[] = { + "\xeb\x99\x89", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\x99\xa5" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_eb9a[] = { + "\xeb\x9a\x81", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\x9a\x9d", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xeb\x9a\xb9" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_eb9b[] = { + "\xeb\x9b\x95", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\x9b\xb1" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_eb9c[] = { + "\xeb\x9c\x8d", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\x9c\xa9" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_eb9d[] = { + "\xeb\x9d\x85", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\x9d\xa1", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xeb\x9d\xbd" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_eb9e[] = { + "\xeb\x9e\x99", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\x9e\xb5" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_eb9f[] = { + "\xeb\x9f\x91", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\x9f\xad" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_eba0[] = { + "\xeb\xa0\x89", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\xa0\xa5" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_eba1[] = { + "\xeb\xa1\x81", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\xa1\x9d", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xeb\xa1\xb9" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_eba2[] = { + "\xeb\xa2\x95", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\xa2\xb1" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_eba3[] = { + "\xeb\xa3\x8d", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\xa3\xa9" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_eba4[] = { + "\xeb\xa4\x85", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\xa4\xa1", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xeb\xa4\xbd" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_eba5[] = { + "\xeb\xa5\x99", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\xa5\xb5" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_eba6[] = { + "\xeb\xa6\x91", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\xa6\xad" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_eba7[] = { + "\xeb\xa7\x89", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\xa7\xa5" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_eba8[] = { + "\xeb\xa8\x81", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\xa8\x9d", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xeb\xa8\xb9" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_eba9[] = { + "\xeb\xa9\x95", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\xa9\xb1" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_ebaa[] = { + "\xeb\xaa\x8d", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\xaa\xa9" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_ebab[] = { + "\xeb\xab\x85", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\xab\xa1", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xeb\xab\xbd" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_ebac[] = { + "\xeb\xac\x99", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\xac\xb5" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_ebad[] = { + "\xeb\xad\x91", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\xad\xad" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_ebae[] = { + "\xeb\xae\x89", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\xae\xa5" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_ebaf[] = { + "\xeb\xaf\x81", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\xaf\x9d", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xeb\xaf\xb9" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_ebb0[] = { + "\xeb\xb0\x95", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\xb0\xb1" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_ebb1[] = { + "\xeb\xb1\x8d", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\xb1\xa9" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_ebb2[] = { + "\xeb\xb2\x85", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\xb2\xa1", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xeb\xb2\xbd" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_ebb3[] = { + "\xeb\xb3\x99", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\xb3\xb5" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_ebb4[] = { + "\xeb\xb4\x91", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\xb4\xad" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_ebb5[] = { + "\xeb\xb5\x89", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\xb5\xa5" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_ebb6[] = { + "\xeb\xb6\x81", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\xb6\x9d", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xeb\xb6\xb9" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_ebb7[] = { + "\xeb\xb7\x95", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\xb7\xb1" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_ebb8[] = { + "\xeb\xb8\x8d", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\xb8\xa9" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_ebb9[] = { + "\xeb\xb9\x85", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\xb9\xa1", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xeb\xb9\xbd" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_ebba[] = { + "\xeb\xba\x99", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\xba\xb5" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_ebbb[] = { + "\xeb\xbb\x91", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\xbb\xad" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_ebbc[] = { + "\xeb\xbc\x89", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\xbc\xa5" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_ebbd[] = { + "\xeb\xbd\x81", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\xbd\x9d", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xeb\xbd\xb9" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_ebbe[] = { + "\xeb\xbe\x95", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\xbe\xb1" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_ebbf[] = { + "\xeb\xbf\x8d", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\xbf\xa9" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_ec80[] = { + "\xec\x80\x85", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\x80\xa1", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xec\x80\xbd" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_ec81[] = { + "\xec\x81\x99", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\x81\xb5" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_ec82[] = { + "\xec\x82\x91", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\x82\xad" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_ec83[] = { + "\xec\x83\x89", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\x83\xa5" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_ec84[] = { + "\xec\x84\x81", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\x84\x9d", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xec\x84\xb9" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_ec85[] = { + "\xec\x85\x95", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\x85\xb1" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_ec86[] = { + "\xec\x86\x8d", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\x86\xa9" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_ec87[] = { + "\xec\x87\x85", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\x87\xa1", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xec\x87\xbd" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_ec88[] = { + "\xec\x88\x99", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\x88\xb5" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_ec89[] = { + "\xec\x89\x91", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\x89\xad" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_ec8a[] = { + "\xec\x8a\x89", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\x8a\xa5" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_ec8b[] = { + "\xec\x8b\x81", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\x8b\x9d", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xec\x8b\xb9" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_ec8c[] = { + "\xec\x8c\x95", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\x8c\xb1" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_ec8d[] = { + "\xec\x8d\x8d", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\x8d\xa9" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_ec8e[] = { + "\xec\x8e\x85", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\x8e\xa1", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xec\x8e\xbd" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_ec8f[] = { + "\xec\x8f\x99", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\x8f\xb5" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_ec90[] = { + "\xec\x90\x91", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\x90\xad" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_ec91[] = { + "\xec\x91\x89", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\x91\xa5" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_ec92[] = { + "\xec\x92\x81", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\x92\x9d", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xec\x92\xb9" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_ec93[] = { + "\xec\x93\x95", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\x93\xb1" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_ec94[] = { + "\xec\x94\x8d", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\x94\xa9" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_ec95[] = { + "\xec\x95\x85", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\x95\xa1", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xec\x95\xbd" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_ec96[] = { + "\xec\x96\x99", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\x96\xb5" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_ec97[] = { + "\xec\x97\x91", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\x97\xad" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_ec98[] = { + "\xec\x98\x89", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\x98\xa5" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_ec99[] = { + "\xec\x99\x81", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\x99\x9d", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xec\x99\xb9" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_ec9a[] = { + "\xec\x9a\x95", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\x9a\xb1" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_ec9b[] = { + "\xec\x9b\x8d", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\x9b\xa9" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_ec9c[] = { + "\xec\x9c\x85", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\x9c\xa1", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xec\x9c\xbd" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_ec9d[] = { + "\xec\x9d\x99", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\x9d\xb5" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_ec9e[] = { + "\xec\x9e\x91", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\x9e\xad" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_ec9f[] = { + "\xec\x9f\x89", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\x9f\xa5" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_eca0[] = { + "\xec\xa0\x81", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\xa0\x9d", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xec\xa0\xb9" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_eca1[] = { + "\xec\xa1\x95", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\xa1\xb1" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_eca2[] = { + "\xec\xa2\x8d", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\xa2\xa9" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_eca3[] = { + "\xec\xa3\x85", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\xa3\xa1", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xec\xa3\xbd" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_eca4[] = { + "\xec\xa4\x99", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\xa4\xb5" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_eca5[] = { + "\xec\xa5\x91", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\xa5\xad" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_eca6[] = { + "\xec\xa6\x89", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\xa6\xa5" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_eca7[] = { + "\xec\xa7\x81", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\xa7\x9d", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xec\xa7\xb9" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_eca8[] = { + "\xec\xa8\x95", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\xa8\xb1" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_eca9[] = { + "\xec\xa9\x8d", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\xa9\xa9" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_ecaa[] = { + "\xec\xaa\x85", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\xaa\xa1", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xec\xaa\xbd" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_ecab[] = { + "\xec\xab\x99", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\xab\xb5" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_ecac[] = { + "\xec\xac\x91", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\xac\xad" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_ecad[] = { + "\xec\xad\x89", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\xad\xa5" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_ecae[] = { + "\xec\xae\x81", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\xae\x9d", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xec\xae\xb9" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_ecaf[] = { + "\xec\xaf\x95", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\xaf\xb1" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_ecb0[] = { + "\xec\xb0\x8d", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\xb0\xa9" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_ecb1[] = { + "\xec\xb1\x85", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\xb1\xa1", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xec\xb1\xbd" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_ecb2[] = { + "\xec\xb2\x99", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\xb2\xb5" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_ecb3[] = { + "\xec\xb3\x91", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\xb3\xad" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_ecb4[] = { + "\xec\xb4\x89", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\xb4\xa5" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_ecb5[] = { + "\xec\xb5\x81", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\xb5\x9d", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xec\xb5\xb9" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_ecb6[] = { + "\xec\xb6\x95", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\xb6\xb1" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_ecb7[] = { + "\xec\xb7\x8d", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\xb7\xa9" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_ecb8[] = { + "\xec\xb8\x85", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\xb8\xa1", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xec\xb8\xbd" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_ecb9[] = { + "\xec\xb9\x99", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\xb9\xb5" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_ecba[] = { + "\xec\xba\x91", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\xba\xad" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_ecbb[] = { + "\xec\xbb\x89", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\xbb\xa5" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_ecbc[] = { + "\xec\xbc\x81", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\xbc\x9d", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xec\xbc\xb9" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_ecbd[] = { + "\xec\xbd\x95", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\xbd\xb1" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_ecbe[] = { + "\xec\xbe\x8d", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\xbe\xa9" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_ecbf[] = { + "\xec\xbf\x85", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\xbf\xa1", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xec\xbf\xbd" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_ed80[] = { + "\xed\x80\x99", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xed\x80\xb5" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_ed81[] = { + "\xed\x81\x91", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xed\x81\xad" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_ed82[] = { + "\xed\x82\x89", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xed\x82\xa5" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_ed83[] = { + "\xed\x83\x81", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xed\x83\x9d", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xed\x83\xb9" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_ed84[] = { + "\xed\x84\x95", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xed\x84\xb1" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_ed85[] = { + "\xed\x85\x8d", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xed\x85\xa9" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_ed86[] = { + "\xed\x86\x85", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xed\x86\xa1", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xed\x86\xbd" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_ed87[] = { + "\xed\x87\x99", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xed\x87\xb5" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_ed88[] = { + "\xed\x88\x91", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xed\x88\xad" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_ed89[] = { + "\xed\x89\x89", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xed\x89\xa5" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_ed8a[] = { + "\xed\x8a\x81", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xed\x8a\x9d", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xed\x8a\xb9" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_ed8b[] = { + "\xed\x8b\x95", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xed\x8b\xb1" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_ed8c[] = { + "\xed\x8c\x8d", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xed\x8c\xa9" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_ed8d[] = { + "\xed\x8d\x85", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xed\x8d\xa1", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xed\x8d\xbd" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_ed8e[] = { + "\xed\x8e\x99", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xed\x8e\xb5" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_ed8f[] = { + "\xed\x8f\x91", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xed\x8f\xad" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_ed90[] = { + "\xed\x90\x89", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xed\x90\xa5" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_ed91[] = { + "\xed\x91\x81", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xed\x91\x9d", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xed\x91\xb9" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_ed92[] = { + "\xed\x92\x95", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xed\x92\xb1" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_ed93[] = { + "\xed\x93\x8d", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xed\x93\xa9" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_ed94[] = { + "\xed\x94\x85", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xed\x94\xa1", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xed\x94\xbd" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_ed95[] = { + "\xed\x95\x99", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xed\x95\xb5" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_ed96[] = { + "\xed\x96\x91", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xed\x96\xad" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_ed97[] = { + "\xed\x97\x89", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xed\x97\xa5" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_ed98[] = { + "\xed\x98\x81", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xed\x98\x9d", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xed\x98\xb9" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_ed99[] = { + "\xed\x99\x95", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xed\x99\xb1" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_ed9a[] = { + "\xed\x9a\x8d", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xed\x9a\xa9" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_ed9b[] = { + "\xed\x9b\x85", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xed\x9b\xa1", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xed\x9b\xbd" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_ed9c[] = { + "\xed\x9c\x99", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xed\x9c\xb5" +}; + +static const char *grn_nfkc121_compose_prefix_e186a8_table_ed9d[] = { + "\xed\x9d\x91", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xed\x9d\xad" +}; + +static grn_inline const char * +grn_nfkc121_compose_prefix_e186a8(const unsigned char *utf8) +{ + { + switch (utf8[0]) { + case 0xea : + switch (utf8[1]) { + case 0xb0 : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xb8) { + return grn_nfkc121_compose_prefix_e186a8_table_eab0[utf8[2] - 0x80]; + } + break; + case 0xb1 : + if (utf8[2] >= 0x94 && + utf8[2] <= 0xb0) { + return grn_nfkc121_compose_prefix_e186a8_table_eab1[utf8[2] - 0x94]; + } + break; + case 0xb2 : + if (utf8[2] >= 0x8c && + utf8[2] <= 0xa8) { + return grn_nfkc121_compose_prefix_e186a8_table_eab2[utf8[2] - 0x8c]; + } + break; + case 0xb3 : + if (utf8[2] >= 0x84 && + utf8[2] <= 0xbc) { + return grn_nfkc121_compose_prefix_e186a8_table_eab3[utf8[2] - 0x84]; + } + break; + case 0xb4 : + if (utf8[2] >= 0x98 && + utf8[2] <= 0xb4) { + return grn_nfkc121_compose_prefix_e186a8_table_eab4[utf8[2] - 0x98]; + } + break; + case 0xb5 : + if (utf8[2] >= 0x90 && + utf8[2] <= 0xac) { + return grn_nfkc121_compose_prefix_e186a8_table_eab5[utf8[2] - 0x90]; + } + break; + case 0xb6 : + if (utf8[2] >= 0x88 && + utf8[2] <= 0xa4) { + return grn_nfkc121_compose_prefix_e186a8_table_eab6[utf8[2] - 0x88]; + } + break; + case 0xb7 : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xb8) { + return grn_nfkc121_compose_prefix_e186a8_table_eab7[utf8[2] - 0x80]; + } + break; + case 0xb8 : + if (utf8[2] >= 0x94 && + utf8[2] <= 0xb0) { + return grn_nfkc121_compose_prefix_e186a8_table_eab8[utf8[2] - 0x94]; + } + break; + case 0xb9 : + if (utf8[2] >= 0x8c && + utf8[2] <= 0xa8) { + return grn_nfkc121_compose_prefix_e186a8_table_eab9[utf8[2] - 0x8c]; + } + break; + case 0xba : + if (utf8[2] >= 0x84 && + utf8[2] <= 0xbc) { + return grn_nfkc121_compose_prefix_e186a8_table_eaba[utf8[2] - 0x84]; + } + break; + case 0xbb : + if (utf8[2] >= 0x98 && + utf8[2] <= 0xb4) { + return grn_nfkc121_compose_prefix_e186a8_table_eabb[utf8[2] - 0x98]; + } + break; + case 0xbc : + if (utf8[2] >= 0x90 && + utf8[2] <= 0xac) { + return grn_nfkc121_compose_prefix_e186a8_table_eabc[utf8[2] - 0x90]; + } + break; + case 0xbd : + if (utf8[2] >= 0x88 && + utf8[2] <= 0xa4) { + return grn_nfkc121_compose_prefix_e186a8_table_eabd[utf8[2] - 0x88]; + } + break; + case 0xbe : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xb8) { + return grn_nfkc121_compose_prefix_e186a8_table_eabe[utf8[2] - 0x80]; + } + break; + case 0xbf : + if (utf8[2] >= 0x94 && + utf8[2] <= 0xb0) { + return grn_nfkc121_compose_prefix_e186a8_table_eabf[utf8[2] - 0x94]; + } + break; + default : + break; + } + break; + case 0xeb : + switch (utf8[1]) { + case 0x80 : + if (utf8[2] >= 0x8c && + utf8[2] <= 0xa8) { + return grn_nfkc121_compose_prefix_e186a8_table_eb80[utf8[2] - 0x8c]; + } + break; + case 0x81 : + if (utf8[2] >= 0x84 && + utf8[2] <= 0xbc) { + return grn_nfkc121_compose_prefix_e186a8_table_eb81[utf8[2] - 0x84]; + } + break; + case 0x82 : + if (utf8[2] >= 0x98 && + utf8[2] <= 0xb4) { + return grn_nfkc121_compose_prefix_e186a8_table_eb82[utf8[2] - 0x98]; + } + break; + case 0x83 : + if (utf8[2] >= 0x90 && + utf8[2] <= 0xac) { + return grn_nfkc121_compose_prefix_e186a8_table_eb83[utf8[2] - 0x90]; + } + break; + case 0x84 : + if (utf8[2] >= 0x88 && + utf8[2] <= 0xa4) { + return grn_nfkc121_compose_prefix_e186a8_table_eb84[utf8[2] - 0x88]; + } + break; + case 0x85 : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xb8) { + return grn_nfkc121_compose_prefix_e186a8_table_eb85[utf8[2] - 0x80]; + } + break; + case 0x86 : + if (utf8[2] >= 0x94 && + utf8[2] <= 0xb0) { + return grn_nfkc121_compose_prefix_e186a8_table_eb86[utf8[2] - 0x94]; + } + break; + case 0x87 : + if (utf8[2] >= 0x8c && + utf8[2] <= 0xa8) { + return grn_nfkc121_compose_prefix_e186a8_table_eb87[utf8[2] - 0x8c]; + } + break; + case 0x88 : + if (utf8[2] >= 0x84 && + utf8[2] <= 0xbc) { + return grn_nfkc121_compose_prefix_e186a8_table_eb88[utf8[2] - 0x84]; + } + break; + case 0x89 : + if (utf8[2] >= 0x98 && + utf8[2] <= 0xb4) { + return grn_nfkc121_compose_prefix_e186a8_table_eb89[utf8[2] - 0x98]; + } + break; + case 0x8a : + if (utf8[2] >= 0x90 && + utf8[2] <= 0xac) { + return grn_nfkc121_compose_prefix_e186a8_table_eb8a[utf8[2] - 0x90]; + } + break; + case 0x8b : + if (utf8[2] >= 0x88 && + utf8[2] <= 0xa4) { + return grn_nfkc121_compose_prefix_e186a8_table_eb8b[utf8[2] - 0x88]; + } + break; + case 0x8c : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xb8) { + return grn_nfkc121_compose_prefix_e186a8_table_eb8c[utf8[2] - 0x80]; + } + break; + case 0x8d : + if (utf8[2] >= 0x94 && + utf8[2] <= 0xb0) { + return grn_nfkc121_compose_prefix_e186a8_table_eb8d[utf8[2] - 0x94]; + } + break; + case 0x8e : + if (utf8[2] >= 0x8c && + utf8[2] <= 0xa8) { + return grn_nfkc121_compose_prefix_e186a8_table_eb8e[utf8[2] - 0x8c]; + } + break; + case 0x8f : + if (utf8[2] >= 0x84 && + utf8[2] <= 0xbc) { + return grn_nfkc121_compose_prefix_e186a8_table_eb8f[utf8[2] - 0x84]; + } + break; + case 0x90 : + if (utf8[2] >= 0x98 && + utf8[2] <= 0xb4) { + return grn_nfkc121_compose_prefix_e186a8_table_eb90[utf8[2] - 0x98]; + } + break; + case 0x91 : + if (utf8[2] >= 0x90 && + utf8[2] <= 0xac) { + return grn_nfkc121_compose_prefix_e186a8_table_eb91[utf8[2] - 0x90]; + } + break; + case 0x92 : + if (utf8[2] >= 0x88 && + utf8[2] <= 0xa4) { + return grn_nfkc121_compose_prefix_e186a8_table_eb92[utf8[2] - 0x88]; + } + break; + case 0x93 : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xb8) { + return grn_nfkc121_compose_prefix_e186a8_table_eb93[utf8[2] - 0x80]; + } + break; + case 0x94 : + if (utf8[2] >= 0x94 && + utf8[2] <= 0xb0) { + return grn_nfkc121_compose_prefix_e186a8_table_eb94[utf8[2] - 0x94]; + } + break; + case 0x95 : + if (utf8[2] >= 0x8c && + utf8[2] <= 0xa8) { + return grn_nfkc121_compose_prefix_e186a8_table_eb95[utf8[2] - 0x8c]; + } + break; + case 0x96 : + if (utf8[2] >= 0x84 && + utf8[2] <= 0xbc) { + return grn_nfkc121_compose_prefix_e186a8_table_eb96[utf8[2] - 0x84]; + } + break; + case 0x97 : + if (utf8[2] >= 0x98 && + utf8[2] <= 0xb4) { + return grn_nfkc121_compose_prefix_e186a8_table_eb97[utf8[2] - 0x98]; + } + break; + case 0x98 : + if (utf8[2] >= 0x90 && + utf8[2] <= 0xac) { + return grn_nfkc121_compose_prefix_e186a8_table_eb98[utf8[2] - 0x90]; + } + break; + case 0x99 : + if (utf8[2] >= 0x88 && + utf8[2] <= 0xa4) { + return grn_nfkc121_compose_prefix_e186a8_table_eb99[utf8[2] - 0x88]; + } + break; + case 0x9a : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xb8) { + return grn_nfkc121_compose_prefix_e186a8_table_eb9a[utf8[2] - 0x80]; + } + break; + case 0x9b : + if (utf8[2] >= 0x94 && + utf8[2] <= 0xb0) { + return grn_nfkc121_compose_prefix_e186a8_table_eb9b[utf8[2] - 0x94]; + } + break; + case 0x9c : + if (utf8[2] >= 0x8c && + utf8[2] <= 0xa8) { + return grn_nfkc121_compose_prefix_e186a8_table_eb9c[utf8[2] - 0x8c]; + } + break; + case 0x9d : + if (utf8[2] >= 0x84 && + utf8[2] <= 0xbc) { + return grn_nfkc121_compose_prefix_e186a8_table_eb9d[utf8[2] - 0x84]; + } + break; + case 0x9e : + if (utf8[2] >= 0x98 && + utf8[2] <= 0xb4) { + return grn_nfkc121_compose_prefix_e186a8_table_eb9e[utf8[2] - 0x98]; + } + break; + case 0x9f : + if (utf8[2] >= 0x90 && + utf8[2] <= 0xac) { + return grn_nfkc121_compose_prefix_e186a8_table_eb9f[utf8[2] - 0x90]; + } + break; + case 0xa0 : + if (utf8[2] >= 0x88 && + utf8[2] <= 0xa4) { + return grn_nfkc121_compose_prefix_e186a8_table_eba0[utf8[2] - 0x88]; + } + break; + case 0xa1 : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xb8) { + return grn_nfkc121_compose_prefix_e186a8_table_eba1[utf8[2] - 0x80]; + } + break; + case 0xa2 : + if (utf8[2] >= 0x94 && + utf8[2] <= 0xb0) { + return grn_nfkc121_compose_prefix_e186a8_table_eba2[utf8[2] - 0x94]; + } + break; + case 0xa3 : + if (utf8[2] >= 0x8c && + utf8[2] <= 0xa8) { + return grn_nfkc121_compose_prefix_e186a8_table_eba3[utf8[2] - 0x8c]; + } + break; + case 0xa4 : + if (utf8[2] >= 0x84 && + utf8[2] <= 0xbc) { + return grn_nfkc121_compose_prefix_e186a8_table_eba4[utf8[2] - 0x84]; + } + break; + case 0xa5 : + if (utf8[2] >= 0x98 && + utf8[2] <= 0xb4) { + return grn_nfkc121_compose_prefix_e186a8_table_eba5[utf8[2] - 0x98]; + } + break; + case 0xa6 : + if (utf8[2] >= 0x90 && + utf8[2] <= 0xac) { + return grn_nfkc121_compose_prefix_e186a8_table_eba6[utf8[2] - 0x90]; + } + break; + case 0xa7 : + if (utf8[2] >= 0x88 && + utf8[2] <= 0xa4) { + return grn_nfkc121_compose_prefix_e186a8_table_eba7[utf8[2] - 0x88]; + } + break; + case 0xa8 : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xb8) { + return grn_nfkc121_compose_prefix_e186a8_table_eba8[utf8[2] - 0x80]; + } + break; + case 0xa9 : + if (utf8[2] >= 0x94 && + utf8[2] <= 0xb0) { + return grn_nfkc121_compose_prefix_e186a8_table_eba9[utf8[2] - 0x94]; + } + break; + case 0xaa : + if (utf8[2] >= 0x8c && + utf8[2] <= 0xa8) { + return grn_nfkc121_compose_prefix_e186a8_table_ebaa[utf8[2] - 0x8c]; + } + break; + case 0xab : + if (utf8[2] >= 0x84 && + utf8[2] <= 0xbc) { + return grn_nfkc121_compose_prefix_e186a8_table_ebab[utf8[2] - 0x84]; + } + break; + case 0xac : + if (utf8[2] >= 0x98 && + utf8[2] <= 0xb4) { + return grn_nfkc121_compose_prefix_e186a8_table_ebac[utf8[2] - 0x98]; + } + break; + case 0xad : + if (utf8[2] >= 0x90 && + utf8[2] <= 0xac) { + return grn_nfkc121_compose_prefix_e186a8_table_ebad[utf8[2] - 0x90]; + } + break; + case 0xae : + if (utf8[2] >= 0x88 && + utf8[2] <= 0xa4) { + return grn_nfkc121_compose_prefix_e186a8_table_ebae[utf8[2] - 0x88]; + } + break; + case 0xaf : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xb8) { + return grn_nfkc121_compose_prefix_e186a8_table_ebaf[utf8[2] - 0x80]; + } + break; + case 0xb0 : + if (utf8[2] >= 0x94 && + utf8[2] <= 0xb0) { + return grn_nfkc121_compose_prefix_e186a8_table_ebb0[utf8[2] - 0x94]; + } + break; + case 0xb1 : + if (utf8[2] >= 0x8c && + utf8[2] <= 0xa8) { + return grn_nfkc121_compose_prefix_e186a8_table_ebb1[utf8[2] - 0x8c]; + } + break; + case 0xb2 : + if (utf8[2] >= 0x84 && + utf8[2] <= 0xbc) { + return grn_nfkc121_compose_prefix_e186a8_table_ebb2[utf8[2] - 0x84]; + } + break; + case 0xb3 : + if (utf8[2] >= 0x98 && + utf8[2] <= 0xb4) { + return grn_nfkc121_compose_prefix_e186a8_table_ebb3[utf8[2] - 0x98]; + } + break; + case 0xb4 : + if (utf8[2] >= 0x90 && + utf8[2] <= 0xac) { + return grn_nfkc121_compose_prefix_e186a8_table_ebb4[utf8[2] - 0x90]; + } + break; + case 0xb5 : + if (utf8[2] >= 0x88 && + utf8[2] <= 0xa4) { + return grn_nfkc121_compose_prefix_e186a8_table_ebb5[utf8[2] - 0x88]; + } + break; + case 0xb6 : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xb8) { + return grn_nfkc121_compose_prefix_e186a8_table_ebb6[utf8[2] - 0x80]; + } + break; + case 0xb7 : + if (utf8[2] >= 0x94 && + utf8[2] <= 0xb0) { + return grn_nfkc121_compose_prefix_e186a8_table_ebb7[utf8[2] - 0x94]; + } + break; + case 0xb8 : + if (utf8[2] >= 0x8c && + utf8[2] <= 0xa8) { + return grn_nfkc121_compose_prefix_e186a8_table_ebb8[utf8[2] - 0x8c]; + } + break; + case 0xb9 : + if (utf8[2] >= 0x84 && + utf8[2] <= 0xbc) { + return grn_nfkc121_compose_prefix_e186a8_table_ebb9[utf8[2] - 0x84]; + } + break; + case 0xba : + if (utf8[2] >= 0x98 && + utf8[2] <= 0xb4) { + return grn_nfkc121_compose_prefix_e186a8_table_ebba[utf8[2] - 0x98]; + } + break; + case 0xbb : + if (utf8[2] >= 0x90 && + utf8[2] <= 0xac) { + return grn_nfkc121_compose_prefix_e186a8_table_ebbb[utf8[2] - 0x90]; + } + break; + case 0xbc : + if (utf8[2] >= 0x88 && + utf8[2] <= 0xa4) { + return grn_nfkc121_compose_prefix_e186a8_table_ebbc[utf8[2] - 0x88]; + } + break; + case 0xbd : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xb8) { + return grn_nfkc121_compose_prefix_e186a8_table_ebbd[utf8[2] - 0x80]; + } + break; + case 0xbe : + if (utf8[2] >= 0x94 && + utf8[2] <= 0xb0) { + return grn_nfkc121_compose_prefix_e186a8_table_ebbe[utf8[2] - 0x94]; + } + break; + case 0xbf : + if (utf8[2] >= 0x8c && + utf8[2] <= 0xa8) { + return grn_nfkc121_compose_prefix_e186a8_table_ebbf[utf8[2] - 0x8c]; + } + break; + default : + break; + } + break; + case 0xec : + switch (utf8[1]) { + case 0x80 : + if (utf8[2] >= 0x84 && + utf8[2] <= 0xbc) { + return grn_nfkc121_compose_prefix_e186a8_table_ec80[utf8[2] - 0x84]; + } + break; + case 0x81 : + if (utf8[2] >= 0x98 && + utf8[2] <= 0xb4) { + return grn_nfkc121_compose_prefix_e186a8_table_ec81[utf8[2] - 0x98]; + } + break; + case 0x82 : + if (utf8[2] >= 0x90 && + utf8[2] <= 0xac) { + return grn_nfkc121_compose_prefix_e186a8_table_ec82[utf8[2] - 0x90]; + } + break; + case 0x83 : + if (utf8[2] >= 0x88 && + utf8[2] <= 0xa4) { + return grn_nfkc121_compose_prefix_e186a8_table_ec83[utf8[2] - 0x88]; + } + break; + case 0x84 : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xb8) { + return grn_nfkc121_compose_prefix_e186a8_table_ec84[utf8[2] - 0x80]; + } + break; + case 0x85 : + if (utf8[2] >= 0x94 && + utf8[2] <= 0xb0) { + return grn_nfkc121_compose_prefix_e186a8_table_ec85[utf8[2] - 0x94]; + } + break; + case 0x86 : + if (utf8[2] >= 0x8c && + utf8[2] <= 0xa8) { + return grn_nfkc121_compose_prefix_e186a8_table_ec86[utf8[2] - 0x8c]; + } + break; + case 0x87 : + if (utf8[2] >= 0x84 && + utf8[2] <= 0xbc) { + return grn_nfkc121_compose_prefix_e186a8_table_ec87[utf8[2] - 0x84]; + } + break; + case 0x88 : + if (utf8[2] >= 0x98 && + utf8[2] <= 0xb4) { + return grn_nfkc121_compose_prefix_e186a8_table_ec88[utf8[2] - 0x98]; + } + break; + case 0x89 : + if (utf8[2] >= 0x90 && + utf8[2] <= 0xac) { + return grn_nfkc121_compose_prefix_e186a8_table_ec89[utf8[2] - 0x90]; + } + break; + case 0x8a : + if (utf8[2] >= 0x88 && + utf8[2] <= 0xa4) { + return grn_nfkc121_compose_prefix_e186a8_table_ec8a[utf8[2] - 0x88]; + } + break; + case 0x8b : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xb8) { + return grn_nfkc121_compose_prefix_e186a8_table_ec8b[utf8[2] - 0x80]; + } + break; + case 0x8c : + if (utf8[2] >= 0x94 && + utf8[2] <= 0xb0) { + return grn_nfkc121_compose_prefix_e186a8_table_ec8c[utf8[2] - 0x94]; + } + break; + case 0x8d : + if (utf8[2] >= 0x8c && + utf8[2] <= 0xa8) { + return grn_nfkc121_compose_prefix_e186a8_table_ec8d[utf8[2] - 0x8c]; + } + break; + case 0x8e : + if (utf8[2] >= 0x84 && + utf8[2] <= 0xbc) { + return grn_nfkc121_compose_prefix_e186a8_table_ec8e[utf8[2] - 0x84]; + } + break; + case 0x8f : + if (utf8[2] >= 0x98 && + utf8[2] <= 0xb4) { + return grn_nfkc121_compose_prefix_e186a8_table_ec8f[utf8[2] - 0x98]; + } + break; + case 0x90 : + if (utf8[2] >= 0x90 && + utf8[2] <= 0xac) { + return grn_nfkc121_compose_prefix_e186a8_table_ec90[utf8[2] - 0x90]; + } + break; + case 0x91 : + if (utf8[2] >= 0x88 && + utf8[2] <= 0xa4) { + return grn_nfkc121_compose_prefix_e186a8_table_ec91[utf8[2] - 0x88]; + } + break; + case 0x92 : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xb8) { + return grn_nfkc121_compose_prefix_e186a8_table_ec92[utf8[2] - 0x80]; + } + break; + case 0x93 : + if (utf8[2] >= 0x94 && + utf8[2] <= 0xb0) { + return grn_nfkc121_compose_prefix_e186a8_table_ec93[utf8[2] - 0x94]; + } + break; + case 0x94 : + if (utf8[2] >= 0x8c && + utf8[2] <= 0xa8) { + return grn_nfkc121_compose_prefix_e186a8_table_ec94[utf8[2] - 0x8c]; + } + break; + case 0x95 : + if (utf8[2] >= 0x84 && + utf8[2] <= 0xbc) { + return grn_nfkc121_compose_prefix_e186a8_table_ec95[utf8[2] - 0x84]; + } + break; + case 0x96 : + if (utf8[2] >= 0x98 && + utf8[2] <= 0xb4) { + return grn_nfkc121_compose_prefix_e186a8_table_ec96[utf8[2] - 0x98]; + } + break; + case 0x97 : + if (utf8[2] >= 0x90 && + utf8[2] <= 0xac) { + return grn_nfkc121_compose_prefix_e186a8_table_ec97[utf8[2] - 0x90]; + } + break; + case 0x98 : + if (utf8[2] >= 0x88 && + utf8[2] <= 0xa4) { + return grn_nfkc121_compose_prefix_e186a8_table_ec98[utf8[2] - 0x88]; + } + break; + case 0x99 : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xb8) { + return grn_nfkc121_compose_prefix_e186a8_table_ec99[utf8[2] - 0x80]; + } + break; + case 0x9a : + if (utf8[2] >= 0x94 && + utf8[2] <= 0xb0) { + return grn_nfkc121_compose_prefix_e186a8_table_ec9a[utf8[2] - 0x94]; + } + break; + case 0x9b : + if (utf8[2] >= 0x8c && + utf8[2] <= 0xa8) { + return grn_nfkc121_compose_prefix_e186a8_table_ec9b[utf8[2] - 0x8c]; + } + break; + case 0x9c : + if (utf8[2] >= 0x84 && + utf8[2] <= 0xbc) { + return grn_nfkc121_compose_prefix_e186a8_table_ec9c[utf8[2] - 0x84]; + } + break; + case 0x9d : + if (utf8[2] >= 0x98 && + utf8[2] <= 0xb4) { + return grn_nfkc121_compose_prefix_e186a8_table_ec9d[utf8[2] - 0x98]; + } + break; + case 0x9e : + if (utf8[2] >= 0x90 && + utf8[2] <= 0xac) { + return grn_nfkc121_compose_prefix_e186a8_table_ec9e[utf8[2] - 0x90]; + } + break; + case 0x9f : + if (utf8[2] >= 0x88 && + utf8[2] <= 0xa4) { + return grn_nfkc121_compose_prefix_e186a8_table_ec9f[utf8[2] - 0x88]; + } + break; + case 0xa0 : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xb8) { + return grn_nfkc121_compose_prefix_e186a8_table_eca0[utf8[2] - 0x80]; + } + break; + case 0xa1 : + if (utf8[2] >= 0x94 && + utf8[2] <= 0xb0) { + return grn_nfkc121_compose_prefix_e186a8_table_eca1[utf8[2] - 0x94]; + } + break; + case 0xa2 : + if (utf8[2] >= 0x8c && + utf8[2] <= 0xa8) { + return grn_nfkc121_compose_prefix_e186a8_table_eca2[utf8[2] - 0x8c]; + } + break; + case 0xa3 : + if (utf8[2] >= 0x84 && + utf8[2] <= 0xbc) { + return grn_nfkc121_compose_prefix_e186a8_table_eca3[utf8[2] - 0x84]; + } + break; + case 0xa4 : + if (utf8[2] >= 0x98 && + utf8[2] <= 0xb4) { + return grn_nfkc121_compose_prefix_e186a8_table_eca4[utf8[2] - 0x98]; + } + break; + case 0xa5 : + if (utf8[2] >= 0x90 && + utf8[2] <= 0xac) { + return grn_nfkc121_compose_prefix_e186a8_table_eca5[utf8[2] - 0x90]; + } + break; + case 0xa6 : + if (utf8[2] >= 0x88 && + utf8[2] <= 0xa4) { + return grn_nfkc121_compose_prefix_e186a8_table_eca6[utf8[2] - 0x88]; + } + break; + case 0xa7 : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xb8) { + return grn_nfkc121_compose_prefix_e186a8_table_eca7[utf8[2] - 0x80]; + } + break; + case 0xa8 : + if (utf8[2] >= 0x94 && + utf8[2] <= 0xb0) { + return grn_nfkc121_compose_prefix_e186a8_table_eca8[utf8[2] - 0x94]; + } + break; + case 0xa9 : + if (utf8[2] >= 0x8c && + utf8[2] <= 0xa8) { + return grn_nfkc121_compose_prefix_e186a8_table_eca9[utf8[2] - 0x8c]; + } + break; + case 0xaa : + if (utf8[2] >= 0x84 && + utf8[2] <= 0xbc) { + return grn_nfkc121_compose_prefix_e186a8_table_ecaa[utf8[2] - 0x84]; + } + break; + case 0xab : + if (utf8[2] >= 0x98 && + utf8[2] <= 0xb4) { + return grn_nfkc121_compose_prefix_e186a8_table_ecab[utf8[2] - 0x98]; + } + break; + case 0xac : + if (utf8[2] >= 0x90 && + utf8[2] <= 0xac) { + return grn_nfkc121_compose_prefix_e186a8_table_ecac[utf8[2] - 0x90]; + } + break; + case 0xad : + if (utf8[2] >= 0x88 && + utf8[2] <= 0xa4) { + return grn_nfkc121_compose_prefix_e186a8_table_ecad[utf8[2] - 0x88]; + } + break; + case 0xae : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xb8) { + return grn_nfkc121_compose_prefix_e186a8_table_ecae[utf8[2] - 0x80]; + } + break; + case 0xaf : + if (utf8[2] >= 0x94 && + utf8[2] <= 0xb0) { + return grn_nfkc121_compose_prefix_e186a8_table_ecaf[utf8[2] - 0x94]; + } + break; + case 0xb0 : + if (utf8[2] >= 0x8c && + utf8[2] <= 0xa8) { + return grn_nfkc121_compose_prefix_e186a8_table_ecb0[utf8[2] - 0x8c]; + } + break; + case 0xb1 : + if (utf8[2] >= 0x84 && + utf8[2] <= 0xbc) { + return grn_nfkc121_compose_prefix_e186a8_table_ecb1[utf8[2] - 0x84]; + } + break; + case 0xb2 : + if (utf8[2] >= 0x98 && + utf8[2] <= 0xb4) { + return grn_nfkc121_compose_prefix_e186a8_table_ecb2[utf8[2] - 0x98]; + } + break; + case 0xb3 : + if (utf8[2] >= 0x90 && + utf8[2] <= 0xac) { + return grn_nfkc121_compose_prefix_e186a8_table_ecb3[utf8[2] - 0x90]; + } + break; + case 0xb4 : + if (utf8[2] >= 0x88 && + utf8[2] <= 0xa4) { + return grn_nfkc121_compose_prefix_e186a8_table_ecb4[utf8[2] - 0x88]; + } + break; + case 0xb5 : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xb8) { + return grn_nfkc121_compose_prefix_e186a8_table_ecb5[utf8[2] - 0x80]; + } + break; + case 0xb6 : + if (utf8[2] >= 0x94 && + utf8[2] <= 0xb0) { + return grn_nfkc121_compose_prefix_e186a8_table_ecb6[utf8[2] - 0x94]; + } + break; + case 0xb7 : + if (utf8[2] >= 0x8c && + utf8[2] <= 0xa8) { + return grn_nfkc121_compose_prefix_e186a8_table_ecb7[utf8[2] - 0x8c]; + } + break; + case 0xb8 : + if (utf8[2] >= 0x84 && + utf8[2] <= 0xbc) { + return grn_nfkc121_compose_prefix_e186a8_table_ecb8[utf8[2] - 0x84]; + } + break; + case 0xb9 : + if (utf8[2] >= 0x98 && + utf8[2] <= 0xb4) { + return grn_nfkc121_compose_prefix_e186a8_table_ecb9[utf8[2] - 0x98]; + } + break; + case 0xba : + if (utf8[2] >= 0x90 && + utf8[2] <= 0xac) { + return grn_nfkc121_compose_prefix_e186a8_table_ecba[utf8[2] - 0x90]; + } + break; + case 0xbb : + if (utf8[2] >= 0x88 && + utf8[2] <= 0xa4) { + return grn_nfkc121_compose_prefix_e186a8_table_ecbb[utf8[2] - 0x88]; + } + break; + case 0xbc : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xb8) { + return grn_nfkc121_compose_prefix_e186a8_table_ecbc[utf8[2] - 0x80]; + } + break; + case 0xbd : + if (utf8[2] >= 0x94 && + utf8[2] <= 0xb0) { + return grn_nfkc121_compose_prefix_e186a8_table_ecbd[utf8[2] - 0x94]; + } + break; + case 0xbe : + if (utf8[2] >= 0x8c && + utf8[2] <= 0xa8) { + return grn_nfkc121_compose_prefix_e186a8_table_ecbe[utf8[2] - 0x8c]; + } + break; + case 0xbf : + if (utf8[2] >= 0x84 && + utf8[2] <= 0xbc) { + return grn_nfkc121_compose_prefix_e186a8_table_ecbf[utf8[2] - 0x84]; + } + break; + default : + break; + } + break; + case 0xed : + switch (utf8[1]) { + case 0x80 : + if (utf8[2] >= 0x98 && + utf8[2] <= 0xb4) { + return grn_nfkc121_compose_prefix_e186a8_table_ed80[utf8[2] - 0x98]; + } + break; + case 0x81 : + if (utf8[2] >= 0x90 && + utf8[2] <= 0xac) { + return grn_nfkc121_compose_prefix_e186a8_table_ed81[utf8[2] - 0x90]; + } + break; + case 0x82 : + if (utf8[2] >= 0x88 && + utf8[2] <= 0xa4) { + return grn_nfkc121_compose_prefix_e186a8_table_ed82[utf8[2] - 0x88]; + } + break; + case 0x83 : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xb8) { + return grn_nfkc121_compose_prefix_e186a8_table_ed83[utf8[2] - 0x80]; + } + break; + case 0x84 : + if (utf8[2] >= 0x94 && + utf8[2] <= 0xb0) { + return grn_nfkc121_compose_prefix_e186a8_table_ed84[utf8[2] - 0x94]; + } + break; + case 0x85 : + if (utf8[2] >= 0x8c && + utf8[2] <= 0xa8) { + return grn_nfkc121_compose_prefix_e186a8_table_ed85[utf8[2] - 0x8c]; + } + break; + case 0x86 : + if (utf8[2] >= 0x84 && + utf8[2] <= 0xbc) { + return grn_nfkc121_compose_prefix_e186a8_table_ed86[utf8[2] - 0x84]; + } + break; + case 0x87 : + if (utf8[2] >= 0x98 && + utf8[2] <= 0xb4) { + return grn_nfkc121_compose_prefix_e186a8_table_ed87[utf8[2] - 0x98]; + } + break; + case 0x88 : + if (utf8[2] >= 0x90 && + utf8[2] <= 0xac) { + return grn_nfkc121_compose_prefix_e186a8_table_ed88[utf8[2] - 0x90]; + } + break; + case 0x89 : + if (utf8[2] >= 0x88 && + utf8[2] <= 0xa4) { + return grn_nfkc121_compose_prefix_e186a8_table_ed89[utf8[2] - 0x88]; + } + break; + case 0x8a : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xb8) { + return grn_nfkc121_compose_prefix_e186a8_table_ed8a[utf8[2] - 0x80]; + } + break; + case 0x8b : + if (utf8[2] >= 0x94 && + utf8[2] <= 0xb0) { + return grn_nfkc121_compose_prefix_e186a8_table_ed8b[utf8[2] - 0x94]; + } + break; + case 0x8c : + if (utf8[2] >= 0x8c && + utf8[2] <= 0xa8) { + return grn_nfkc121_compose_prefix_e186a8_table_ed8c[utf8[2] - 0x8c]; + } + break; + case 0x8d : + if (utf8[2] >= 0x84 && + utf8[2] <= 0xbc) { + return grn_nfkc121_compose_prefix_e186a8_table_ed8d[utf8[2] - 0x84]; + } + break; + case 0x8e : + if (utf8[2] >= 0x98 && + utf8[2] <= 0xb4) { + return grn_nfkc121_compose_prefix_e186a8_table_ed8e[utf8[2] - 0x98]; + } + break; + case 0x8f : + if (utf8[2] >= 0x90 && + utf8[2] <= 0xac) { + return grn_nfkc121_compose_prefix_e186a8_table_ed8f[utf8[2] - 0x90]; + } + break; + case 0x90 : + if (utf8[2] >= 0x88 && + utf8[2] <= 0xa4) { + return grn_nfkc121_compose_prefix_e186a8_table_ed90[utf8[2] - 0x88]; + } + break; + case 0x91 : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xb8) { + return grn_nfkc121_compose_prefix_e186a8_table_ed91[utf8[2] - 0x80]; + } + break; + case 0x92 : + if (utf8[2] >= 0x94 && + utf8[2] <= 0xb0) { + return grn_nfkc121_compose_prefix_e186a8_table_ed92[utf8[2] - 0x94]; + } + break; + case 0x93 : + if (utf8[2] >= 0x8c && + utf8[2] <= 0xa8) { + return grn_nfkc121_compose_prefix_e186a8_table_ed93[utf8[2] - 0x8c]; + } + break; + case 0x94 : + if (utf8[2] >= 0x84 && + utf8[2] <= 0xbc) { + return grn_nfkc121_compose_prefix_e186a8_table_ed94[utf8[2] - 0x84]; + } + break; + case 0x95 : + if (utf8[2] >= 0x98 && + utf8[2] <= 0xb4) { + return grn_nfkc121_compose_prefix_e186a8_table_ed95[utf8[2] - 0x98]; + } + break; + case 0x96 : + if (utf8[2] >= 0x90 && + utf8[2] <= 0xac) { + return grn_nfkc121_compose_prefix_e186a8_table_ed96[utf8[2] - 0x90]; + } + break; + case 0x97 : + if (utf8[2] >= 0x88 && + utf8[2] <= 0xa4) { + return grn_nfkc121_compose_prefix_e186a8_table_ed97[utf8[2] - 0x88]; + } + break; + case 0x98 : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xb8) { + return grn_nfkc121_compose_prefix_e186a8_table_ed98[utf8[2] - 0x80]; + } + break; + case 0x99 : + if (utf8[2] >= 0x94 && + utf8[2] <= 0xb0) { + return grn_nfkc121_compose_prefix_e186a8_table_ed99[utf8[2] - 0x94]; + } + break; + case 0x9a : + if (utf8[2] >= 0x8c && + utf8[2] <= 0xa8) { + return grn_nfkc121_compose_prefix_e186a8_table_ed9a[utf8[2] - 0x8c]; + } + break; + case 0x9b : + if (utf8[2] >= 0x84 && + utf8[2] <= 0xbc) { + return grn_nfkc121_compose_prefix_e186a8_table_ed9b[utf8[2] - 0x84]; + } + break; + case 0x9c : + if (utf8[2] >= 0x98 && + utf8[2] <= 0xb4) { + return grn_nfkc121_compose_prefix_e186a8_table_ed9c[utf8[2] - 0x98]; + } + break; + case 0x9d : + if (utf8[2] >= 0x90 && + utf8[2] <= 0xac) { + return grn_nfkc121_compose_prefix_e186a8_table_ed9d[utf8[2] - 0x90]; + } + break; + case 0x9e : + if (utf8[2] == 0x88) { + return "\xed\x9e\x89"; + } + break; + default : + break; + } + break; + default : + break; + } + } + + return NULL; +} + +static const char *grn_nfkc121_compose_prefix_e186a9_table_eab0[] = { + "\xea\xb0\x82", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xea\xb0\x9e", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xea\xb0\xba" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_eab1[] = { + "\xea\xb1\x96", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xea\xb1\xb2" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_eab2[] = { + "\xea\xb2\x8e", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xea\xb2\xaa" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_eab3[] = { + "\xea\xb3\x86", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xea\xb3\xa2", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xea\xb3\xbe" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_eab4[] = { + "\xea\xb4\x9a", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xea\xb4\xb6" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_eab5[] = { + "\xea\xb5\x92", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xea\xb5\xae" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_eab6[] = { + "\xea\xb6\x8a", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xea\xb6\xa6" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_eab7[] = { + "\xea\xb7\x82", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xea\xb7\x9e", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xea\xb7\xba" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_eab8[] = { + "\xea\xb8\x96", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xea\xb8\xb2" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_eab9[] = { + "\xea\xb9\x8e", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xea\xb9\xaa" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_eaba[] = { + "\xea\xba\x86", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xea\xba\xa2", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xea\xba\xbe" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_eabb[] = { + "\xea\xbb\x9a", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xea\xbb\xb6" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_eabc[] = { + "\xea\xbc\x92", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xea\xbc\xae" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_eabd[] = { + "\xea\xbd\x8a", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xea\xbd\xa6" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_eabe[] = { + "\xea\xbe\x82", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xea\xbe\x9e", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xea\xbe\xba" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_eabf[] = { + "\xea\xbf\x96", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xea\xbf\xb2" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_eb80[] = { + "\xeb\x80\x8e", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\x80\xaa" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_eb81[] = { + "\xeb\x81\x86", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\x81\xa2", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xeb\x81\xbe" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_eb82[] = { + "\xeb\x82\x9a", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\x82\xb6" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_eb83[] = { + "\xeb\x83\x92", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\x83\xae" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_eb84[] = { + "\xeb\x84\x8a", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\x84\xa6" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_eb85[] = { + "\xeb\x85\x82", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\x85\x9e", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xeb\x85\xba" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_eb86[] = { + "\xeb\x86\x96", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\x86\xb2" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_eb87[] = { + "\xeb\x87\x8e", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\x87\xaa" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_eb88[] = { + "\xeb\x88\x86", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\x88\xa2", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xeb\x88\xbe" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_eb89[] = { + "\xeb\x89\x9a", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\x89\xb6" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_eb8a[] = { + "\xeb\x8a\x92", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\x8a\xae" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_eb8b[] = { + "\xeb\x8b\x8a", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\x8b\xa6" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_eb8c[] = { + "\xeb\x8c\x82", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\x8c\x9e", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xeb\x8c\xba" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_eb8d[] = { + "\xeb\x8d\x96", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\x8d\xb2" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_eb8e[] = { + "\xeb\x8e\x8e", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\x8e\xaa" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_eb8f[] = { + "\xeb\x8f\x86", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\x8f\xa2", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xeb\x8f\xbe" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_eb90[] = { + "\xeb\x90\x9a", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\x90\xb6" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_eb91[] = { + "\xeb\x91\x92", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\x91\xae" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_eb92[] = { + "\xeb\x92\x8a", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\x92\xa6" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_eb93[] = { + "\xeb\x93\x82", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\x93\x9e", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xeb\x93\xba" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_eb94[] = { + "\xeb\x94\x96", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\x94\xb2" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_eb95[] = { + "\xeb\x95\x8e", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\x95\xaa" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_eb96[] = { + "\xeb\x96\x86", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\x96\xa2", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xeb\x96\xbe" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_eb97[] = { + "\xeb\x97\x9a", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\x97\xb6" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_eb98[] = { + "\xeb\x98\x92", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\x98\xae" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_eb99[] = { + "\xeb\x99\x8a", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\x99\xa6" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_eb9a[] = { + "\xeb\x9a\x82", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\x9a\x9e", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xeb\x9a\xba" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_eb9b[] = { + "\xeb\x9b\x96", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\x9b\xb2" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_eb9c[] = { + "\xeb\x9c\x8e", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\x9c\xaa" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_eb9d[] = { + "\xeb\x9d\x86", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\x9d\xa2", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xeb\x9d\xbe" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_eb9e[] = { + "\xeb\x9e\x9a", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\x9e\xb6" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_eb9f[] = { + "\xeb\x9f\x92", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\x9f\xae" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_eba0[] = { + "\xeb\xa0\x8a", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\xa0\xa6" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_eba1[] = { + "\xeb\xa1\x82", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\xa1\x9e", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xeb\xa1\xba" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_eba2[] = { + "\xeb\xa2\x96", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\xa2\xb2" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_eba3[] = { + "\xeb\xa3\x8e", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\xa3\xaa" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_eba4[] = { + "\xeb\xa4\x86", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\xa4\xa2", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xeb\xa4\xbe" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_eba5[] = { + "\xeb\xa5\x9a", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\xa5\xb6" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_eba6[] = { + "\xeb\xa6\x92", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\xa6\xae" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_eba7[] = { + "\xeb\xa7\x8a", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\xa7\xa6" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_eba8[] = { + "\xeb\xa8\x82", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\xa8\x9e", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xeb\xa8\xba" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_eba9[] = { + "\xeb\xa9\x96", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\xa9\xb2" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_ebaa[] = { + "\xeb\xaa\x8e", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\xaa\xaa" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_ebab[] = { + "\xeb\xab\x86", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\xab\xa2", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xeb\xab\xbe" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_ebac[] = { + "\xeb\xac\x9a", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\xac\xb6" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_ebad[] = { + "\xeb\xad\x92", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\xad\xae" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_ebae[] = { + "\xeb\xae\x8a", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\xae\xa6" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_ebaf[] = { + "\xeb\xaf\x82", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\xaf\x9e", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xeb\xaf\xba" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_ebb0[] = { + "\xeb\xb0\x96", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\xb0\xb2" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_ebb1[] = { + "\xeb\xb1\x8e", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\xb1\xaa" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_ebb2[] = { + "\xeb\xb2\x86", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\xb2\xa2", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xeb\xb2\xbe" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_ebb3[] = { + "\xeb\xb3\x9a", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\xb3\xb6" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_ebb4[] = { + "\xeb\xb4\x92", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\xb4\xae" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_ebb5[] = { + "\xeb\xb5\x8a", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\xb5\xa6" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_ebb6[] = { + "\xeb\xb6\x82", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\xb6\x9e", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xeb\xb6\xba" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_ebb7[] = { + "\xeb\xb7\x96", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\xb7\xb2" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_ebb8[] = { + "\xeb\xb8\x8e", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\xb8\xaa" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_ebb9[] = { + "\xeb\xb9\x86", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\xb9\xa2", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xeb\xb9\xbe" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_ebba[] = { + "\xeb\xba\x9a", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\xba\xb6" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_ebbb[] = { + "\xeb\xbb\x92", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\xbb\xae" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_ebbc[] = { + "\xeb\xbc\x8a", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\xbc\xa6" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_ebbd[] = { + "\xeb\xbd\x82", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\xbd\x9e", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xeb\xbd\xba" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_ebbe[] = { + "\xeb\xbe\x96", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\xbe\xb2" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_ebbf[] = { + "\xeb\xbf\x8e", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\xbf\xaa" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_ec80[] = { + "\xec\x80\x86", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\x80\xa2", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xec\x80\xbe" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_ec81[] = { + "\xec\x81\x9a", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\x81\xb6" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_ec82[] = { + "\xec\x82\x92", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\x82\xae" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_ec83[] = { + "\xec\x83\x8a", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\x83\xa6" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_ec84[] = { + "\xec\x84\x82", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\x84\x9e", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xec\x84\xba" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_ec85[] = { + "\xec\x85\x96", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\x85\xb2" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_ec86[] = { + "\xec\x86\x8e", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\x86\xaa" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_ec87[] = { + "\xec\x87\x86", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\x87\xa2", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xec\x87\xbe" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_ec88[] = { + "\xec\x88\x9a", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\x88\xb6" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_ec89[] = { + "\xec\x89\x92", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\x89\xae" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_ec8a[] = { + "\xec\x8a\x8a", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\x8a\xa6" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_ec8b[] = { + "\xec\x8b\x82", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\x8b\x9e", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xec\x8b\xba" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_ec8c[] = { + "\xec\x8c\x96", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\x8c\xb2" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_ec8d[] = { + "\xec\x8d\x8e", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\x8d\xaa" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_ec8e[] = { + "\xec\x8e\x86", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\x8e\xa2", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xec\x8e\xbe" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_ec8f[] = { + "\xec\x8f\x9a", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\x8f\xb6" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_ec90[] = { + "\xec\x90\x92", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\x90\xae" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_ec91[] = { + "\xec\x91\x8a", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\x91\xa6" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_ec92[] = { + "\xec\x92\x82", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\x92\x9e", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xec\x92\xba" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_ec93[] = { + "\xec\x93\x96", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\x93\xb2" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_ec94[] = { + "\xec\x94\x8e", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\x94\xaa" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_ec95[] = { + "\xec\x95\x86", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\x95\xa2", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xec\x95\xbe" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_ec96[] = { + "\xec\x96\x9a", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\x96\xb6" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_ec97[] = { + "\xec\x97\x92", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\x97\xae" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_ec98[] = { + "\xec\x98\x8a", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\x98\xa6" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_ec99[] = { + "\xec\x99\x82", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\x99\x9e", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xec\x99\xba" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_ec9a[] = { + "\xec\x9a\x96", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\x9a\xb2" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_ec9b[] = { + "\xec\x9b\x8e", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\x9b\xaa" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_ec9c[] = { + "\xec\x9c\x86", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\x9c\xa2", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xec\x9c\xbe" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_ec9d[] = { + "\xec\x9d\x9a", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\x9d\xb6" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_ec9e[] = { + "\xec\x9e\x92", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\x9e\xae" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_ec9f[] = { + "\xec\x9f\x8a", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\x9f\xa6" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_eca0[] = { + "\xec\xa0\x82", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\xa0\x9e", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xec\xa0\xba" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_eca1[] = { + "\xec\xa1\x96", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\xa1\xb2" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_eca2[] = { + "\xec\xa2\x8e", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\xa2\xaa" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_eca3[] = { + "\xec\xa3\x86", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\xa3\xa2", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xec\xa3\xbe" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_eca4[] = { + "\xec\xa4\x9a", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\xa4\xb6" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_eca5[] = { + "\xec\xa5\x92", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\xa5\xae" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_eca6[] = { + "\xec\xa6\x8a", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\xa6\xa6" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_eca7[] = { + "\xec\xa7\x82", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\xa7\x9e", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xec\xa7\xba" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_eca8[] = { + "\xec\xa8\x96", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\xa8\xb2" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_eca9[] = { + "\xec\xa9\x8e", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\xa9\xaa" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_ecaa[] = { + "\xec\xaa\x86", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\xaa\xa2", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xec\xaa\xbe" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_ecab[] = { + "\xec\xab\x9a", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\xab\xb6" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_ecac[] = { + "\xec\xac\x92", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\xac\xae" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_ecad[] = { + "\xec\xad\x8a", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\xad\xa6" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_ecae[] = { + "\xec\xae\x82", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\xae\x9e", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xec\xae\xba" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_ecaf[] = { + "\xec\xaf\x96", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\xaf\xb2" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_ecb0[] = { + "\xec\xb0\x8e", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\xb0\xaa" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_ecb1[] = { + "\xec\xb1\x86", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\xb1\xa2", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xec\xb1\xbe" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_ecb2[] = { + "\xec\xb2\x9a", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\xb2\xb6" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_ecb3[] = { + "\xec\xb3\x92", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\xb3\xae" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_ecb4[] = { + "\xec\xb4\x8a", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\xb4\xa6" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_ecb5[] = { + "\xec\xb5\x82", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\xb5\x9e", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xec\xb5\xba" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_ecb6[] = { + "\xec\xb6\x96", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\xb6\xb2" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_ecb7[] = { + "\xec\xb7\x8e", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\xb7\xaa" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_ecb8[] = { + "\xec\xb8\x86", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\xb8\xa2", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xec\xb8\xbe" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_ecb9[] = { + "\xec\xb9\x9a", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\xb9\xb6" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_ecba[] = { + "\xec\xba\x92", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\xba\xae" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_ecbb[] = { + "\xec\xbb\x8a", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\xbb\xa6" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_ecbc[] = { + "\xec\xbc\x82", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\xbc\x9e", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xec\xbc\xba" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_ecbd[] = { + "\xec\xbd\x96", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\xbd\xb2" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_ecbe[] = { + "\xec\xbe\x8e", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\xbe\xaa" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_ecbf[] = { + "\xec\xbf\x86", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\xbf\xa2", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xec\xbf\xbe" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_ed80[] = { + "\xed\x80\x9a", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xed\x80\xb6" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_ed81[] = { + "\xed\x81\x92", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xed\x81\xae" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_ed82[] = { + "\xed\x82\x8a", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xed\x82\xa6" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_ed83[] = { + "\xed\x83\x82", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xed\x83\x9e", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xed\x83\xba" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_ed84[] = { + "\xed\x84\x96", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xed\x84\xb2" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_ed85[] = { + "\xed\x85\x8e", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xed\x85\xaa" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_ed86[] = { + "\xed\x86\x86", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xed\x86\xa2", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xed\x86\xbe" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_ed87[] = { + "\xed\x87\x9a", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xed\x87\xb6" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_ed88[] = { + "\xed\x88\x92", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xed\x88\xae" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_ed89[] = { + "\xed\x89\x8a", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xed\x89\xa6" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_ed8a[] = { + "\xed\x8a\x82", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xed\x8a\x9e", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xed\x8a\xba" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_ed8b[] = { + "\xed\x8b\x96", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xed\x8b\xb2" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_ed8c[] = { + "\xed\x8c\x8e", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xed\x8c\xaa" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_ed8d[] = { + "\xed\x8d\x86", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xed\x8d\xa2", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xed\x8d\xbe" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_ed8e[] = { + "\xed\x8e\x9a", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xed\x8e\xb6" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_ed8f[] = { + "\xed\x8f\x92", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xed\x8f\xae" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_ed90[] = { + "\xed\x90\x8a", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xed\x90\xa6" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_ed91[] = { + "\xed\x91\x82", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xed\x91\x9e", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xed\x91\xba" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_ed92[] = { + "\xed\x92\x96", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xed\x92\xb2" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_ed93[] = { + "\xed\x93\x8e", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xed\x93\xaa" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_ed94[] = { + "\xed\x94\x86", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xed\x94\xa2", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xed\x94\xbe" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_ed95[] = { + "\xed\x95\x9a", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xed\x95\xb6" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_ed96[] = { + "\xed\x96\x92", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xed\x96\xae" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_ed97[] = { + "\xed\x97\x8a", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xed\x97\xa6" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_ed98[] = { + "\xed\x98\x82", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xed\x98\x9e", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xed\x98\xba" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_ed99[] = { + "\xed\x99\x96", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xed\x99\xb2" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_ed9a[] = { + "\xed\x9a\x8e", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xed\x9a\xaa" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_ed9b[] = { + "\xed\x9b\x86", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xed\x9b\xa2", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xed\x9b\xbe" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_ed9c[] = { + "\xed\x9c\x9a", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xed\x9c\xb6" +}; + +static const char *grn_nfkc121_compose_prefix_e186a9_table_ed9d[] = { + "\xed\x9d\x92", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xed\x9d\xae" +}; + +static grn_inline const char * +grn_nfkc121_compose_prefix_e186a9(const unsigned char *utf8) +{ + { + switch (utf8[0]) { + case 0xea : + switch (utf8[1]) { + case 0xb0 : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xb8) { + return grn_nfkc121_compose_prefix_e186a9_table_eab0[utf8[2] - 0x80]; + } + break; + case 0xb1 : + if (utf8[2] >= 0x94 && + utf8[2] <= 0xb0) { + return grn_nfkc121_compose_prefix_e186a9_table_eab1[utf8[2] - 0x94]; + } + break; + case 0xb2 : + if (utf8[2] >= 0x8c && + utf8[2] <= 0xa8) { + return grn_nfkc121_compose_prefix_e186a9_table_eab2[utf8[2] - 0x8c]; + } + break; + case 0xb3 : + if (utf8[2] >= 0x84 && + utf8[2] <= 0xbc) { + return grn_nfkc121_compose_prefix_e186a9_table_eab3[utf8[2] - 0x84]; + } + break; + case 0xb4 : + if (utf8[2] >= 0x98 && + utf8[2] <= 0xb4) { + return grn_nfkc121_compose_prefix_e186a9_table_eab4[utf8[2] - 0x98]; + } + break; + case 0xb5 : + if (utf8[2] >= 0x90 && + utf8[2] <= 0xac) { + return grn_nfkc121_compose_prefix_e186a9_table_eab5[utf8[2] - 0x90]; + } + break; + case 0xb6 : + if (utf8[2] >= 0x88 && + utf8[2] <= 0xa4) { + return grn_nfkc121_compose_prefix_e186a9_table_eab6[utf8[2] - 0x88]; + } + break; + case 0xb7 : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xb8) { + return grn_nfkc121_compose_prefix_e186a9_table_eab7[utf8[2] - 0x80]; + } + break; + case 0xb8 : + if (utf8[2] >= 0x94 && + utf8[2] <= 0xb0) { + return grn_nfkc121_compose_prefix_e186a9_table_eab8[utf8[2] - 0x94]; + } + break; + case 0xb9 : + if (utf8[2] >= 0x8c && + utf8[2] <= 0xa8) { + return grn_nfkc121_compose_prefix_e186a9_table_eab9[utf8[2] - 0x8c]; + } + break; + case 0xba : + if (utf8[2] >= 0x84 && + utf8[2] <= 0xbc) { + return grn_nfkc121_compose_prefix_e186a9_table_eaba[utf8[2] - 0x84]; + } + break; + case 0xbb : + if (utf8[2] >= 0x98 && + utf8[2] <= 0xb4) { + return grn_nfkc121_compose_prefix_e186a9_table_eabb[utf8[2] - 0x98]; + } + break; + case 0xbc : + if (utf8[2] >= 0x90 && + utf8[2] <= 0xac) { + return grn_nfkc121_compose_prefix_e186a9_table_eabc[utf8[2] - 0x90]; + } + break; + case 0xbd : + if (utf8[2] >= 0x88 && + utf8[2] <= 0xa4) { + return grn_nfkc121_compose_prefix_e186a9_table_eabd[utf8[2] - 0x88]; + } + break; + case 0xbe : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xb8) { + return grn_nfkc121_compose_prefix_e186a9_table_eabe[utf8[2] - 0x80]; + } + break; + case 0xbf : + if (utf8[2] >= 0x94 && + utf8[2] <= 0xb0) { + return grn_nfkc121_compose_prefix_e186a9_table_eabf[utf8[2] - 0x94]; + } + break; + default : + break; + } + break; + case 0xeb : + switch (utf8[1]) { + case 0x80 : + if (utf8[2] >= 0x8c && + utf8[2] <= 0xa8) { + return grn_nfkc121_compose_prefix_e186a9_table_eb80[utf8[2] - 0x8c]; + } + break; + case 0x81 : + if (utf8[2] >= 0x84 && + utf8[2] <= 0xbc) { + return grn_nfkc121_compose_prefix_e186a9_table_eb81[utf8[2] - 0x84]; + } + break; + case 0x82 : + if (utf8[2] >= 0x98 && + utf8[2] <= 0xb4) { + return grn_nfkc121_compose_prefix_e186a9_table_eb82[utf8[2] - 0x98]; + } + break; + case 0x83 : + if (utf8[2] >= 0x90 && + utf8[2] <= 0xac) { + return grn_nfkc121_compose_prefix_e186a9_table_eb83[utf8[2] - 0x90]; + } + break; + case 0x84 : + if (utf8[2] >= 0x88 && + utf8[2] <= 0xa4) { + return grn_nfkc121_compose_prefix_e186a9_table_eb84[utf8[2] - 0x88]; + } + break; + case 0x85 : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xb8) { + return grn_nfkc121_compose_prefix_e186a9_table_eb85[utf8[2] - 0x80]; + } + break; + case 0x86 : + if (utf8[2] >= 0x94 && + utf8[2] <= 0xb0) { + return grn_nfkc121_compose_prefix_e186a9_table_eb86[utf8[2] - 0x94]; + } + break; + case 0x87 : + if (utf8[2] >= 0x8c && + utf8[2] <= 0xa8) { + return grn_nfkc121_compose_prefix_e186a9_table_eb87[utf8[2] - 0x8c]; + } + break; + case 0x88 : + if (utf8[2] >= 0x84 && + utf8[2] <= 0xbc) { + return grn_nfkc121_compose_prefix_e186a9_table_eb88[utf8[2] - 0x84]; + } + break; + case 0x89 : + if (utf8[2] >= 0x98 && + utf8[2] <= 0xb4) { + return grn_nfkc121_compose_prefix_e186a9_table_eb89[utf8[2] - 0x98]; + } + break; + case 0x8a : + if (utf8[2] >= 0x90 && + utf8[2] <= 0xac) { + return grn_nfkc121_compose_prefix_e186a9_table_eb8a[utf8[2] - 0x90]; + } + break; + case 0x8b : + if (utf8[2] >= 0x88 && + utf8[2] <= 0xa4) { + return grn_nfkc121_compose_prefix_e186a9_table_eb8b[utf8[2] - 0x88]; + } + break; + case 0x8c : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xb8) { + return grn_nfkc121_compose_prefix_e186a9_table_eb8c[utf8[2] - 0x80]; + } + break; + case 0x8d : + if (utf8[2] >= 0x94 && + utf8[2] <= 0xb0) { + return grn_nfkc121_compose_prefix_e186a9_table_eb8d[utf8[2] - 0x94]; + } + break; + case 0x8e : + if (utf8[2] >= 0x8c && + utf8[2] <= 0xa8) { + return grn_nfkc121_compose_prefix_e186a9_table_eb8e[utf8[2] - 0x8c]; + } + break; + case 0x8f : + if (utf8[2] >= 0x84 && + utf8[2] <= 0xbc) { + return grn_nfkc121_compose_prefix_e186a9_table_eb8f[utf8[2] - 0x84]; + } + break; + case 0x90 : + if (utf8[2] >= 0x98 && + utf8[2] <= 0xb4) { + return grn_nfkc121_compose_prefix_e186a9_table_eb90[utf8[2] - 0x98]; + } + break; + case 0x91 : + if (utf8[2] >= 0x90 && + utf8[2] <= 0xac) { + return grn_nfkc121_compose_prefix_e186a9_table_eb91[utf8[2] - 0x90]; + } + break; + case 0x92 : + if (utf8[2] >= 0x88 && + utf8[2] <= 0xa4) { + return grn_nfkc121_compose_prefix_e186a9_table_eb92[utf8[2] - 0x88]; + } + break; + case 0x93 : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xb8) { + return grn_nfkc121_compose_prefix_e186a9_table_eb93[utf8[2] - 0x80]; + } + break; + case 0x94 : + if (utf8[2] >= 0x94 && + utf8[2] <= 0xb0) { + return grn_nfkc121_compose_prefix_e186a9_table_eb94[utf8[2] - 0x94]; + } + break; + case 0x95 : + if (utf8[2] >= 0x8c && + utf8[2] <= 0xa8) { + return grn_nfkc121_compose_prefix_e186a9_table_eb95[utf8[2] - 0x8c]; + } + break; + case 0x96 : + if (utf8[2] >= 0x84 && + utf8[2] <= 0xbc) { + return grn_nfkc121_compose_prefix_e186a9_table_eb96[utf8[2] - 0x84]; + } + break; + case 0x97 : + if (utf8[2] >= 0x98 && + utf8[2] <= 0xb4) { + return grn_nfkc121_compose_prefix_e186a9_table_eb97[utf8[2] - 0x98]; + } + break; + case 0x98 : + if (utf8[2] >= 0x90 && + utf8[2] <= 0xac) { + return grn_nfkc121_compose_prefix_e186a9_table_eb98[utf8[2] - 0x90]; + } + break; + case 0x99 : + if (utf8[2] >= 0x88 && + utf8[2] <= 0xa4) { + return grn_nfkc121_compose_prefix_e186a9_table_eb99[utf8[2] - 0x88]; + } + break; + case 0x9a : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xb8) { + return grn_nfkc121_compose_prefix_e186a9_table_eb9a[utf8[2] - 0x80]; + } + break; + case 0x9b : + if (utf8[2] >= 0x94 && + utf8[2] <= 0xb0) { + return grn_nfkc121_compose_prefix_e186a9_table_eb9b[utf8[2] - 0x94]; + } + break; + case 0x9c : + if (utf8[2] >= 0x8c && + utf8[2] <= 0xa8) { + return grn_nfkc121_compose_prefix_e186a9_table_eb9c[utf8[2] - 0x8c]; + } + break; + case 0x9d : + if (utf8[2] >= 0x84 && + utf8[2] <= 0xbc) { + return grn_nfkc121_compose_prefix_e186a9_table_eb9d[utf8[2] - 0x84]; + } + break; + case 0x9e : + if (utf8[2] >= 0x98 && + utf8[2] <= 0xb4) { + return grn_nfkc121_compose_prefix_e186a9_table_eb9e[utf8[2] - 0x98]; + } + break; + case 0x9f : + if (utf8[2] >= 0x90 && + utf8[2] <= 0xac) { + return grn_nfkc121_compose_prefix_e186a9_table_eb9f[utf8[2] - 0x90]; + } + break; + case 0xa0 : + if (utf8[2] >= 0x88 && + utf8[2] <= 0xa4) { + return grn_nfkc121_compose_prefix_e186a9_table_eba0[utf8[2] - 0x88]; + } + break; + case 0xa1 : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xb8) { + return grn_nfkc121_compose_prefix_e186a9_table_eba1[utf8[2] - 0x80]; + } + break; + case 0xa2 : + if (utf8[2] >= 0x94 && + utf8[2] <= 0xb0) { + return grn_nfkc121_compose_prefix_e186a9_table_eba2[utf8[2] - 0x94]; + } + break; + case 0xa3 : + if (utf8[2] >= 0x8c && + utf8[2] <= 0xa8) { + return grn_nfkc121_compose_prefix_e186a9_table_eba3[utf8[2] - 0x8c]; + } + break; + case 0xa4 : + if (utf8[2] >= 0x84 && + utf8[2] <= 0xbc) { + return grn_nfkc121_compose_prefix_e186a9_table_eba4[utf8[2] - 0x84]; + } + break; + case 0xa5 : + if (utf8[2] >= 0x98 && + utf8[2] <= 0xb4) { + return grn_nfkc121_compose_prefix_e186a9_table_eba5[utf8[2] - 0x98]; + } + break; + case 0xa6 : + if (utf8[2] >= 0x90 && + utf8[2] <= 0xac) { + return grn_nfkc121_compose_prefix_e186a9_table_eba6[utf8[2] - 0x90]; + } + break; + case 0xa7 : + if (utf8[2] >= 0x88 && + utf8[2] <= 0xa4) { + return grn_nfkc121_compose_prefix_e186a9_table_eba7[utf8[2] - 0x88]; + } + break; + case 0xa8 : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xb8) { + return grn_nfkc121_compose_prefix_e186a9_table_eba8[utf8[2] - 0x80]; + } + break; + case 0xa9 : + if (utf8[2] >= 0x94 && + utf8[2] <= 0xb0) { + return grn_nfkc121_compose_prefix_e186a9_table_eba9[utf8[2] - 0x94]; + } + break; + case 0xaa : + if (utf8[2] >= 0x8c && + utf8[2] <= 0xa8) { + return grn_nfkc121_compose_prefix_e186a9_table_ebaa[utf8[2] - 0x8c]; + } + break; + case 0xab : + if (utf8[2] >= 0x84 && + utf8[2] <= 0xbc) { + return grn_nfkc121_compose_prefix_e186a9_table_ebab[utf8[2] - 0x84]; + } + break; + case 0xac : + if (utf8[2] >= 0x98 && + utf8[2] <= 0xb4) { + return grn_nfkc121_compose_prefix_e186a9_table_ebac[utf8[2] - 0x98]; + } + break; + case 0xad : + if (utf8[2] >= 0x90 && + utf8[2] <= 0xac) { + return grn_nfkc121_compose_prefix_e186a9_table_ebad[utf8[2] - 0x90]; + } + break; + case 0xae : + if (utf8[2] >= 0x88 && + utf8[2] <= 0xa4) { + return grn_nfkc121_compose_prefix_e186a9_table_ebae[utf8[2] - 0x88]; + } + break; + case 0xaf : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xb8) { + return grn_nfkc121_compose_prefix_e186a9_table_ebaf[utf8[2] - 0x80]; + } + break; + case 0xb0 : + if (utf8[2] >= 0x94 && + utf8[2] <= 0xb0) { + return grn_nfkc121_compose_prefix_e186a9_table_ebb0[utf8[2] - 0x94]; + } + break; + case 0xb1 : + if (utf8[2] >= 0x8c && + utf8[2] <= 0xa8) { + return grn_nfkc121_compose_prefix_e186a9_table_ebb1[utf8[2] - 0x8c]; + } + break; + case 0xb2 : + if (utf8[2] >= 0x84 && + utf8[2] <= 0xbc) { + return grn_nfkc121_compose_prefix_e186a9_table_ebb2[utf8[2] - 0x84]; + } + break; + case 0xb3 : + if (utf8[2] >= 0x98 && + utf8[2] <= 0xb4) { + return grn_nfkc121_compose_prefix_e186a9_table_ebb3[utf8[2] - 0x98]; + } + break; + case 0xb4 : + if (utf8[2] >= 0x90 && + utf8[2] <= 0xac) { + return grn_nfkc121_compose_prefix_e186a9_table_ebb4[utf8[2] - 0x90]; + } + break; + case 0xb5 : + if (utf8[2] >= 0x88 && + utf8[2] <= 0xa4) { + return grn_nfkc121_compose_prefix_e186a9_table_ebb5[utf8[2] - 0x88]; + } + break; + case 0xb6 : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xb8) { + return grn_nfkc121_compose_prefix_e186a9_table_ebb6[utf8[2] - 0x80]; + } + break; + case 0xb7 : + if (utf8[2] >= 0x94 && + utf8[2] <= 0xb0) { + return grn_nfkc121_compose_prefix_e186a9_table_ebb7[utf8[2] - 0x94]; + } + break; + case 0xb8 : + if (utf8[2] >= 0x8c && + utf8[2] <= 0xa8) { + return grn_nfkc121_compose_prefix_e186a9_table_ebb8[utf8[2] - 0x8c]; + } + break; + case 0xb9 : + if (utf8[2] >= 0x84 && + utf8[2] <= 0xbc) { + return grn_nfkc121_compose_prefix_e186a9_table_ebb9[utf8[2] - 0x84]; + } + break; + case 0xba : + if (utf8[2] >= 0x98 && + utf8[2] <= 0xb4) { + return grn_nfkc121_compose_prefix_e186a9_table_ebba[utf8[2] - 0x98]; + } + break; + case 0xbb : + if (utf8[2] >= 0x90 && + utf8[2] <= 0xac) { + return grn_nfkc121_compose_prefix_e186a9_table_ebbb[utf8[2] - 0x90]; + } + break; + case 0xbc : + if (utf8[2] >= 0x88 && + utf8[2] <= 0xa4) { + return grn_nfkc121_compose_prefix_e186a9_table_ebbc[utf8[2] - 0x88]; + } + break; + case 0xbd : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xb8) { + return grn_nfkc121_compose_prefix_e186a9_table_ebbd[utf8[2] - 0x80]; + } + break; + case 0xbe : + if (utf8[2] >= 0x94 && + utf8[2] <= 0xb0) { + return grn_nfkc121_compose_prefix_e186a9_table_ebbe[utf8[2] - 0x94]; + } + break; + case 0xbf : + if (utf8[2] >= 0x8c && + utf8[2] <= 0xa8) { + return grn_nfkc121_compose_prefix_e186a9_table_ebbf[utf8[2] - 0x8c]; + } + break; + default : + break; + } + break; + case 0xec : + switch (utf8[1]) { + case 0x80 : + if (utf8[2] >= 0x84 && + utf8[2] <= 0xbc) { + return grn_nfkc121_compose_prefix_e186a9_table_ec80[utf8[2] - 0x84]; + } + break; + case 0x81 : + if (utf8[2] >= 0x98 && + utf8[2] <= 0xb4) { + return grn_nfkc121_compose_prefix_e186a9_table_ec81[utf8[2] - 0x98]; + } + break; + case 0x82 : + if (utf8[2] >= 0x90 && + utf8[2] <= 0xac) { + return grn_nfkc121_compose_prefix_e186a9_table_ec82[utf8[2] - 0x90]; + } + break; + case 0x83 : + if (utf8[2] >= 0x88 && + utf8[2] <= 0xa4) { + return grn_nfkc121_compose_prefix_e186a9_table_ec83[utf8[2] - 0x88]; + } + break; + case 0x84 : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xb8) { + return grn_nfkc121_compose_prefix_e186a9_table_ec84[utf8[2] - 0x80]; + } + break; + case 0x85 : + if (utf8[2] >= 0x94 && + utf8[2] <= 0xb0) { + return grn_nfkc121_compose_prefix_e186a9_table_ec85[utf8[2] - 0x94]; + } + break; + case 0x86 : + if (utf8[2] >= 0x8c && + utf8[2] <= 0xa8) { + return grn_nfkc121_compose_prefix_e186a9_table_ec86[utf8[2] - 0x8c]; + } + break; + case 0x87 : + if (utf8[2] >= 0x84 && + utf8[2] <= 0xbc) { + return grn_nfkc121_compose_prefix_e186a9_table_ec87[utf8[2] - 0x84]; + } + break; + case 0x88 : + if (utf8[2] >= 0x98 && + utf8[2] <= 0xb4) { + return grn_nfkc121_compose_prefix_e186a9_table_ec88[utf8[2] - 0x98]; + } + break; + case 0x89 : + if (utf8[2] >= 0x90 && + utf8[2] <= 0xac) { + return grn_nfkc121_compose_prefix_e186a9_table_ec89[utf8[2] - 0x90]; + } + break; + case 0x8a : + if (utf8[2] >= 0x88 && + utf8[2] <= 0xa4) { + return grn_nfkc121_compose_prefix_e186a9_table_ec8a[utf8[2] - 0x88]; + } + break; + case 0x8b : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xb8) { + return grn_nfkc121_compose_prefix_e186a9_table_ec8b[utf8[2] - 0x80]; + } + break; + case 0x8c : + if (utf8[2] >= 0x94 && + utf8[2] <= 0xb0) { + return grn_nfkc121_compose_prefix_e186a9_table_ec8c[utf8[2] - 0x94]; + } + break; + case 0x8d : + if (utf8[2] >= 0x8c && + utf8[2] <= 0xa8) { + return grn_nfkc121_compose_prefix_e186a9_table_ec8d[utf8[2] - 0x8c]; + } + break; + case 0x8e : + if (utf8[2] >= 0x84 && + utf8[2] <= 0xbc) { + return grn_nfkc121_compose_prefix_e186a9_table_ec8e[utf8[2] - 0x84]; + } + break; + case 0x8f : + if (utf8[2] >= 0x98 && + utf8[2] <= 0xb4) { + return grn_nfkc121_compose_prefix_e186a9_table_ec8f[utf8[2] - 0x98]; + } + break; + case 0x90 : + if (utf8[2] >= 0x90 && + utf8[2] <= 0xac) { + return grn_nfkc121_compose_prefix_e186a9_table_ec90[utf8[2] - 0x90]; + } + break; + case 0x91 : + if (utf8[2] >= 0x88 && + utf8[2] <= 0xa4) { + return grn_nfkc121_compose_prefix_e186a9_table_ec91[utf8[2] - 0x88]; + } + break; + case 0x92 : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xb8) { + return grn_nfkc121_compose_prefix_e186a9_table_ec92[utf8[2] - 0x80]; + } + break; + case 0x93 : + if (utf8[2] >= 0x94 && + utf8[2] <= 0xb0) { + return grn_nfkc121_compose_prefix_e186a9_table_ec93[utf8[2] - 0x94]; + } + break; + case 0x94 : + if (utf8[2] >= 0x8c && + utf8[2] <= 0xa8) { + return grn_nfkc121_compose_prefix_e186a9_table_ec94[utf8[2] - 0x8c]; + } + break; + case 0x95 : + if (utf8[2] >= 0x84 && + utf8[2] <= 0xbc) { + return grn_nfkc121_compose_prefix_e186a9_table_ec95[utf8[2] - 0x84]; + } + break; + case 0x96 : + if (utf8[2] >= 0x98 && + utf8[2] <= 0xb4) { + return grn_nfkc121_compose_prefix_e186a9_table_ec96[utf8[2] - 0x98]; + } + break; + case 0x97 : + if (utf8[2] >= 0x90 && + utf8[2] <= 0xac) { + return grn_nfkc121_compose_prefix_e186a9_table_ec97[utf8[2] - 0x90]; + } + break; + case 0x98 : + if (utf8[2] >= 0x88 && + utf8[2] <= 0xa4) { + return grn_nfkc121_compose_prefix_e186a9_table_ec98[utf8[2] - 0x88]; + } + break; + case 0x99 : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xb8) { + return grn_nfkc121_compose_prefix_e186a9_table_ec99[utf8[2] - 0x80]; + } + break; + case 0x9a : + if (utf8[2] >= 0x94 && + utf8[2] <= 0xb0) { + return grn_nfkc121_compose_prefix_e186a9_table_ec9a[utf8[2] - 0x94]; + } + break; + case 0x9b : + if (utf8[2] >= 0x8c && + utf8[2] <= 0xa8) { + return grn_nfkc121_compose_prefix_e186a9_table_ec9b[utf8[2] - 0x8c]; + } + break; + case 0x9c : + if (utf8[2] >= 0x84 && + utf8[2] <= 0xbc) { + return grn_nfkc121_compose_prefix_e186a9_table_ec9c[utf8[2] - 0x84]; + } + break; + case 0x9d : + if (utf8[2] >= 0x98 && + utf8[2] <= 0xb4) { + return grn_nfkc121_compose_prefix_e186a9_table_ec9d[utf8[2] - 0x98]; + } + break; + case 0x9e : + if (utf8[2] >= 0x90 && + utf8[2] <= 0xac) { + return grn_nfkc121_compose_prefix_e186a9_table_ec9e[utf8[2] - 0x90]; + } + break; + case 0x9f : + if (utf8[2] >= 0x88 && + utf8[2] <= 0xa4) { + return grn_nfkc121_compose_prefix_e186a9_table_ec9f[utf8[2] - 0x88]; + } + break; + case 0xa0 : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xb8) { + return grn_nfkc121_compose_prefix_e186a9_table_eca0[utf8[2] - 0x80]; + } + break; + case 0xa1 : + if (utf8[2] >= 0x94 && + utf8[2] <= 0xb0) { + return grn_nfkc121_compose_prefix_e186a9_table_eca1[utf8[2] - 0x94]; + } + break; + case 0xa2 : + if (utf8[2] >= 0x8c && + utf8[2] <= 0xa8) { + return grn_nfkc121_compose_prefix_e186a9_table_eca2[utf8[2] - 0x8c]; + } + break; + case 0xa3 : + if (utf8[2] >= 0x84 && + utf8[2] <= 0xbc) { + return grn_nfkc121_compose_prefix_e186a9_table_eca3[utf8[2] - 0x84]; + } + break; + case 0xa4 : + if (utf8[2] >= 0x98 && + utf8[2] <= 0xb4) { + return grn_nfkc121_compose_prefix_e186a9_table_eca4[utf8[2] - 0x98]; + } + break; + case 0xa5 : + if (utf8[2] >= 0x90 && + utf8[2] <= 0xac) { + return grn_nfkc121_compose_prefix_e186a9_table_eca5[utf8[2] - 0x90]; + } + break; + case 0xa6 : + if (utf8[2] >= 0x88 && + utf8[2] <= 0xa4) { + return grn_nfkc121_compose_prefix_e186a9_table_eca6[utf8[2] - 0x88]; + } + break; + case 0xa7 : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xb8) { + return grn_nfkc121_compose_prefix_e186a9_table_eca7[utf8[2] - 0x80]; + } + break; + case 0xa8 : + if (utf8[2] >= 0x94 && + utf8[2] <= 0xb0) { + return grn_nfkc121_compose_prefix_e186a9_table_eca8[utf8[2] - 0x94]; + } + break; + case 0xa9 : + if (utf8[2] >= 0x8c && + utf8[2] <= 0xa8) { + return grn_nfkc121_compose_prefix_e186a9_table_eca9[utf8[2] - 0x8c]; + } + break; + case 0xaa : + if (utf8[2] >= 0x84 && + utf8[2] <= 0xbc) { + return grn_nfkc121_compose_prefix_e186a9_table_ecaa[utf8[2] - 0x84]; + } + break; + case 0xab : + if (utf8[2] >= 0x98 && + utf8[2] <= 0xb4) { + return grn_nfkc121_compose_prefix_e186a9_table_ecab[utf8[2] - 0x98]; + } + break; + case 0xac : + if (utf8[2] >= 0x90 && + utf8[2] <= 0xac) { + return grn_nfkc121_compose_prefix_e186a9_table_ecac[utf8[2] - 0x90]; + } + break; + case 0xad : + if (utf8[2] >= 0x88 && + utf8[2] <= 0xa4) { + return grn_nfkc121_compose_prefix_e186a9_table_ecad[utf8[2] - 0x88]; + } + break; + case 0xae : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xb8) { + return grn_nfkc121_compose_prefix_e186a9_table_ecae[utf8[2] - 0x80]; + } + break; + case 0xaf : + if (utf8[2] >= 0x94 && + utf8[2] <= 0xb0) { + return grn_nfkc121_compose_prefix_e186a9_table_ecaf[utf8[2] - 0x94]; + } + break; + case 0xb0 : + if (utf8[2] >= 0x8c && + utf8[2] <= 0xa8) { + return grn_nfkc121_compose_prefix_e186a9_table_ecb0[utf8[2] - 0x8c]; + } + break; + case 0xb1 : + if (utf8[2] >= 0x84 && + utf8[2] <= 0xbc) { + return grn_nfkc121_compose_prefix_e186a9_table_ecb1[utf8[2] - 0x84]; + } + break; + case 0xb2 : + if (utf8[2] >= 0x98 && + utf8[2] <= 0xb4) { + return grn_nfkc121_compose_prefix_e186a9_table_ecb2[utf8[2] - 0x98]; + } + break; + case 0xb3 : + if (utf8[2] >= 0x90 && + utf8[2] <= 0xac) { + return grn_nfkc121_compose_prefix_e186a9_table_ecb3[utf8[2] - 0x90]; + } + break; + case 0xb4 : + if (utf8[2] >= 0x88 && + utf8[2] <= 0xa4) { + return grn_nfkc121_compose_prefix_e186a9_table_ecb4[utf8[2] - 0x88]; + } + break; + case 0xb5 : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xb8) { + return grn_nfkc121_compose_prefix_e186a9_table_ecb5[utf8[2] - 0x80]; + } + break; + case 0xb6 : + if (utf8[2] >= 0x94 && + utf8[2] <= 0xb0) { + return grn_nfkc121_compose_prefix_e186a9_table_ecb6[utf8[2] - 0x94]; + } + break; + case 0xb7 : + if (utf8[2] >= 0x8c && + utf8[2] <= 0xa8) { + return grn_nfkc121_compose_prefix_e186a9_table_ecb7[utf8[2] - 0x8c]; + } + break; + case 0xb8 : + if (utf8[2] >= 0x84 && + utf8[2] <= 0xbc) { + return grn_nfkc121_compose_prefix_e186a9_table_ecb8[utf8[2] - 0x84]; + } + break; + case 0xb9 : + if (utf8[2] >= 0x98 && + utf8[2] <= 0xb4) { + return grn_nfkc121_compose_prefix_e186a9_table_ecb9[utf8[2] - 0x98]; + } + break; + case 0xba : + if (utf8[2] >= 0x90 && + utf8[2] <= 0xac) { + return grn_nfkc121_compose_prefix_e186a9_table_ecba[utf8[2] - 0x90]; + } + break; + case 0xbb : + if (utf8[2] >= 0x88 && + utf8[2] <= 0xa4) { + return grn_nfkc121_compose_prefix_e186a9_table_ecbb[utf8[2] - 0x88]; + } + break; + case 0xbc : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xb8) { + return grn_nfkc121_compose_prefix_e186a9_table_ecbc[utf8[2] - 0x80]; + } + break; + case 0xbd : + if (utf8[2] >= 0x94 && + utf8[2] <= 0xb0) { + return grn_nfkc121_compose_prefix_e186a9_table_ecbd[utf8[2] - 0x94]; + } + break; + case 0xbe : + if (utf8[2] >= 0x8c && + utf8[2] <= 0xa8) { + return grn_nfkc121_compose_prefix_e186a9_table_ecbe[utf8[2] - 0x8c]; + } + break; + case 0xbf : + if (utf8[2] >= 0x84 && + utf8[2] <= 0xbc) { + return grn_nfkc121_compose_prefix_e186a9_table_ecbf[utf8[2] - 0x84]; + } + break; + default : + break; + } + break; + case 0xed : + switch (utf8[1]) { + case 0x80 : + if (utf8[2] >= 0x98 && + utf8[2] <= 0xb4) { + return grn_nfkc121_compose_prefix_e186a9_table_ed80[utf8[2] - 0x98]; + } + break; + case 0x81 : + if (utf8[2] >= 0x90 && + utf8[2] <= 0xac) { + return grn_nfkc121_compose_prefix_e186a9_table_ed81[utf8[2] - 0x90]; + } + break; + case 0x82 : + if (utf8[2] >= 0x88 && + utf8[2] <= 0xa4) { + return grn_nfkc121_compose_prefix_e186a9_table_ed82[utf8[2] - 0x88]; + } + break; + case 0x83 : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xb8) { + return grn_nfkc121_compose_prefix_e186a9_table_ed83[utf8[2] - 0x80]; + } + break; + case 0x84 : + if (utf8[2] >= 0x94 && + utf8[2] <= 0xb0) { + return grn_nfkc121_compose_prefix_e186a9_table_ed84[utf8[2] - 0x94]; + } + break; + case 0x85 : + if (utf8[2] >= 0x8c && + utf8[2] <= 0xa8) { + return grn_nfkc121_compose_prefix_e186a9_table_ed85[utf8[2] - 0x8c]; + } + break; + case 0x86 : + if (utf8[2] >= 0x84 && + utf8[2] <= 0xbc) { + return grn_nfkc121_compose_prefix_e186a9_table_ed86[utf8[2] - 0x84]; + } + break; + case 0x87 : + if (utf8[2] >= 0x98 && + utf8[2] <= 0xb4) { + return grn_nfkc121_compose_prefix_e186a9_table_ed87[utf8[2] - 0x98]; + } + break; + case 0x88 : + if (utf8[2] >= 0x90 && + utf8[2] <= 0xac) { + return grn_nfkc121_compose_prefix_e186a9_table_ed88[utf8[2] - 0x90]; + } + break; + case 0x89 : + if (utf8[2] >= 0x88 && + utf8[2] <= 0xa4) { + return grn_nfkc121_compose_prefix_e186a9_table_ed89[utf8[2] - 0x88]; + } + break; + case 0x8a : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xb8) { + return grn_nfkc121_compose_prefix_e186a9_table_ed8a[utf8[2] - 0x80]; + } + break; + case 0x8b : + if (utf8[2] >= 0x94 && + utf8[2] <= 0xb0) { + return grn_nfkc121_compose_prefix_e186a9_table_ed8b[utf8[2] - 0x94]; + } + break; + case 0x8c : + if (utf8[2] >= 0x8c && + utf8[2] <= 0xa8) { + return grn_nfkc121_compose_prefix_e186a9_table_ed8c[utf8[2] - 0x8c]; + } + break; + case 0x8d : + if (utf8[2] >= 0x84 && + utf8[2] <= 0xbc) { + return grn_nfkc121_compose_prefix_e186a9_table_ed8d[utf8[2] - 0x84]; + } + break; + case 0x8e : + if (utf8[2] >= 0x98 && + utf8[2] <= 0xb4) { + return grn_nfkc121_compose_prefix_e186a9_table_ed8e[utf8[2] - 0x98]; + } + break; + case 0x8f : + if (utf8[2] >= 0x90 && + utf8[2] <= 0xac) { + return grn_nfkc121_compose_prefix_e186a9_table_ed8f[utf8[2] - 0x90]; + } + break; + case 0x90 : + if (utf8[2] >= 0x88 && + utf8[2] <= 0xa4) { + return grn_nfkc121_compose_prefix_e186a9_table_ed90[utf8[2] - 0x88]; + } + break; + case 0x91 : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xb8) { + return grn_nfkc121_compose_prefix_e186a9_table_ed91[utf8[2] - 0x80]; + } + break; + case 0x92 : + if (utf8[2] >= 0x94 && + utf8[2] <= 0xb0) { + return grn_nfkc121_compose_prefix_e186a9_table_ed92[utf8[2] - 0x94]; + } + break; + case 0x93 : + if (utf8[2] >= 0x8c && + utf8[2] <= 0xa8) { + return grn_nfkc121_compose_prefix_e186a9_table_ed93[utf8[2] - 0x8c]; + } + break; + case 0x94 : + if (utf8[2] >= 0x84 && + utf8[2] <= 0xbc) { + return grn_nfkc121_compose_prefix_e186a9_table_ed94[utf8[2] - 0x84]; + } + break; + case 0x95 : + if (utf8[2] >= 0x98 && + utf8[2] <= 0xb4) { + return grn_nfkc121_compose_prefix_e186a9_table_ed95[utf8[2] - 0x98]; + } + break; + case 0x96 : + if (utf8[2] >= 0x90 && + utf8[2] <= 0xac) { + return grn_nfkc121_compose_prefix_e186a9_table_ed96[utf8[2] - 0x90]; + } + break; + case 0x97 : + if (utf8[2] >= 0x88 && + utf8[2] <= 0xa4) { + return grn_nfkc121_compose_prefix_e186a9_table_ed97[utf8[2] - 0x88]; + } + break; + case 0x98 : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xb8) { + return grn_nfkc121_compose_prefix_e186a9_table_ed98[utf8[2] - 0x80]; + } + break; + case 0x99 : + if (utf8[2] >= 0x94 && + utf8[2] <= 0xb0) { + return grn_nfkc121_compose_prefix_e186a9_table_ed99[utf8[2] - 0x94]; + } + break; + case 0x9a : + if (utf8[2] >= 0x8c && + utf8[2] <= 0xa8) { + return grn_nfkc121_compose_prefix_e186a9_table_ed9a[utf8[2] - 0x8c]; + } + break; + case 0x9b : + if (utf8[2] >= 0x84 && + utf8[2] <= 0xbc) { + return grn_nfkc121_compose_prefix_e186a9_table_ed9b[utf8[2] - 0x84]; + } + break; + case 0x9c : + if (utf8[2] >= 0x98 && + utf8[2] <= 0xb4) { + return grn_nfkc121_compose_prefix_e186a9_table_ed9c[utf8[2] - 0x98]; + } + break; + case 0x9d : + if (utf8[2] >= 0x90 && + utf8[2] <= 0xac) { + return grn_nfkc121_compose_prefix_e186a9_table_ed9d[utf8[2] - 0x90]; + } + break; + case 0x9e : + if (utf8[2] == 0x88) { + return "\xed\x9e\x8a"; + } + break; + default : + break; + } + break; + default : + break; + } + } + + return NULL; +} + +static const char *grn_nfkc121_compose_prefix_e186aa_table_eab0[] = { + "\xea\xb0\x83", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xea\xb0\x9f", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xea\xb0\xbb" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_eab1[] = { + "\xea\xb1\x97", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xea\xb1\xb3" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_eab2[] = { + "\xea\xb2\x8f", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xea\xb2\xab" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_eab3[] = { + "\xea\xb3\x87", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xea\xb3\xa3", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xea\xb3\xbf" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_eab4[] = { + "\xea\xb4\x9b", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xea\xb4\xb7" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_eab5[] = { + "\xea\xb5\x93", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xea\xb5\xaf" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_eab6[] = { + "\xea\xb6\x8b", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xea\xb6\xa7" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_eab7[] = { + "\xea\xb7\x83", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xea\xb7\x9f", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xea\xb7\xbb" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_eab8[] = { + "\xea\xb8\x97", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xea\xb8\xb3" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_eab9[] = { + "\xea\xb9\x8f", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xea\xb9\xab" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_eaba[] = { + "\xea\xba\x87", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xea\xba\xa3", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xea\xba\xbf" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_eabb[] = { + "\xea\xbb\x9b", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xea\xbb\xb7" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_eabc[] = { + "\xea\xbc\x93", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xea\xbc\xaf" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_eabd[] = { + "\xea\xbd\x8b", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xea\xbd\xa7" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_eabe[] = { + "\xea\xbe\x83", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xea\xbe\x9f", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xea\xbe\xbb" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_eabf[] = { + "\xea\xbf\x97", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xea\xbf\xb3" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_eb80[] = { + "\xeb\x80\x8f", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\x80\xab" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_eb81[] = { + "\xeb\x81\x87", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\x81\xa3", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xeb\x81\xbf" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_eb82[] = { + "\xeb\x82\x9b", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\x82\xb7" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_eb83[] = { + "\xeb\x83\x93", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\x83\xaf" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_eb84[] = { + "\xeb\x84\x8b", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\x84\xa7" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_eb85[] = { + "\xeb\x85\x83", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\x85\x9f", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xeb\x85\xbb" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_eb86[] = { + "\xeb\x86\x97", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\x86\xb3" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_eb87[] = { + "\xeb\x87\x8f", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\x87\xab" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_eb88[] = { + "\xeb\x88\x87", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\x88\xa3", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xeb\x88\xbf" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_eb89[] = { + "\xeb\x89\x9b", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\x89\xb7" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_eb8a[] = { + "\xeb\x8a\x93", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\x8a\xaf" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_eb8b[] = { + "\xeb\x8b\x8b", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\x8b\xa7" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_eb8c[] = { + "\xeb\x8c\x83", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\x8c\x9f", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xeb\x8c\xbb" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_eb8d[] = { + "\xeb\x8d\x97", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\x8d\xb3" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_eb8e[] = { + "\xeb\x8e\x8f", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\x8e\xab" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_eb8f[] = { + "\xeb\x8f\x87", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\x8f\xa3", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xeb\x8f\xbf" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_eb90[] = { + "\xeb\x90\x9b", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\x90\xb7" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_eb91[] = { + "\xeb\x91\x93", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\x91\xaf" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_eb92[] = { + "\xeb\x92\x8b", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\x92\xa7" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_eb93[] = { + "\xeb\x93\x83", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\x93\x9f", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xeb\x93\xbb" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_eb94[] = { + "\xeb\x94\x97", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\x94\xb3" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_eb95[] = { + "\xeb\x95\x8f", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\x95\xab" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_eb96[] = { + "\xeb\x96\x87", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\x96\xa3", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xeb\x96\xbf" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_eb97[] = { + "\xeb\x97\x9b", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\x97\xb7" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_eb98[] = { + "\xeb\x98\x93", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\x98\xaf" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_eb99[] = { + "\xeb\x99\x8b", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\x99\xa7" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_eb9a[] = { + "\xeb\x9a\x83", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\x9a\x9f", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xeb\x9a\xbb" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_eb9b[] = { + "\xeb\x9b\x97", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\x9b\xb3" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_eb9c[] = { + "\xeb\x9c\x8f", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\x9c\xab" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_eb9d[] = { + "\xeb\x9d\x87", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\x9d\xa3", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xeb\x9d\xbf" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_eb9e[] = { + "\xeb\x9e\x9b", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\x9e\xb7" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_eb9f[] = { + "\xeb\x9f\x93", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\x9f\xaf" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_eba0[] = { + "\xeb\xa0\x8b", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\xa0\xa7" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_eba1[] = { + "\xeb\xa1\x83", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\xa1\x9f", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xeb\xa1\xbb" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_eba2[] = { + "\xeb\xa2\x97", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\xa2\xb3" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_eba3[] = { + "\xeb\xa3\x8f", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\xa3\xab" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_eba4[] = { + "\xeb\xa4\x87", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\xa4\xa3", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xeb\xa4\xbf" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_eba5[] = { + "\xeb\xa5\x9b", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\xa5\xb7" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_eba6[] = { + "\xeb\xa6\x93", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\xa6\xaf" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_eba7[] = { + "\xeb\xa7\x8b", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\xa7\xa7" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_eba8[] = { + "\xeb\xa8\x83", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\xa8\x9f", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xeb\xa8\xbb" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_eba9[] = { + "\xeb\xa9\x97", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\xa9\xb3" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_ebaa[] = { + "\xeb\xaa\x8f", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\xaa\xab" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_ebab[] = { + "\xeb\xab\x87", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\xab\xa3", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xeb\xab\xbf" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_ebac[] = { + "\xeb\xac\x9b", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\xac\xb7" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_ebad[] = { + "\xeb\xad\x93", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\xad\xaf" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_ebae[] = { + "\xeb\xae\x8b", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\xae\xa7" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_ebaf[] = { + "\xeb\xaf\x83", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\xaf\x9f", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xeb\xaf\xbb" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_ebb0[] = { + "\xeb\xb0\x97", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\xb0\xb3" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_ebb1[] = { + "\xeb\xb1\x8f", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\xb1\xab" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_ebb2[] = { + "\xeb\xb2\x87", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\xb2\xa3", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xeb\xb2\xbf" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_ebb3[] = { + "\xeb\xb3\x9b", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\xb3\xb7" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_ebb4[] = { + "\xeb\xb4\x93", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\xb4\xaf" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_ebb5[] = { + "\xeb\xb5\x8b", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\xb5\xa7" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_ebb6[] = { + "\xeb\xb6\x83", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\xb6\x9f", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xeb\xb6\xbb" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_ebb7[] = { + "\xeb\xb7\x97", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\xb7\xb3" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_ebb8[] = { + "\xeb\xb8\x8f", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\xb8\xab" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_ebb9[] = { + "\xeb\xb9\x87", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\xb9\xa3", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xeb\xb9\xbf" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_ebba[] = { + "\xeb\xba\x9b", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\xba\xb7" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_ebbb[] = { + "\xeb\xbb\x93", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\xbb\xaf" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_ebbc[] = { + "\xeb\xbc\x8b", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\xbc\xa7" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_ebbd[] = { + "\xeb\xbd\x83", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\xbd\x9f", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xeb\xbd\xbb" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_ebbe[] = { + "\xeb\xbe\x97", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\xbe\xb3" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_ebbf[] = { + "\xeb\xbf\x8f", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\xbf\xab" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_ec80[] = { + "\xec\x80\x87", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\x80\xa3", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xec\x80\xbf" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_ec81[] = { + "\xec\x81\x9b", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\x81\xb7" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_ec82[] = { + "\xec\x82\x93", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\x82\xaf" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_ec83[] = { + "\xec\x83\x8b", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\x83\xa7" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_ec84[] = { + "\xec\x84\x83", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\x84\x9f", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xec\x84\xbb" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_ec85[] = { + "\xec\x85\x97", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\x85\xb3" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_ec86[] = { + "\xec\x86\x8f", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\x86\xab" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_ec87[] = { + "\xec\x87\x87", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\x87\xa3", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xec\x87\xbf" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_ec88[] = { + "\xec\x88\x9b", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\x88\xb7" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_ec89[] = { + "\xec\x89\x93", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\x89\xaf" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_ec8a[] = { + "\xec\x8a\x8b", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\x8a\xa7" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_ec8b[] = { + "\xec\x8b\x83", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\x8b\x9f", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xec\x8b\xbb" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_ec8c[] = { + "\xec\x8c\x97", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\x8c\xb3" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_ec8d[] = { + "\xec\x8d\x8f", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\x8d\xab" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_ec8e[] = { + "\xec\x8e\x87", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\x8e\xa3", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xec\x8e\xbf" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_ec8f[] = { + "\xec\x8f\x9b", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\x8f\xb7" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_ec90[] = { + "\xec\x90\x93", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\x90\xaf" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_ec91[] = { + "\xec\x91\x8b", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\x91\xa7" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_ec92[] = { + "\xec\x92\x83", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\x92\x9f", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xec\x92\xbb" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_ec93[] = { + "\xec\x93\x97", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\x93\xb3" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_ec94[] = { + "\xec\x94\x8f", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\x94\xab" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_ec95[] = { + "\xec\x95\x87", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\x95\xa3", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xec\x95\xbf" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_ec96[] = { + "\xec\x96\x9b", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\x96\xb7" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_ec97[] = { + "\xec\x97\x93", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\x97\xaf" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_ec98[] = { + "\xec\x98\x8b", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\x98\xa7" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_ec99[] = { + "\xec\x99\x83", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\x99\x9f", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xec\x99\xbb" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_ec9a[] = { + "\xec\x9a\x97", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\x9a\xb3" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_ec9b[] = { + "\xec\x9b\x8f", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\x9b\xab" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_ec9c[] = { + "\xec\x9c\x87", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\x9c\xa3", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xec\x9c\xbf" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_ec9d[] = { + "\xec\x9d\x9b", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\x9d\xb7" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_ec9e[] = { + "\xec\x9e\x93", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\x9e\xaf" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_ec9f[] = { + "\xec\x9f\x8b", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\x9f\xa7" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_eca0[] = { + "\xec\xa0\x83", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\xa0\x9f", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xec\xa0\xbb" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_eca1[] = { + "\xec\xa1\x97", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\xa1\xb3" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_eca2[] = { + "\xec\xa2\x8f", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\xa2\xab" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_eca3[] = { + "\xec\xa3\x87", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\xa3\xa3", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xec\xa3\xbf" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_eca4[] = { + "\xec\xa4\x9b", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\xa4\xb7" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_eca5[] = { + "\xec\xa5\x93", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\xa5\xaf" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_eca6[] = { + "\xec\xa6\x8b", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\xa6\xa7" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_eca7[] = { + "\xec\xa7\x83", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\xa7\x9f", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xec\xa7\xbb" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_eca8[] = { + "\xec\xa8\x97", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\xa8\xb3" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_eca9[] = { + "\xec\xa9\x8f", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\xa9\xab" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_ecaa[] = { + "\xec\xaa\x87", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\xaa\xa3", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xec\xaa\xbf" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_ecab[] = { + "\xec\xab\x9b", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\xab\xb7" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_ecac[] = { + "\xec\xac\x93", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\xac\xaf" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_ecad[] = { + "\xec\xad\x8b", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\xad\xa7" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_ecae[] = { + "\xec\xae\x83", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\xae\x9f", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xec\xae\xbb" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_ecaf[] = { + "\xec\xaf\x97", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\xaf\xb3" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_ecb0[] = { + "\xec\xb0\x8f", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\xb0\xab" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_ecb1[] = { + "\xec\xb1\x87", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\xb1\xa3", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xec\xb1\xbf" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_ecb2[] = { + "\xec\xb2\x9b", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\xb2\xb7" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_ecb3[] = { + "\xec\xb3\x93", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\xb3\xaf" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_ecb4[] = { + "\xec\xb4\x8b", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\xb4\xa7" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_ecb5[] = { + "\xec\xb5\x83", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\xb5\x9f", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xec\xb5\xbb" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_ecb6[] = { + "\xec\xb6\x97", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\xb6\xb3" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_ecb7[] = { + "\xec\xb7\x8f", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\xb7\xab" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_ecb8[] = { + "\xec\xb8\x87", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\xb8\xa3", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xec\xb8\xbf" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_ecb9[] = { + "\xec\xb9\x9b", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\xb9\xb7" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_ecba[] = { + "\xec\xba\x93", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\xba\xaf" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_ecbb[] = { + "\xec\xbb\x8b", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\xbb\xa7" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_ecbc[] = { + "\xec\xbc\x83", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\xbc\x9f", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xec\xbc\xbb" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_ecbd[] = { + "\xec\xbd\x97", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\xbd\xb3" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_ecbe[] = { + "\xec\xbe\x8f", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\xbe\xab" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_ecbf[] = { + "\xec\xbf\x87", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\xbf\xa3", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xec\xbf\xbf" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_ed80[] = { + "\xed\x80\x9b", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xed\x80\xb7" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_ed81[] = { + "\xed\x81\x93", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xed\x81\xaf" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_ed82[] = { + "\xed\x82\x8b", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xed\x82\xa7" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_ed83[] = { + "\xed\x83\x83", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xed\x83\x9f", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xed\x83\xbb" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_ed84[] = { + "\xed\x84\x97", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xed\x84\xb3" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_ed85[] = { + "\xed\x85\x8f", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xed\x85\xab" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_ed86[] = { + "\xed\x86\x87", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xed\x86\xa3", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xed\x86\xbf" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_ed87[] = { + "\xed\x87\x9b", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xed\x87\xb7" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_ed88[] = { + "\xed\x88\x93", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xed\x88\xaf" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_ed89[] = { + "\xed\x89\x8b", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xed\x89\xa7" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_ed8a[] = { + "\xed\x8a\x83", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xed\x8a\x9f", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xed\x8a\xbb" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_ed8b[] = { + "\xed\x8b\x97", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xed\x8b\xb3" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_ed8c[] = { + "\xed\x8c\x8f", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xed\x8c\xab" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_ed8d[] = { + "\xed\x8d\x87", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xed\x8d\xa3", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xed\x8d\xbf" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_ed8e[] = { + "\xed\x8e\x9b", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xed\x8e\xb7" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_ed8f[] = { + "\xed\x8f\x93", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xed\x8f\xaf" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_ed90[] = { + "\xed\x90\x8b", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xed\x90\xa7" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_ed91[] = { + "\xed\x91\x83", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xed\x91\x9f", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xed\x91\xbb" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_ed92[] = { + "\xed\x92\x97", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xed\x92\xb3" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_ed93[] = { + "\xed\x93\x8f", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xed\x93\xab" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_ed94[] = { + "\xed\x94\x87", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xed\x94\xa3", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xed\x94\xbf" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_ed95[] = { + "\xed\x95\x9b", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xed\x95\xb7" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_ed96[] = { + "\xed\x96\x93", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xed\x96\xaf" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_ed97[] = { + "\xed\x97\x8b", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xed\x97\xa7" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_ed98[] = { + "\xed\x98\x83", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xed\x98\x9f", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xed\x98\xbb" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_ed99[] = { + "\xed\x99\x97", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xed\x99\xb3" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_ed9a[] = { + "\xed\x9a\x8f", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xed\x9a\xab" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_ed9b[] = { + "\xed\x9b\x87", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xed\x9b\xa3", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xed\x9b\xbf" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_ed9c[] = { + "\xed\x9c\x9b", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xed\x9c\xb7" +}; + +static const char *grn_nfkc121_compose_prefix_e186aa_table_ed9d[] = { + "\xed\x9d\x93", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xed\x9d\xaf" +}; + +static grn_inline const char * +grn_nfkc121_compose_prefix_e186aa(const unsigned char *utf8) +{ + { + switch (utf8[0]) { + case 0xea : + switch (utf8[1]) { + case 0xb0 : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xb8) { + return grn_nfkc121_compose_prefix_e186aa_table_eab0[utf8[2] - 0x80]; + } + break; + case 0xb1 : + if (utf8[2] >= 0x94 && + utf8[2] <= 0xb0) { + return grn_nfkc121_compose_prefix_e186aa_table_eab1[utf8[2] - 0x94]; + } + break; + case 0xb2 : + if (utf8[2] >= 0x8c && + utf8[2] <= 0xa8) { + return grn_nfkc121_compose_prefix_e186aa_table_eab2[utf8[2] - 0x8c]; + } + break; + case 0xb3 : + if (utf8[2] >= 0x84 && + utf8[2] <= 0xbc) { + return grn_nfkc121_compose_prefix_e186aa_table_eab3[utf8[2] - 0x84]; + } + break; + case 0xb4 : + if (utf8[2] >= 0x98 && + utf8[2] <= 0xb4) { + return grn_nfkc121_compose_prefix_e186aa_table_eab4[utf8[2] - 0x98]; + } + break; + case 0xb5 : + if (utf8[2] >= 0x90 && + utf8[2] <= 0xac) { + return grn_nfkc121_compose_prefix_e186aa_table_eab5[utf8[2] - 0x90]; + } + break; + case 0xb6 : + if (utf8[2] >= 0x88 && + utf8[2] <= 0xa4) { + return grn_nfkc121_compose_prefix_e186aa_table_eab6[utf8[2] - 0x88]; + } + break; + case 0xb7 : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xb8) { + return grn_nfkc121_compose_prefix_e186aa_table_eab7[utf8[2] - 0x80]; + } + break; + case 0xb8 : + if (utf8[2] >= 0x94 && + utf8[2] <= 0xb0) { + return grn_nfkc121_compose_prefix_e186aa_table_eab8[utf8[2] - 0x94]; + } + break; + case 0xb9 : + if (utf8[2] >= 0x8c && + utf8[2] <= 0xa8) { + return grn_nfkc121_compose_prefix_e186aa_table_eab9[utf8[2] - 0x8c]; + } + break; + case 0xba : + if (utf8[2] >= 0x84 && + utf8[2] <= 0xbc) { + return grn_nfkc121_compose_prefix_e186aa_table_eaba[utf8[2] - 0x84]; + } + break; + case 0xbb : + if (utf8[2] >= 0x98 && + utf8[2] <= 0xb4) { + return grn_nfkc121_compose_prefix_e186aa_table_eabb[utf8[2] - 0x98]; + } + break; + case 0xbc : + if (utf8[2] >= 0x90 && + utf8[2] <= 0xac) { + return grn_nfkc121_compose_prefix_e186aa_table_eabc[utf8[2] - 0x90]; + } + break; + case 0xbd : + if (utf8[2] >= 0x88 && + utf8[2] <= 0xa4) { + return grn_nfkc121_compose_prefix_e186aa_table_eabd[utf8[2] - 0x88]; + } + break; + case 0xbe : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xb8) { + return grn_nfkc121_compose_prefix_e186aa_table_eabe[utf8[2] - 0x80]; + } + break; + case 0xbf : + if (utf8[2] >= 0x94 && + utf8[2] <= 0xb0) { + return grn_nfkc121_compose_prefix_e186aa_table_eabf[utf8[2] - 0x94]; + } + break; + default : + break; + } + break; + case 0xeb : + switch (utf8[1]) { + case 0x80 : + if (utf8[2] >= 0x8c && + utf8[2] <= 0xa8) { + return grn_nfkc121_compose_prefix_e186aa_table_eb80[utf8[2] - 0x8c]; + } + break; + case 0x81 : + if (utf8[2] >= 0x84 && + utf8[2] <= 0xbc) { + return grn_nfkc121_compose_prefix_e186aa_table_eb81[utf8[2] - 0x84]; + } + break; + case 0x82 : + if (utf8[2] >= 0x98 && + utf8[2] <= 0xb4) { + return grn_nfkc121_compose_prefix_e186aa_table_eb82[utf8[2] - 0x98]; + } + break; + case 0x83 : + if (utf8[2] >= 0x90 && + utf8[2] <= 0xac) { + return grn_nfkc121_compose_prefix_e186aa_table_eb83[utf8[2] - 0x90]; + } + break; + case 0x84 : + if (utf8[2] >= 0x88 && + utf8[2] <= 0xa4) { + return grn_nfkc121_compose_prefix_e186aa_table_eb84[utf8[2] - 0x88]; + } + break; + case 0x85 : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xb8) { + return grn_nfkc121_compose_prefix_e186aa_table_eb85[utf8[2] - 0x80]; + } + break; + case 0x86 : + if (utf8[2] >= 0x94 && + utf8[2] <= 0xb0) { + return grn_nfkc121_compose_prefix_e186aa_table_eb86[utf8[2] - 0x94]; + } + break; + case 0x87 : + if (utf8[2] >= 0x8c && + utf8[2] <= 0xa8) { + return grn_nfkc121_compose_prefix_e186aa_table_eb87[utf8[2] - 0x8c]; + } + break; + case 0x88 : + if (utf8[2] >= 0x84 && + utf8[2] <= 0xbc) { + return grn_nfkc121_compose_prefix_e186aa_table_eb88[utf8[2] - 0x84]; + } + break; + case 0x89 : + if (utf8[2] >= 0x98 && + utf8[2] <= 0xb4) { + return grn_nfkc121_compose_prefix_e186aa_table_eb89[utf8[2] - 0x98]; + } + break; + case 0x8a : + if (utf8[2] >= 0x90 && + utf8[2] <= 0xac) { + return grn_nfkc121_compose_prefix_e186aa_table_eb8a[utf8[2] - 0x90]; + } + break; + case 0x8b : + if (utf8[2] >= 0x88 && + utf8[2] <= 0xa4) { + return grn_nfkc121_compose_prefix_e186aa_table_eb8b[utf8[2] - 0x88]; + } + break; + case 0x8c : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xb8) { + return grn_nfkc121_compose_prefix_e186aa_table_eb8c[utf8[2] - 0x80]; + } + break; + case 0x8d : + if (utf8[2] >= 0x94 && + utf8[2] <= 0xb0) { + return grn_nfkc121_compose_prefix_e186aa_table_eb8d[utf8[2] - 0x94]; + } + break; + case 0x8e : + if (utf8[2] >= 0x8c && + utf8[2] <= 0xa8) { + return grn_nfkc121_compose_prefix_e186aa_table_eb8e[utf8[2] - 0x8c]; + } + break; + case 0x8f : + if (utf8[2] >= 0x84 && + utf8[2] <= 0xbc) { + return grn_nfkc121_compose_prefix_e186aa_table_eb8f[utf8[2] - 0x84]; + } + break; + case 0x90 : + if (utf8[2] >= 0x98 && + utf8[2] <= 0xb4) { + return grn_nfkc121_compose_prefix_e186aa_table_eb90[utf8[2] - 0x98]; + } + break; + case 0x91 : + if (utf8[2] >= 0x90 && + utf8[2] <= 0xac) { + return grn_nfkc121_compose_prefix_e186aa_table_eb91[utf8[2] - 0x90]; + } + break; + case 0x92 : + if (utf8[2] >= 0x88 && + utf8[2] <= 0xa4) { + return grn_nfkc121_compose_prefix_e186aa_table_eb92[utf8[2] - 0x88]; + } + break; + case 0x93 : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xb8) { + return grn_nfkc121_compose_prefix_e186aa_table_eb93[utf8[2] - 0x80]; + } + break; + case 0x94 : + if (utf8[2] >= 0x94 && + utf8[2] <= 0xb0) { + return grn_nfkc121_compose_prefix_e186aa_table_eb94[utf8[2] - 0x94]; + } + break; + case 0x95 : + if (utf8[2] >= 0x8c && + utf8[2] <= 0xa8) { + return grn_nfkc121_compose_prefix_e186aa_table_eb95[utf8[2] - 0x8c]; + } + break; + case 0x96 : + if (utf8[2] >= 0x84 && + utf8[2] <= 0xbc) { + return grn_nfkc121_compose_prefix_e186aa_table_eb96[utf8[2] - 0x84]; + } + break; + case 0x97 : + if (utf8[2] >= 0x98 && + utf8[2] <= 0xb4) { + return grn_nfkc121_compose_prefix_e186aa_table_eb97[utf8[2] - 0x98]; + } + break; + case 0x98 : + if (utf8[2] >= 0x90 && + utf8[2] <= 0xac) { + return grn_nfkc121_compose_prefix_e186aa_table_eb98[utf8[2] - 0x90]; + } + break; + case 0x99 : + if (utf8[2] >= 0x88 && + utf8[2] <= 0xa4) { + return grn_nfkc121_compose_prefix_e186aa_table_eb99[utf8[2] - 0x88]; + } + break; + case 0x9a : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xb8) { + return grn_nfkc121_compose_prefix_e186aa_table_eb9a[utf8[2] - 0x80]; + } + break; + case 0x9b : + if (utf8[2] >= 0x94 && + utf8[2] <= 0xb0) { + return grn_nfkc121_compose_prefix_e186aa_table_eb9b[utf8[2] - 0x94]; + } + break; + case 0x9c : + if (utf8[2] >= 0x8c && + utf8[2] <= 0xa8) { + return grn_nfkc121_compose_prefix_e186aa_table_eb9c[utf8[2] - 0x8c]; + } + break; + case 0x9d : + if (utf8[2] >= 0x84 && + utf8[2] <= 0xbc) { + return grn_nfkc121_compose_prefix_e186aa_table_eb9d[utf8[2] - 0x84]; + } + break; + case 0x9e : + if (utf8[2] >= 0x98 && + utf8[2] <= 0xb4) { + return grn_nfkc121_compose_prefix_e186aa_table_eb9e[utf8[2] - 0x98]; + } + break; + case 0x9f : + if (utf8[2] >= 0x90 && + utf8[2] <= 0xac) { + return grn_nfkc121_compose_prefix_e186aa_table_eb9f[utf8[2] - 0x90]; + } + break; + case 0xa0 : + if (utf8[2] >= 0x88 && + utf8[2] <= 0xa4) { + return grn_nfkc121_compose_prefix_e186aa_table_eba0[utf8[2] - 0x88]; + } + break; + case 0xa1 : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xb8) { + return grn_nfkc121_compose_prefix_e186aa_table_eba1[utf8[2] - 0x80]; + } + break; + case 0xa2 : + if (utf8[2] >= 0x94 && + utf8[2] <= 0xb0) { + return grn_nfkc121_compose_prefix_e186aa_table_eba2[utf8[2] - 0x94]; + } + break; + case 0xa3 : + if (utf8[2] >= 0x8c && + utf8[2] <= 0xa8) { + return grn_nfkc121_compose_prefix_e186aa_table_eba3[utf8[2] - 0x8c]; + } + break; + case 0xa4 : + if (utf8[2] >= 0x84 && + utf8[2] <= 0xbc) { + return grn_nfkc121_compose_prefix_e186aa_table_eba4[utf8[2] - 0x84]; + } + break; + case 0xa5 : + if (utf8[2] >= 0x98 && + utf8[2] <= 0xb4) { + return grn_nfkc121_compose_prefix_e186aa_table_eba5[utf8[2] - 0x98]; + } + break; + case 0xa6 : + if (utf8[2] >= 0x90 && + utf8[2] <= 0xac) { + return grn_nfkc121_compose_prefix_e186aa_table_eba6[utf8[2] - 0x90]; + } + break; + case 0xa7 : + if (utf8[2] >= 0x88 && + utf8[2] <= 0xa4) { + return grn_nfkc121_compose_prefix_e186aa_table_eba7[utf8[2] - 0x88]; + } + break; + case 0xa8 : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xb8) { + return grn_nfkc121_compose_prefix_e186aa_table_eba8[utf8[2] - 0x80]; + } + break; + case 0xa9 : + if (utf8[2] >= 0x94 && + utf8[2] <= 0xb0) { + return grn_nfkc121_compose_prefix_e186aa_table_eba9[utf8[2] - 0x94]; + } + break; + case 0xaa : + if (utf8[2] >= 0x8c && + utf8[2] <= 0xa8) { + return grn_nfkc121_compose_prefix_e186aa_table_ebaa[utf8[2] - 0x8c]; + } + break; + case 0xab : + if (utf8[2] >= 0x84 && + utf8[2] <= 0xbc) { + return grn_nfkc121_compose_prefix_e186aa_table_ebab[utf8[2] - 0x84]; + } + break; + case 0xac : + if (utf8[2] >= 0x98 && + utf8[2] <= 0xb4) { + return grn_nfkc121_compose_prefix_e186aa_table_ebac[utf8[2] - 0x98]; + } + break; + case 0xad : + if (utf8[2] >= 0x90 && + utf8[2] <= 0xac) { + return grn_nfkc121_compose_prefix_e186aa_table_ebad[utf8[2] - 0x90]; + } + break; + case 0xae : + if (utf8[2] >= 0x88 && + utf8[2] <= 0xa4) { + return grn_nfkc121_compose_prefix_e186aa_table_ebae[utf8[2] - 0x88]; + } + break; + case 0xaf : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xb8) { + return grn_nfkc121_compose_prefix_e186aa_table_ebaf[utf8[2] - 0x80]; + } + break; + case 0xb0 : + if (utf8[2] >= 0x94 && + utf8[2] <= 0xb0) { + return grn_nfkc121_compose_prefix_e186aa_table_ebb0[utf8[2] - 0x94]; + } + break; + case 0xb1 : + if (utf8[2] >= 0x8c && + utf8[2] <= 0xa8) { + return grn_nfkc121_compose_prefix_e186aa_table_ebb1[utf8[2] - 0x8c]; + } + break; + case 0xb2 : + if (utf8[2] >= 0x84 && + utf8[2] <= 0xbc) { + return grn_nfkc121_compose_prefix_e186aa_table_ebb2[utf8[2] - 0x84]; + } + break; + case 0xb3 : + if (utf8[2] >= 0x98 && + utf8[2] <= 0xb4) { + return grn_nfkc121_compose_prefix_e186aa_table_ebb3[utf8[2] - 0x98]; + } + break; + case 0xb4 : + if (utf8[2] >= 0x90 && + utf8[2] <= 0xac) { + return grn_nfkc121_compose_prefix_e186aa_table_ebb4[utf8[2] - 0x90]; + } + break; + case 0xb5 : + if (utf8[2] >= 0x88 && + utf8[2] <= 0xa4) { + return grn_nfkc121_compose_prefix_e186aa_table_ebb5[utf8[2] - 0x88]; + } + break; + case 0xb6 : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xb8) { + return grn_nfkc121_compose_prefix_e186aa_table_ebb6[utf8[2] - 0x80]; + } + break; + case 0xb7 : + if (utf8[2] >= 0x94 && + utf8[2] <= 0xb0) { + return grn_nfkc121_compose_prefix_e186aa_table_ebb7[utf8[2] - 0x94]; + } + break; + case 0xb8 : + if (utf8[2] >= 0x8c && + utf8[2] <= 0xa8) { + return grn_nfkc121_compose_prefix_e186aa_table_ebb8[utf8[2] - 0x8c]; + } + break; + case 0xb9 : + if (utf8[2] >= 0x84 && + utf8[2] <= 0xbc) { + return grn_nfkc121_compose_prefix_e186aa_table_ebb9[utf8[2] - 0x84]; + } + break; + case 0xba : + if (utf8[2] >= 0x98 && + utf8[2] <= 0xb4) { + return grn_nfkc121_compose_prefix_e186aa_table_ebba[utf8[2] - 0x98]; + } + break; + case 0xbb : + if (utf8[2] >= 0x90 && + utf8[2] <= 0xac) { + return grn_nfkc121_compose_prefix_e186aa_table_ebbb[utf8[2] - 0x90]; + } + break; + case 0xbc : + if (utf8[2] >= 0x88 && + utf8[2] <= 0xa4) { + return grn_nfkc121_compose_prefix_e186aa_table_ebbc[utf8[2] - 0x88]; + } + break; + case 0xbd : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xb8) { + return grn_nfkc121_compose_prefix_e186aa_table_ebbd[utf8[2] - 0x80]; + } + break; + case 0xbe : + if (utf8[2] >= 0x94 && + utf8[2] <= 0xb0) { + return grn_nfkc121_compose_prefix_e186aa_table_ebbe[utf8[2] - 0x94]; + } + break; + case 0xbf : + if (utf8[2] >= 0x8c && + utf8[2] <= 0xa8) { + return grn_nfkc121_compose_prefix_e186aa_table_ebbf[utf8[2] - 0x8c]; + } + break; + default : + break; + } + break; + case 0xec : + switch (utf8[1]) { + case 0x80 : + if (utf8[2] >= 0x84 && + utf8[2] <= 0xbc) { + return grn_nfkc121_compose_prefix_e186aa_table_ec80[utf8[2] - 0x84]; + } + break; + case 0x81 : + if (utf8[2] >= 0x98 && + utf8[2] <= 0xb4) { + return grn_nfkc121_compose_prefix_e186aa_table_ec81[utf8[2] - 0x98]; + } + break; + case 0x82 : + if (utf8[2] >= 0x90 && + utf8[2] <= 0xac) { + return grn_nfkc121_compose_prefix_e186aa_table_ec82[utf8[2] - 0x90]; + } + break; + case 0x83 : + if (utf8[2] >= 0x88 && + utf8[2] <= 0xa4) { + return grn_nfkc121_compose_prefix_e186aa_table_ec83[utf8[2] - 0x88]; + } + break; + case 0x84 : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xb8) { + return grn_nfkc121_compose_prefix_e186aa_table_ec84[utf8[2] - 0x80]; + } + break; + case 0x85 : + if (utf8[2] >= 0x94 && + utf8[2] <= 0xb0) { + return grn_nfkc121_compose_prefix_e186aa_table_ec85[utf8[2] - 0x94]; + } + break; + case 0x86 : + if (utf8[2] >= 0x8c && + utf8[2] <= 0xa8) { + return grn_nfkc121_compose_prefix_e186aa_table_ec86[utf8[2] - 0x8c]; + } + break; + case 0x87 : + if (utf8[2] >= 0x84 && + utf8[2] <= 0xbc) { + return grn_nfkc121_compose_prefix_e186aa_table_ec87[utf8[2] - 0x84]; + } + break; + case 0x88 : + if (utf8[2] >= 0x98 && + utf8[2] <= 0xb4) { + return grn_nfkc121_compose_prefix_e186aa_table_ec88[utf8[2] - 0x98]; + } + break; + case 0x89 : + if (utf8[2] >= 0x90 && + utf8[2] <= 0xac) { + return grn_nfkc121_compose_prefix_e186aa_table_ec89[utf8[2] - 0x90]; + } + break; + case 0x8a : + if (utf8[2] >= 0x88 && + utf8[2] <= 0xa4) { + return grn_nfkc121_compose_prefix_e186aa_table_ec8a[utf8[2] - 0x88]; + } + break; + case 0x8b : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xb8) { + return grn_nfkc121_compose_prefix_e186aa_table_ec8b[utf8[2] - 0x80]; + } + break; + case 0x8c : + if (utf8[2] >= 0x94 && + utf8[2] <= 0xb0) { + return grn_nfkc121_compose_prefix_e186aa_table_ec8c[utf8[2] - 0x94]; + } + break; + case 0x8d : + if (utf8[2] >= 0x8c && + utf8[2] <= 0xa8) { + return grn_nfkc121_compose_prefix_e186aa_table_ec8d[utf8[2] - 0x8c]; + } + break; + case 0x8e : + if (utf8[2] >= 0x84 && + utf8[2] <= 0xbc) { + return grn_nfkc121_compose_prefix_e186aa_table_ec8e[utf8[2] - 0x84]; + } + break; + case 0x8f : + if (utf8[2] >= 0x98 && + utf8[2] <= 0xb4) { + return grn_nfkc121_compose_prefix_e186aa_table_ec8f[utf8[2] - 0x98]; + } + break; + case 0x90 : + if (utf8[2] >= 0x90 && + utf8[2] <= 0xac) { + return grn_nfkc121_compose_prefix_e186aa_table_ec90[utf8[2] - 0x90]; + } + break; + case 0x91 : + if (utf8[2] >= 0x88 && + utf8[2] <= 0xa4) { + return grn_nfkc121_compose_prefix_e186aa_table_ec91[utf8[2] - 0x88]; + } + break; + case 0x92 : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xb8) { + return grn_nfkc121_compose_prefix_e186aa_table_ec92[utf8[2] - 0x80]; + } + break; + case 0x93 : + if (utf8[2] >= 0x94 && + utf8[2] <= 0xb0) { + return grn_nfkc121_compose_prefix_e186aa_table_ec93[utf8[2] - 0x94]; + } + break; + case 0x94 : + if (utf8[2] >= 0x8c && + utf8[2] <= 0xa8) { + return grn_nfkc121_compose_prefix_e186aa_table_ec94[utf8[2] - 0x8c]; + } + break; + case 0x95 : + if (utf8[2] >= 0x84 && + utf8[2] <= 0xbc) { + return grn_nfkc121_compose_prefix_e186aa_table_ec95[utf8[2] - 0x84]; + } + break; + case 0x96 : + if (utf8[2] >= 0x98 && + utf8[2] <= 0xb4) { + return grn_nfkc121_compose_prefix_e186aa_table_ec96[utf8[2] - 0x98]; + } + break; + case 0x97 : + if (utf8[2] >= 0x90 && + utf8[2] <= 0xac) { + return grn_nfkc121_compose_prefix_e186aa_table_ec97[utf8[2] - 0x90]; + } + break; + case 0x98 : + if (utf8[2] >= 0x88 && + utf8[2] <= 0xa4) { + return grn_nfkc121_compose_prefix_e186aa_table_ec98[utf8[2] - 0x88]; + } + break; + case 0x99 : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xb8) { + return grn_nfkc121_compose_prefix_e186aa_table_ec99[utf8[2] - 0x80]; + } + break; + case 0x9a : + if (utf8[2] >= 0x94 && + utf8[2] <= 0xb0) { + return grn_nfkc121_compose_prefix_e186aa_table_ec9a[utf8[2] - 0x94]; + } + break; + case 0x9b : + if (utf8[2] >= 0x8c && + utf8[2] <= 0xa8) { + return grn_nfkc121_compose_prefix_e186aa_table_ec9b[utf8[2] - 0x8c]; + } + break; + case 0x9c : + if (utf8[2] >= 0x84 && + utf8[2] <= 0xbc) { + return grn_nfkc121_compose_prefix_e186aa_table_ec9c[utf8[2] - 0x84]; + } + break; + case 0x9d : + if (utf8[2] >= 0x98 && + utf8[2] <= 0xb4) { + return grn_nfkc121_compose_prefix_e186aa_table_ec9d[utf8[2] - 0x98]; + } + break; + case 0x9e : + if (utf8[2] >= 0x90 && + utf8[2] <= 0xac) { + return grn_nfkc121_compose_prefix_e186aa_table_ec9e[utf8[2] - 0x90]; + } + break; + case 0x9f : + if (utf8[2] >= 0x88 && + utf8[2] <= 0xa4) { + return grn_nfkc121_compose_prefix_e186aa_table_ec9f[utf8[2] - 0x88]; + } + break; + case 0xa0 : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xb8) { + return grn_nfkc121_compose_prefix_e186aa_table_eca0[utf8[2] - 0x80]; + } + break; + case 0xa1 : + if (utf8[2] >= 0x94 && + utf8[2] <= 0xb0) { + return grn_nfkc121_compose_prefix_e186aa_table_eca1[utf8[2] - 0x94]; + } + break; + case 0xa2 : + if (utf8[2] >= 0x8c && + utf8[2] <= 0xa8) { + return grn_nfkc121_compose_prefix_e186aa_table_eca2[utf8[2] - 0x8c]; + } + break; + case 0xa3 : + if (utf8[2] >= 0x84 && + utf8[2] <= 0xbc) { + return grn_nfkc121_compose_prefix_e186aa_table_eca3[utf8[2] - 0x84]; + } + break; + case 0xa4 : + if (utf8[2] >= 0x98 && + utf8[2] <= 0xb4) { + return grn_nfkc121_compose_prefix_e186aa_table_eca4[utf8[2] - 0x98]; + } + break; + case 0xa5 : + if (utf8[2] >= 0x90 && + utf8[2] <= 0xac) { + return grn_nfkc121_compose_prefix_e186aa_table_eca5[utf8[2] - 0x90]; + } + break; + case 0xa6 : + if (utf8[2] >= 0x88 && + utf8[2] <= 0xa4) { + return grn_nfkc121_compose_prefix_e186aa_table_eca6[utf8[2] - 0x88]; + } + break; + case 0xa7 : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xb8) { + return grn_nfkc121_compose_prefix_e186aa_table_eca7[utf8[2] - 0x80]; + } + break; + case 0xa8 : + if (utf8[2] >= 0x94 && + utf8[2] <= 0xb0) { + return grn_nfkc121_compose_prefix_e186aa_table_eca8[utf8[2] - 0x94]; + } + break; + case 0xa9 : + if (utf8[2] >= 0x8c && + utf8[2] <= 0xa8) { + return grn_nfkc121_compose_prefix_e186aa_table_eca9[utf8[2] - 0x8c]; + } + break; + case 0xaa : + if (utf8[2] >= 0x84 && + utf8[2] <= 0xbc) { + return grn_nfkc121_compose_prefix_e186aa_table_ecaa[utf8[2] - 0x84]; + } + break; + case 0xab : + if (utf8[2] >= 0x98 && + utf8[2] <= 0xb4) { + return grn_nfkc121_compose_prefix_e186aa_table_ecab[utf8[2] - 0x98]; + } + break; + case 0xac : + if (utf8[2] >= 0x90 && + utf8[2] <= 0xac) { + return grn_nfkc121_compose_prefix_e186aa_table_ecac[utf8[2] - 0x90]; + } + break; + case 0xad : + if (utf8[2] >= 0x88 && + utf8[2] <= 0xa4) { + return grn_nfkc121_compose_prefix_e186aa_table_ecad[utf8[2] - 0x88]; + } + break; + case 0xae : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xb8) { + return grn_nfkc121_compose_prefix_e186aa_table_ecae[utf8[2] - 0x80]; + } + break; + case 0xaf : + if (utf8[2] >= 0x94 && + utf8[2] <= 0xb0) { + return grn_nfkc121_compose_prefix_e186aa_table_ecaf[utf8[2] - 0x94]; + } + break; + case 0xb0 : + if (utf8[2] >= 0x8c && + utf8[2] <= 0xa8) { + return grn_nfkc121_compose_prefix_e186aa_table_ecb0[utf8[2] - 0x8c]; + } + break; + case 0xb1 : + if (utf8[2] >= 0x84 && + utf8[2] <= 0xbc) { + return grn_nfkc121_compose_prefix_e186aa_table_ecb1[utf8[2] - 0x84]; + } + break; + case 0xb2 : + if (utf8[2] >= 0x98 && + utf8[2] <= 0xb4) { + return grn_nfkc121_compose_prefix_e186aa_table_ecb2[utf8[2] - 0x98]; + } + break; + case 0xb3 : + if (utf8[2] >= 0x90 && + utf8[2] <= 0xac) { + return grn_nfkc121_compose_prefix_e186aa_table_ecb3[utf8[2] - 0x90]; + } + break; + case 0xb4 : + if (utf8[2] >= 0x88 && + utf8[2] <= 0xa4) { + return grn_nfkc121_compose_prefix_e186aa_table_ecb4[utf8[2] - 0x88]; + } + break; + case 0xb5 : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xb8) { + return grn_nfkc121_compose_prefix_e186aa_table_ecb5[utf8[2] - 0x80]; + } + break; + case 0xb6 : + if (utf8[2] >= 0x94 && + utf8[2] <= 0xb0) { + return grn_nfkc121_compose_prefix_e186aa_table_ecb6[utf8[2] - 0x94]; + } + break; + case 0xb7 : + if (utf8[2] >= 0x8c && + utf8[2] <= 0xa8) { + return grn_nfkc121_compose_prefix_e186aa_table_ecb7[utf8[2] - 0x8c]; + } + break; + case 0xb8 : + if (utf8[2] >= 0x84 && + utf8[2] <= 0xbc) { + return grn_nfkc121_compose_prefix_e186aa_table_ecb8[utf8[2] - 0x84]; + } + break; + case 0xb9 : + if (utf8[2] >= 0x98 && + utf8[2] <= 0xb4) { + return grn_nfkc121_compose_prefix_e186aa_table_ecb9[utf8[2] - 0x98]; + } + break; + case 0xba : + if (utf8[2] >= 0x90 && + utf8[2] <= 0xac) { + return grn_nfkc121_compose_prefix_e186aa_table_ecba[utf8[2] - 0x90]; + } + break; + case 0xbb : + if (utf8[2] >= 0x88 && + utf8[2] <= 0xa4) { + return grn_nfkc121_compose_prefix_e186aa_table_ecbb[utf8[2] - 0x88]; + } + break; + case 0xbc : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xb8) { + return grn_nfkc121_compose_prefix_e186aa_table_ecbc[utf8[2] - 0x80]; + } + break; + case 0xbd : + if (utf8[2] >= 0x94 && + utf8[2] <= 0xb0) { + return grn_nfkc121_compose_prefix_e186aa_table_ecbd[utf8[2] - 0x94]; + } + break; + case 0xbe : + if (utf8[2] >= 0x8c && + utf8[2] <= 0xa8) { + return grn_nfkc121_compose_prefix_e186aa_table_ecbe[utf8[2] - 0x8c]; + } + break; + case 0xbf : + if (utf8[2] >= 0x84 && + utf8[2] <= 0xbc) { + return grn_nfkc121_compose_prefix_e186aa_table_ecbf[utf8[2] - 0x84]; + } + break; + default : + break; + } + break; + case 0xed : + switch (utf8[1]) { + case 0x80 : + if (utf8[2] >= 0x98 && + utf8[2] <= 0xb4) { + return grn_nfkc121_compose_prefix_e186aa_table_ed80[utf8[2] - 0x98]; + } + break; + case 0x81 : + if (utf8[2] >= 0x90 && + utf8[2] <= 0xac) { + return grn_nfkc121_compose_prefix_e186aa_table_ed81[utf8[2] - 0x90]; + } + break; + case 0x82 : + if (utf8[2] >= 0x88 && + utf8[2] <= 0xa4) { + return grn_nfkc121_compose_prefix_e186aa_table_ed82[utf8[2] - 0x88]; + } + break; + case 0x83 : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xb8) { + return grn_nfkc121_compose_prefix_e186aa_table_ed83[utf8[2] - 0x80]; + } + break; + case 0x84 : + if (utf8[2] >= 0x94 && + utf8[2] <= 0xb0) { + return grn_nfkc121_compose_prefix_e186aa_table_ed84[utf8[2] - 0x94]; + } + break; + case 0x85 : + if (utf8[2] >= 0x8c && + utf8[2] <= 0xa8) { + return grn_nfkc121_compose_prefix_e186aa_table_ed85[utf8[2] - 0x8c]; + } + break; + case 0x86 : + if (utf8[2] >= 0x84 && + utf8[2] <= 0xbc) { + return grn_nfkc121_compose_prefix_e186aa_table_ed86[utf8[2] - 0x84]; + } + break; + case 0x87 : + if (utf8[2] >= 0x98 && + utf8[2] <= 0xb4) { + return grn_nfkc121_compose_prefix_e186aa_table_ed87[utf8[2] - 0x98]; + } + break; + case 0x88 : + if (utf8[2] >= 0x90 && + utf8[2] <= 0xac) { + return grn_nfkc121_compose_prefix_e186aa_table_ed88[utf8[2] - 0x90]; + } + break; + case 0x89 : + if (utf8[2] >= 0x88 && + utf8[2] <= 0xa4) { + return grn_nfkc121_compose_prefix_e186aa_table_ed89[utf8[2] - 0x88]; + } + break; + case 0x8a : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xb8) { + return grn_nfkc121_compose_prefix_e186aa_table_ed8a[utf8[2] - 0x80]; + } + break; + case 0x8b : + if (utf8[2] >= 0x94 && + utf8[2] <= 0xb0) { + return grn_nfkc121_compose_prefix_e186aa_table_ed8b[utf8[2] - 0x94]; + } + break; + case 0x8c : + if (utf8[2] >= 0x8c && + utf8[2] <= 0xa8) { + return grn_nfkc121_compose_prefix_e186aa_table_ed8c[utf8[2] - 0x8c]; + } + break; + case 0x8d : + if (utf8[2] >= 0x84 && + utf8[2] <= 0xbc) { + return grn_nfkc121_compose_prefix_e186aa_table_ed8d[utf8[2] - 0x84]; + } + break; + case 0x8e : + if (utf8[2] >= 0x98 && + utf8[2] <= 0xb4) { + return grn_nfkc121_compose_prefix_e186aa_table_ed8e[utf8[2] - 0x98]; + } + break; + case 0x8f : + if (utf8[2] >= 0x90 && + utf8[2] <= 0xac) { + return grn_nfkc121_compose_prefix_e186aa_table_ed8f[utf8[2] - 0x90]; + } + break; + case 0x90 : + if (utf8[2] >= 0x88 && + utf8[2] <= 0xa4) { + return grn_nfkc121_compose_prefix_e186aa_table_ed90[utf8[2] - 0x88]; + } + break; + case 0x91 : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xb8) { + return grn_nfkc121_compose_prefix_e186aa_table_ed91[utf8[2] - 0x80]; + } + break; + case 0x92 : + if (utf8[2] >= 0x94 && + utf8[2] <= 0xb0) { + return grn_nfkc121_compose_prefix_e186aa_table_ed92[utf8[2] - 0x94]; + } + break; + case 0x93 : + if (utf8[2] >= 0x8c && + utf8[2] <= 0xa8) { + return grn_nfkc121_compose_prefix_e186aa_table_ed93[utf8[2] - 0x8c]; + } + break; + case 0x94 : + if (utf8[2] >= 0x84 && + utf8[2] <= 0xbc) { + return grn_nfkc121_compose_prefix_e186aa_table_ed94[utf8[2] - 0x84]; + } + break; + case 0x95 : + if (utf8[2] >= 0x98 && + utf8[2] <= 0xb4) { + return grn_nfkc121_compose_prefix_e186aa_table_ed95[utf8[2] - 0x98]; + } + break; + case 0x96 : + if (utf8[2] >= 0x90 && + utf8[2] <= 0xac) { + return grn_nfkc121_compose_prefix_e186aa_table_ed96[utf8[2] - 0x90]; + } + break; + case 0x97 : + if (utf8[2] >= 0x88 && + utf8[2] <= 0xa4) { + return grn_nfkc121_compose_prefix_e186aa_table_ed97[utf8[2] - 0x88]; + } + break; + case 0x98 : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xb8) { + return grn_nfkc121_compose_prefix_e186aa_table_ed98[utf8[2] - 0x80]; + } + break; + case 0x99 : + if (utf8[2] >= 0x94 && + utf8[2] <= 0xb0) { + return grn_nfkc121_compose_prefix_e186aa_table_ed99[utf8[2] - 0x94]; + } + break; + case 0x9a : + if (utf8[2] >= 0x8c && + utf8[2] <= 0xa8) { + return grn_nfkc121_compose_prefix_e186aa_table_ed9a[utf8[2] - 0x8c]; + } + break; + case 0x9b : + if (utf8[2] >= 0x84 && + utf8[2] <= 0xbc) { + return grn_nfkc121_compose_prefix_e186aa_table_ed9b[utf8[2] - 0x84]; + } + break; + case 0x9c : + if (utf8[2] >= 0x98 && + utf8[2] <= 0xb4) { + return grn_nfkc121_compose_prefix_e186aa_table_ed9c[utf8[2] - 0x98]; + } + break; + case 0x9d : + if (utf8[2] >= 0x90 && + utf8[2] <= 0xac) { + return grn_nfkc121_compose_prefix_e186aa_table_ed9d[utf8[2] - 0x90]; + } + break; + case 0x9e : + if (utf8[2] == 0x88) { + return "\xed\x9e\x8b"; + } + break; + default : + break; + } + break; + default : + break; + } + } + + return NULL; +} + +static const char *grn_nfkc121_compose_prefix_e186ab_table_eab0[] = { + "\xea\xb0\x84", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xea\xb0\xa0", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xea\xb0\xbc" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_eab1[] = { + "\xea\xb1\x98", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xea\xb1\xb4" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_eab2[] = { + "\xea\xb2\x90", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xea\xb2\xac" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_eab3[] = { + "\xea\xb3\x88", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xea\xb3\xa4", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xea\xb4\x80" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_eab4[] = { + "\xea\xb4\x9c", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xea\xb4\xb8" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_eab5[] = { + "\xea\xb5\x94", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xea\xb5\xb0" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_eab6[] = { + "\xea\xb6\x8c", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xea\xb6\xa8" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_eab7[] = { + "\xea\xb7\x84", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xea\xb7\xa0", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xea\xb7\xbc" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_eab8[] = { + "\xea\xb8\x98", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xea\xb8\xb4" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_eab9[] = { + "\xea\xb9\x90", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xea\xb9\xac" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_eaba[] = { + "\xea\xba\x88", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xea\xba\xa4", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xea\xbb\x80" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_eabb[] = { + "\xea\xbb\x9c", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xea\xbb\xb8" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_eabc[] = { + "\xea\xbc\x94", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xea\xbc\xb0" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_eabd[] = { + "\xea\xbd\x8c", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xea\xbd\xa8" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_eabe[] = { + "\xea\xbe\x84", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xea\xbe\xa0", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xea\xbe\xbc" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_eabf[] = { + "\xea\xbf\x98", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xea\xbf\xb4" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_eb80[] = { + "\xeb\x80\x90", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\x80\xac" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_eb81[] = { + "\xeb\x81\x88", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\x81\xa4", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xeb\x82\x80" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_eb82[] = { + "\xeb\x82\x9c", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\x82\xb8" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_eb83[] = { + "\xeb\x83\x94", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\x83\xb0" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_eb84[] = { + "\xeb\x84\x8c", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\x84\xa8" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_eb85[] = { + "\xeb\x85\x84", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\x85\xa0", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xeb\x85\xbc" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_eb86[] = { + "\xeb\x86\x98", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\x86\xb4" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_eb87[] = { + "\xeb\x87\x90", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\x87\xac" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_eb88[] = { + "\xeb\x88\x88", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\x88\xa4", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xeb\x89\x80" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_eb89[] = { + "\xeb\x89\x9c", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\x89\xb8" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_eb8a[] = { + "\xeb\x8a\x94", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\x8a\xb0" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_eb8b[] = { + "\xeb\x8b\x8c", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\x8b\xa8" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_eb8c[] = { + "\xeb\x8c\x84", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\x8c\xa0", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xeb\x8c\xbc" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_eb8d[] = { + "\xeb\x8d\x98", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\x8d\xb4" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_eb8e[] = { + "\xeb\x8e\x90", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\x8e\xac" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_eb8f[] = { + "\xeb\x8f\x88", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\x8f\xa4", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xeb\x90\x80" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_eb90[] = { + "\xeb\x90\x9c", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\x90\xb8" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_eb91[] = { + "\xeb\x91\x94", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\x91\xb0" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_eb92[] = { + "\xeb\x92\x8c", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\x92\xa8" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_eb93[] = { + "\xeb\x93\x84", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\x93\xa0", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xeb\x93\xbc" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_eb94[] = { + "\xeb\x94\x98", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\x94\xb4" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_eb95[] = { + "\xeb\x95\x90", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\x95\xac" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_eb96[] = { + "\xeb\x96\x88", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\x96\xa4", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xeb\x97\x80" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_eb97[] = { + "\xeb\x97\x9c", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\x97\xb8" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_eb98[] = { + "\xeb\x98\x94", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\x98\xb0" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_eb99[] = { + "\xeb\x99\x8c", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\x99\xa8" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_eb9a[] = { + "\xeb\x9a\x84", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\x9a\xa0", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xeb\x9a\xbc" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_eb9b[] = { + "\xeb\x9b\x98", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\x9b\xb4" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_eb9c[] = { + "\xeb\x9c\x90", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\x9c\xac" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_eb9d[] = { + "\xeb\x9d\x88", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\x9d\xa4", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xeb\x9e\x80" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_eb9e[] = { + "\xeb\x9e\x9c", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\x9e\xb8" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_eb9f[] = { + "\xeb\x9f\x94", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\x9f\xb0" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_eba0[] = { + "\xeb\xa0\x8c", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\xa0\xa8" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_eba1[] = { + "\xeb\xa1\x84", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\xa1\xa0", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xeb\xa1\xbc" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_eba2[] = { + "\xeb\xa2\x98", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\xa2\xb4" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_eba3[] = { + "\xeb\xa3\x90", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\xa3\xac" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_eba4[] = { + "\xeb\xa4\x88", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\xa4\xa4", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xeb\xa5\x80" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_eba5[] = { + "\xeb\xa5\x9c", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\xa5\xb8" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_eba6[] = { + "\xeb\xa6\x94", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\xa6\xb0" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_eba7[] = { + "\xeb\xa7\x8c", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\xa7\xa8" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_eba8[] = { + "\xeb\xa8\x84", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\xa8\xa0", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xeb\xa8\xbc" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_eba9[] = { + "\xeb\xa9\x98", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\xa9\xb4" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_ebaa[] = { + "\xeb\xaa\x90", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\xaa\xac" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_ebab[] = { + "\xeb\xab\x88", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\xab\xa4", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xeb\xac\x80" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_ebac[] = { + "\xeb\xac\x9c", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\xac\xb8" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_ebad[] = { + "\xeb\xad\x94", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\xad\xb0" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_ebae[] = { + "\xeb\xae\x8c", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\xae\xa8" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_ebaf[] = { + "\xeb\xaf\x84", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\xaf\xa0", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xeb\xaf\xbc" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_ebb0[] = { + "\xeb\xb0\x98", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\xb0\xb4" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_ebb1[] = { + "\xeb\xb1\x90", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\xb1\xac" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_ebb2[] = { + "\xeb\xb2\x88", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\xb2\xa4", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xeb\xb3\x80" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_ebb3[] = { + "\xeb\xb3\x9c", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\xb3\xb8" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_ebb4[] = { + "\xeb\xb4\x94", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\xb4\xb0" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_ebb5[] = { + "\xeb\xb5\x8c", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\xb5\xa8" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_ebb6[] = { + "\xeb\xb6\x84", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\xb6\xa0", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xeb\xb6\xbc" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_ebb7[] = { + "\xeb\xb7\x98", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\xb7\xb4" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_ebb8[] = { + "\xeb\xb8\x90", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\xb8\xac" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_ebb9[] = { + "\xeb\xb9\x88", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\xb9\xa4", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xeb\xba\x80" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_ebba[] = { + "\xeb\xba\x9c", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\xba\xb8" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_ebbb[] = { + "\xeb\xbb\x94", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\xbb\xb0" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_ebbc[] = { + "\xeb\xbc\x8c", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\xbc\xa8" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_ebbd[] = { + "\xeb\xbd\x84", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\xbd\xa0", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xeb\xbd\xbc" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_ebbe[] = { + "\xeb\xbe\x98", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\xbe\xb4" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_ebbf[] = { + "\xeb\xbf\x90", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xeb\xbf\xac" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_ec80[] = { + "\xec\x80\x88", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\x80\xa4", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xec\x81\x80" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_ec81[] = { + "\xec\x81\x9c", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\x81\xb8" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_ec82[] = { + "\xec\x82\x94", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\x82\xb0" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_ec83[] = { + "\xec\x83\x8c", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\x83\xa8" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_ec84[] = { + "\xec\x84\x84", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\x84\xa0", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xec\x84\xbc" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_ec85[] = { + "\xec\x85\x98", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\x85\xb4" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_ec86[] = { + "\xec\x86\x90", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\x86\xac" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_ec87[] = { + "\xec\x87\x88", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\x87\xa4", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xec\x88\x80" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_ec88[] = { + "\xec\x88\x9c", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\x88\xb8" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_ec89[] = { + "\xec\x89\x94", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\x89\xb0" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_ec8a[] = { + "\xec\x8a\x8c", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\x8a\xa8" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_ec8b[] = { + "\xec\x8b\x84", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\x8b\xa0", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xec\x8b\xbc" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_ec8c[] = { + "\xec\x8c\x98", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\x8c\xb4" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_ec8d[] = { + "\xec\x8d\x90", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\x8d\xac" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_ec8e[] = { + "\xec\x8e\x88", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\x8e\xa4", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xec\x8f\x80" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_ec8f[] = { + "\xec\x8f\x9c", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\x8f\xb8" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_ec90[] = { + "\xec\x90\x94", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\x90\xb0" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_ec91[] = { + "\xec\x91\x8c", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\x91\xa8" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_ec92[] = { + "\xec\x92\x84", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\x92\xa0", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xec\x92\xbc" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_ec93[] = { + "\xec\x93\x98", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\x93\xb4" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_ec94[] = { + "\xec\x94\x90", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\x94\xac" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_ec95[] = { + "\xec\x95\x88", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\x95\xa4", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xec\x96\x80" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_ec96[] = { + "\xec\x96\x9c", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\x96\xb8" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_ec97[] = { + "\xec\x97\x94", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\x97\xb0" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_ec98[] = { + "\xec\x98\x8c", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\x98\xa8" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_ec99[] = { + "\xec\x99\x84", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\x99\xa0", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xec\x99\xbc" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_ec9a[] = { + "\xec\x9a\x98", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\x9a\xb4" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_ec9b[] = { + "\xec\x9b\x90", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\x9b\xac" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_ec9c[] = { + "\xec\x9c\x88", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\x9c\xa4", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xec\x9d\x80" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_ec9d[] = { + "\xec\x9d\x9c", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\x9d\xb8" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_ec9e[] = { + "\xec\x9e\x94", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\x9e\xb0" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_ec9f[] = { + "\xec\x9f\x8c", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\x9f\xa8" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_eca0[] = { + "\xec\xa0\x84", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\xa0\xa0", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xec\xa0\xbc" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_eca1[] = { + "\xec\xa1\x98", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\xa1\xb4" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_eca2[] = { + "\xec\xa2\x90", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\xa2\xac" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_eca3[] = { + "\xec\xa3\x88", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\xa3\xa4", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xec\xa4\x80" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_eca4[] = { + "\xec\xa4\x9c", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\xa4\xb8" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_eca5[] = { + "\xec\xa5\x94", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\xa5\xb0" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_eca6[] = { + "\xec\xa6\x8c", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\xa6\xa8" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_eca7[] = { + "\xec\xa7\x84", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\xa7\xa0", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xec\xa7\xbc" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_eca8[] = { + "\xec\xa8\x98", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\xa8\xb4" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_eca9[] = { + "\xec\xa9\x90", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\xa9\xac" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_ecaa[] = { + "\xec\xaa\x88", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\xaa\xa4", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xec\xab\x80" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_ecab[] = { + "\xec\xab\x9c", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\xab\xb8" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_ecac[] = { + "\xec\xac\x94", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\xac\xb0" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_ecad[] = { + "\xec\xad\x8c", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\xad\xa8" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_ecae[] = { + "\xec\xae\x84", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\xae\xa0", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xec\xae\xbc" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_ecaf[] = { + "\xec\xaf\x98", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\xaf\xb4" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_ecb0[] = { + "\xec\xb0\x90", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\xb0\xac" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_ecb1[] = { + "\xec\xb1\x88", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\xb1\xa4", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xec\xb2\x80" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_ecb2[] = { + "\xec\xb2\x9c", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\xb2\xb8" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_ecb3[] = { + "\xec\xb3\x94", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\xb3\xb0" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_ecb4[] = { + "\xec\xb4\x8c", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\xb4\xa8" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_ecb5[] = { + "\xec\xb5\x84", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\xb5\xa0", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xec\xb5\xbc" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_ecb6[] = { + "\xec\xb6\x98", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\xb6\xb4" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_ecb7[] = { + "\xec\xb7\x90", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\xb7\xac" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_ecb8[] = { + "\xec\xb8\x88", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\xb8\xa4", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xec\xb9\x80" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_ecb9[] = { + "\xec\xb9\x9c", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\xb9\xb8" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_ecba[] = { + "\xec\xba\x94", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\xba\xb0" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_ecbb[] = { + "\xec\xbb\x8c", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\xbb\xa8" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_ecbc[] = { + "\xec\xbc\x84", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\xbc\xa0", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xec\xbc\xbc" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_ecbd[] = { + "\xec\xbd\x98", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\xbd\xb4" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_ecbe[] = { + "\xec\xbe\x90", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\xbe\xac" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_ecbf[] = { + "\xec\xbf\x88", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xec\xbf\xa4", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xed\x80\x80" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_ed80[] = { + "\xed\x80\x9c", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xed\x80\xb8" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_ed81[] = { + "\xed\x81\x94", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xed\x81\xb0" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_ed82[] = { + "\xed\x82\x8c", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xed\x82\xa8" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_ed83[] = { + "\xed\x83\x84", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xed\x83\xa0", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xed\x83\xbc" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_ed84[] = { + "\xed\x84\x98", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xed\x84\xb4" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_ed85[] = { + "\xed\x85\x90", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xed\x85\xac" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_ed86[] = { + "\xed\x86\x88", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xed\x86\xa4", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xed\x87\x80" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_ed87[] = { + "\xed\x87\x9c", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xed\x87\xb8" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_ed88[] = { + "\xed\x88\x94", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xed\x88\xb0" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_ed89[] = { + "\xed\x89\x8c", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xed\x89\xa8" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_ed8a[] = { + "\xed\x8a\x84", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xed\x8a\xa0", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xed\x8a\xbc" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_ed8b[] = { + "\xed\x8b\x98", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xed\x8b\xb4" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_ed8c[] = { + "\xed\x8c\x90", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xed\x8c\xac" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_ed8d[] = { + "\xed\x8d\x88", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xed\x8d\xa4", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xed\x8e\x80" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_ed8e[] = { + "\xed\x8e\x9c", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xed\x8e\xb8" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_ed8f[] = { + "\xed\x8f\x94", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xed\x8f\xb0" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_ed90[] = { + "\xed\x90\x8c", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xed\x90\xa8" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_ed91[] = { + "\xed\x91\x84", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xed\x91\xa0", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xed\x91\xbc" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_ed92[] = { + "\xed\x92\x98", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xed\x92\xb4" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_ed93[] = { + "\xed\x93\x90", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xed\x93\xac" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_ed94[] = { + "\xed\x94\x88", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xed\x94\xa4", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xed\x95\x80" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_ed95[] = { + "\xed\x95\x9c", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xed\x95\xb8" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_ed96[] = { + "\xed\x96\x94", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xed\x96\xb0" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_ed97[] = { + "\xed\x97\x8c", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xed\x97\xa8" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_ed98[] = { + "\xed\x98\x84", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xed\x98\xa0", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xed\x98\xbc" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_ed99[] = { + "\xed\x99\x98", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xed\x99\xb4" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_ed9a[] = { + "\xed\x9a\x90", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xed\x9a\xac" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_ed9b[] = { + "\xed\x9b\x88", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xed\x9b\xa4", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "\xed\x9c\x80" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_ed9c[] = { + "\xed\x9c\x9c", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xed\x9c\xb8" +}; + +static const char *grn_nfkc121_compose_prefix_e186ab_table_ed9d[] = { + "\xed\x9d\x94", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "\xed\x9d\xb0" +}; + +static grn_inline const char * +grn_nfkc121_compose_prefix_e186ab(const unsigned char *utf8) +{ + { + switch (utf8[0]) { + case 0xea : + switch (utf8[1]) { + case 0xb0 : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xb8) { + return grn_nfkc121_compose_prefix_e186ab_table_eab0[utf8[2] - 0x80]; + } + break; + case 0xb1 : + if (utf8[2] >= 0x94 && + utf8[2] <= 0xb0) { + return grn_nfkc121_compose_prefix_e186ab_table_eab1[utf8[2] - 0x94]; + } + break; + case 0xb2 : + if (utf8[2] >= 0x8c && + utf8[2] <= 0xa8) { + return grn_nfkc121_compose_prefix_e186ab_table_eab2[utf8[2] - 0x8c]; + } + break; + case 0xb3 : + if (utf8[2] >= 0x84 && + utf8[2] <= 0xbc) { + return grn_nfkc121_compose_prefix_e186ab_table_eab3[utf8[2] - 0x84]; + } + break; + case 0xb4 : + if (utf8[2] >= 0x98 && + utf8[2] <= 0xb4) { + return grn_nfkc121_compose_prefix_e186ab_table_eab4[utf8[2] - 0x98]; + } + break; + case 0xb5 : + if (utf8[2] >= 0x90 && + utf8[2] <= 0xac) { + return grn_nfkc121_compose_prefix_e186ab_table_eab5[utf8[2] - 0x90]; + } + break; + case 0xb6 : + if (utf8[2] >= 0x88 && + utf8[2] <= 0xa4) { + return grn_nfkc121_compose_prefix_e186ab_table_eab6[utf8[2] - 0x88]; + } + break; + case 0xb7 : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xb8) { + return grn_nfkc121_compose_prefix_e186ab_table_eab7[utf8[2] - 0x80]; + } + break; + case 0xb8 : + if (utf8[2] >= 0x94 && + utf8[2] <= 0xb0) { + return grn_nfkc121_compose_prefix_e186ab_table_eab8[utf8[2] - 0x94]; + } + break; + case 0xb9 : + if (utf8[2] >= 0x8c && + utf8[2] <= 0xa8) { + return grn_nfkc121_compose_prefix_e186ab_table_eab9[utf8[2] - 0x8c]; + } + break; + case 0xba : + if (utf8[2] >= 0x84 && + utf8[2] <= 0xbc) { + return grn_nfkc121_compose_prefix_e186ab_table_eaba[utf8[2] - 0x84]; + } + break; + case 0xbb : + if (utf8[2] >= 0x98 && + utf8[2] <= 0xb4) { + return grn_nfkc121_compose_prefix_e186ab_table_eabb[utf8[2] - 0x98]; + } + break; + case 0xbc : + if (utf8[2] >= 0x90 && + utf8[2] <= 0xac) { + return grn_nfkc121_compose_prefix_e186ab_table_eabc[utf8[2] - 0x90]; + } + break; + case 0xbd : + if (utf8[2] >= 0x88 && + utf8[2] <= 0xa4) { + return grn_nfkc121_compose_prefix_e186ab_table_eabd[utf8[2] - 0x88]; + } + break; + case 0xbe : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xb8) { + return grn_nfkc121_compose_prefix_e186ab_table_eabe[utf8[2] - 0x80]; + } + break; + case 0xbf : + if (utf8[2] >= 0x94 && + utf8[2] <= 0xb0) { + return grn_nfkc121_compose_prefix_e186ab_table_eabf[utf8[2] - 0x94]; + } + break; + default : + break; + } + break; + case 0xeb : + switch (utf8[1]) { + case 0x80 : + if (utf8[2] >= 0x8c && + utf8[2] <= 0xa8) { + return grn_nfkc121_compose_prefix_e186ab_table_eb80[utf8[2] - 0x8c]; + } + break; + case 0x81 : + if (utf8[2] >= 0x84 && + utf8[2] <= 0xbc) { + return grn_nfkc121_compose_prefix_e186ab_table_eb81[utf8[2] - 0x84]; + } + break; + case 0x82 : + if (utf8[2] >= 0x98 && + utf8[2] <= 0xb4) { + return grn_nfkc121_compose_prefix_e186ab_table_eb82[utf8[2] - 0x98]; + } + break; + case 0x83 : + if (utf8[2] >= 0x90 && + utf8[2] <= 0xac) { + return grn_nfkc121_compose_prefix_e186ab_table_eb83[utf8[2] - 0x90]; + } + break; + case 0x84 : + if (utf8[2] >= 0x88 && + utf8[2] <= 0xa4) { + return grn_nfkc121_compose_prefix_e186ab_table_eb84[utf8[2] - 0x88]; + } + break; + case 0x85 : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xb8) { + return grn_nfkc121_compose_prefix_e186ab_table_eb85[utf8[2] - 0x80]; + } + break; + case 0x86 : + if (utf8[2] >= 0x94 && + utf8[2] <= 0xb0) { + return grn_nfkc121_compose_prefix_e186ab_table_eb86[utf8[2] - 0x94]; + } + break; + case 0x87 : + if (utf8[2] >= 0x8c && + utf8[2] <= 0xa8) { + return grn_nfkc121_compose_prefix_e186ab_table_eb87[utf8[2] - 0x8c]; + } + break; + case 0x88 : + if (utf8[2] >= 0x84 && + utf8[2] <= 0xbc) { + return grn_nfkc121_compose_prefix_e186ab_table_eb88[utf8[2] - 0x84]; + } + break; + case 0x89 : + if (utf8[2] >= 0x98 && + utf8[2] <= 0xb4) { + return grn_nfkc121_compose_prefix_e186ab_table_eb89[utf8[2] - 0x98]; + } + break; + case 0x8a : + if (utf8[2] >= 0x90 && + utf8[2] <= 0xac) { + return grn_nfkc121_compose_prefix_e186ab_table_eb8a[utf8[2] - 0x90]; + } + break; + case 0x8b : + if (utf8[2] >= 0x88 && + utf8[2] <= 0xa4) { + return grn_nfkc121_compose_prefix_e186ab_table_eb8b[utf8[2] - 0x88]; + } + break; + case 0x8c : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xb8) { + return grn_nfkc121_compose_prefix_e186ab_table_eb8c[utf8[2] - 0x80]; + } + break; + case 0x8d : + if (utf8[2] >= 0x94 && + utf8[2] <= 0xb0) { + return grn_nfkc121_compose_prefix_e186ab_table_eb8d[utf8[2] - 0x94]; + } + break; + case 0x8e : + if (utf8[2] >= 0x8c && + utf8[2] <= 0xa8) { + return grn_nfkc121_compose_prefix_e186ab_table_eb8e[utf8[2] - 0x8c]; + } + break; + case 0x8f : + if (utf8[2] >= 0x84 && + utf8[2] <= 0xbc) { + return grn_nfkc121_compose_prefix_e186ab_table_eb8f[utf8[2] - 0x84]; + } + break; + case 0x90 : + if (utf8[2] >= 0x98 && + utf8[2] <= 0xb4) { + return grn_nfkc121_compose_prefix_e186ab_table_eb90[utf8[2] - 0x98]; + } + break; + case 0x91 : + if (utf8[2] >= 0x90 && + utf8[2] <= 0xac) { + return grn_nfkc121_compose_prefix_e186ab_table_eb91[utf8[2] - 0x90]; + } + break; + case 0x92 : + if (utf8[2] >= 0x88 && + utf8[2] <= 0xa4) { + return grn_nfkc121_compose_prefix_e186ab_table_eb92[utf8[2] - 0x88]; + } + break; + case 0x93 : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xb8) { + return grn_nfkc121_compose_prefix_e186ab_table_eb93[utf8[2] - 0x80]; + } + break; + case 0x94 : + if (utf8[2] >= 0x94 && + utf8[2] <= 0xb0) { + return grn_nfkc121_compose_prefix_e186ab_table_eb94[utf8[2] - 0x94]; + } + break; + case 0x95 : + if (utf8[2] >= 0x8c && + utf8[2] <= 0xa8) { + return grn_nfkc121_compose_prefix_e186ab_table_eb95[utf8[2] - 0x8c]; + } + break; + case 0x96 : + if (utf8[2] >= 0x84 && + utf8[2] <= 0xbc) { + return grn_nfkc121_compose_prefix_e186ab_table_eb96[utf8[2] - 0x84]; + } + break; + case 0x97 : + if (utf8[2] >= 0x98 && + utf8[2] <= 0xb4) { + return grn_nfkc121_compose_prefix_e186ab_table_eb97[utf8[2] - 0x98]; + } + break; + case 0x98 : + if (utf8[2] >= 0x90 && + utf8[2] <= 0xac) { + return grn_nfkc121_compose_prefix_e186ab_table_eb98[utf8[2] - 0x90]; + } + break; + case 0x99 : + if (utf8[2] >= 0x88 && + utf8[2] <= 0xa4) { + return grn_nfkc121_compose_prefix_e186ab_table_eb99[utf8[2] - 0x88]; + } + break; + case 0x9a : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xb8) { + return grn_nfkc121_compose_prefix_e186ab_table_eb9a[utf8[2] - 0x80]; + } + break; + case 0x9b : + if (utf8[2] >= 0x94 && + utf8[2] <= 0xb0) { + return grn_nfkc121_compose_prefix_e186ab_table_eb9b[utf8[2] - 0x94]; + } + break; + case 0x9c : + if (utf8[2] >= 0x8c && + utf8[2] <= 0xa8) { + return grn_nfkc121_compose_prefix_e186ab_table_eb9c[utf8[2] - 0x8c]; + } + break; + case 0x9d : + if (utf8[2] >= 0x84 && + utf8[2] <= 0xbc) { + return grn_nfkc121_compose_prefix_e186ab_table_eb9d[utf8[2] - 0x84]; + } + break; + case 0x9e : + if (utf8[2] >= 0x98 && + utf8[2] <= 0xb4) { + return grn_nfkc121_compose_prefix_e186ab_table_eb9e[utf8[2] - 0x98]; + } + break; + case 0x9f : + if (utf8[2] >= 0x90 && + utf8[2] <= 0xac) { + return grn_nfkc121_compose_prefix_e186ab_table_eb9f[utf8[2] - 0x90]; + } + break; + case 0xa0 : + if (utf8[2] >= 0x88 && + utf8[2] <= 0xa4) { + return grn_nfkc121_compose_prefix_e186ab_table_eba0[utf8[2] - 0x88]; + } + break; + case 0xa1 : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xb8) { + return grn_nfkc121_compose_prefix_e186ab_table_eba1[utf8[2] - 0x80]; + } + break; + case 0xa2 : + if (utf8[2] >= 0x94 && + utf8[2] <= 0xb0) { + return grn_nfkc121_compose_prefix_e186ab_table_eba2[utf8[2] - 0x94]; + } + break; + case 0xa3 : + if (utf8[2] >= 0x8c && + utf8[2] <= 0xa8) { + return grn_nfkc121_compose_prefix_e186ab_table_eba3[utf8[2] - 0x8c]; + } + break; + case 0xa4 : + if (utf8[2] >= 0x84 && + utf8[2] <= 0xbc) { + return grn_nfkc121_compose_prefix_e186ab_table_eba4[utf8[2] - 0x84]; + } + break; + case 0xa5 : + if (utf8[2] >= 0x98 && + utf8[2] <= 0xb4) { + return grn_nfkc121_compose_prefix_e186ab_table_eba5[utf8[2] - 0x98]; + } + break; + case 0xa6 : + if (utf8[2] >= 0x90 && + utf8[2] <= 0xac) { + return grn_nfkc121_compose_prefix_e186ab_table_eba6[utf8[2] - 0x90]; + } + break; + case 0xa7 : + if (utf8[2] >= 0x88 && + utf8[2] <= 0xa4) { + return grn_nfkc121_compose_prefix_e186ab_table_eba7[utf8[2] - 0x88]; + } + break; + case 0xa8 : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xb8) { + return grn_nfkc121_compose_prefix_e186ab_table_eba8[utf8[2] - 0x80]; + } + break; + case 0xa9 : + if (utf8[2] >= 0x94 && + utf8[2] <= 0xb0) { + return grn_nfkc121_compose_prefix_e186ab_table_eba9[utf8[2] - 0x94]; + } + break; + case 0xaa : + if (utf8[2] >= 0x8c && + utf8[2] <= 0xa8) { + return grn_nfkc121_compose_prefix_e186ab_table_ebaa[utf8[2] - 0x8c]; + } + break; + case 0xab : + if (utf8[2] >= 0x84 && + utf8[2] <= 0xbc) { + return grn_nfkc121_compose_prefix_e186ab_table_ebab[utf8[2] - 0x84]; + } + break; + case 0xac : + if (utf8[2] >= 0x98 && + utf8[2] <= 0xb4) { + return grn_nfkc121_compose_prefix_e186ab_table_ebac[utf8[2] - 0x98]; + } + break; + case 0xad : + if (utf8[2] >= 0x90 && + utf8[2] <= 0xac) { + return grn_nfkc121_compose_prefix_e186ab_table_ebad[utf8[2] - 0x90]; + } + break; + case 0xae : + if (utf8[2] >= 0x88 && + utf8[2] <= 0xa4) { + return grn_nfkc121_compose_prefix_e186ab_table_ebae[utf8[2] - 0x88]; + } + break; + case 0xaf : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xb8) { + return grn_nfkc121_compose_prefix_e186ab_table_ebaf[utf8[2] - 0x80]; + } + break; + case 0xb0 : + if (utf8[2] >= 0x94 && + utf8[2] <= 0xb0) { + return grn_nfkc121_compose_prefix_e186ab_table_ebb0[utf8[2] - 0x94]; + } + break; + case 0xb1 : + if (utf8[2] >= 0x8c && + utf8[2] <= 0xa8) { + return grn_nfkc121_compose_prefix_e186ab_table_ebb1[utf8[2] - 0x8c]; + } + break; + case 0xb2 : + if (utf8[2] >= 0x84 && + utf8[2] <= 0xbc) { + return grn_nfkc121_compose_prefix_e186ab_table_ebb2[utf8[2] - 0x84]; + } + break; + case 0xb3 : + if (utf8[2] >= 0x98 && + utf8[2] <= 0xb4) { + return grn_nfkc121_compose_prefix_e186ab_table_ebb3[utf8[2] - 0x98]; + } + break; + case 0xb4 : + if (utf8[2] >= 0x90 && + utf8[2] <= 0xac) { + return grn_nfkc121_compose_prefix_e186ab_table_ebb4[utf8[2] - 0x90]; + } + break; + case 0xb5 : + if (utf8[2] >= 0x88 && + utf8[2] <= 0xa4) { + return grn_nfkc121_compose_prefix_e186ab_table_ebb5[utf8[2] - 0x88]; + } + break; + case 0xb6 : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xb8) { + return grn_nfkc121_compose_prefix_e186ab_table_ebb6[utf8[2] - 0x80]; + } + break; + case 0xb7 : + if (utf8[2] >= 0x94 && + utf8[2] <= 0xb0) { + return grn_nfkc121_compose_prefix_e186ab_table_ebb7[utf8[2] - 0x94]; + } + break; + case 0xb8 : + if (utf8[2] >= 0x8c && + utf8[2] <= 0xa8) { + return grn_nfkc121_compose_prefix_e186ab_table_ebb8[utf8[2] - 0x8c]; + } + break; + case 0xb9 : + if (utf8[2] >= 0x84 && + utf8[2] <= 0xbc) { + return grn_nfkc121_compose_prefix_e186ab_table_ebb9[utf8[2] - 0x84]; + } + break; + case 0xba : + if (utf8[2] >= 0x98 && + utf8[2] <= 0xb4) { + return grn_nfkc121_compose_prefix_e186ab_table_ebba[utf8[2] - 0x98]; + } + break; + case 0xbb : + if (utf8[2] >= 0x90 && + utf8[2] <= 0xac) { + return grn_nfkc121_compose_prefix_e186ab_table_ebbb[utf8[2] - 0x90]; + } + break; + case 0xbc : + if (utf8[2] >= 0x88 && + utf8[2] <= 0xa4) { + return grn_nfkc121_compose_prefix_e186ab_table_ebbc[utf8[2] - 0x88]; + } + break; + case 0xbd : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xb8) { + return grn_nfkc121_compose_prefix_e186ab_table_ebbd[utf8[2] - 0x80]; + } + break; + case 0xbe : + if (utf8[2] >= 0x94 && + utf8[2] <= 0xb0) { + return grn_nfkc121_compose_prefix_e186ab_table_ebbe[utf8[2] - 0x94]; + } + break; + case 0xbf : + if (utf8[2] >= 0x8c && + utf8[2] <= 0xa8) { + return grn_nfkc121_compose_prefix_e186ab_table_ebbf[utf8[2] - 0x8c]; + } + break; + default : + break; + } + break; + case 0xec : + switch (utf8[1]) { + case 0x80 : + if (utf8[2] >= 0x84 && + utf8[2] <= 0xbc) { + return grn_nfkc121_compose_prefix_e186ab_table_ec80[utf8[2] - 0x84]; + } + break; + case 0x81 : + if (utf8[2] >= 0x98 && + utf8[2] <= 0xb4) { + return grn_nfkc121_compose_prefix_e186ab_table_ec81[utf8[2] - 0x98]; + } + break; + case 0x82 : + if (utf8[2] >= 0x90 && + utf8[2] <= 0xac) { + return grn_nfkc121_compose_prefix_e186ab_table_ec82[utf8[2] - 0x90]; + } + break; + case 0x83 : + if (utf8[2] >= 0x88 && + utf8[2] <= 0xa4) { + return grn_nfkc121_compose_prefix_e186ab_table_ec83[utf8[2] - 0x88]; + } + break; + case 0x84 : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xb8) { + return grn_nfkc121_compose_prefix_e186ab_table_ec84[utf8[2] - 0x80]; + } + break; + case 0x85 : + if (utf8[2] >= 0x94 && + utf8[2] <= 0xb0) { + return grn_nfkc121_compose_prefix_e186ab_table_ec85[utf8[2] - 0x94]; + } + break; + case 0x86 : + if (utf8[2] >= 0x8c && + utf8[2] <= 0xa8) { + return grn_nfkc121_compose_prefix_e186ab_table_ec86[utf8[2] - 0x8c]; + } + break; + case 0x87 : + if (utf8[2] >= 0x84 && + utf8[2] <= 0xbc) { + return grn_nfkc121_compose_prefix_e186ab_table_ec87[utf8[2] - 0x84]; + } + break; + case 0x88 : + if (utf8[2] >= 0x98 && + utf8[2] <= 0xb4) { + return grn_nfkc121_compose_prefix_e186ab_table_ec88[utf8[2] - 0x98]; + } + break; + case 0x89 : + if (utf8[2] >= 0x90 && + utf8[2] <= 0xac) { + return grn_nfkc121_compose_prefix_e186ab_table_ec89[utf8[2] - 0x90]; + } + break; + case 0x8a : + if (utf8[2] >= 0x88 && + utf8[2] <= 0xa4) { + return grn_nfkc121_compose_prefix_e186ab_table_ec8a[utf8[2] - 0x88]; + } + break; + case 0x8b : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xb8) { + return grn_nfkc121_compose_prefix_e186ab_table_ec8b[utf8[2] - 0x80]; + } + break; + case 0x8c : + if (utf8[2] >= 0x94 && + utf8[2] <= 0xb0) { + return grn_nfkc121_compose_prefix_e186ab_table_ec8c[utf8[2] - 0x94]; + } + break; + case 0x8d : + if (utf8[2] >= 0x8c && + utf8[2] <= 0xa8) { + return grn_nfkc121_compose_prefix_e186ab_table_ec8d[utf8[2] - 0x8c]; + } + break; + case 0x8e : + if (utf8[2] >= 0x84 && + utf8[2] <= 0xbc) { + return grn_nfkc121_compose_prefix_e186ab_table_ec8e[utf8[2] - 0x84]; + } + break; + case 0x8f : + if (utf8[2] >= 0x98 && + utf8[2] <= 0xb4) { + return grn_nfkc121_compose_prefix_e186ab_table_ec8f[utf8[2] - 0x98]; + } + break; + case 0x90 : + if (utf8[2] >= 0x90 && + utf8[2] <= 0xac) { + return grn_nfkc121_compose_prefix_e186ab_table_ec90[utf8[2] - 0x90]; + } + break; + case 0x91 : + if (utf8[2] >= 0x88 && + utf8[2] <= 0xa4) { + return grn_nfkc121_compose_prefix_e186ab_table_ec91[utf8[2] - 0x88]; + } + break; + case 0x92 : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xb8) { + return grn_nfkc121_compose_prefix_e186ab_table_ec92[utf8[2] - 0x80]; + } + break; + case 0x93 : + if (utf8[2] >= 0x94 && + utf8[2] <= 0xb0) { + return grn_nfkc121_compose_prefix_e186ab_table_ec93[utf8[2] - 0x94]; + } + break; + case 0x94 : + if (utf8[2] >= 0x8c && + utf8[2] <= 0xa8) { + return grn_nfkc121_compose_prefix_e186ab_table_ec94[utf8[2] - 0x8c]; + } + break; + case 0x95 : + if (utf8[2] >= 0x84 && + utf8[2] <= 0xbc) { + return grn_nfkc121_compose_prefix_e186ab_table_ec95[utf8[2] - 0x84]; + } + break; + case 0x96 : + if (utf8[2] >= 0x98 && + utf8[2] <= 0xb4) { + return grn_nfkc121_compose_prefix_e186ab_table_ec96[utf8[2] - 0x98]; + } + break; + case 0x97 : + if (utf8[2] >= 0x90 && + utf8[2] <= 0xac) { + return grn_nfkc121_compose_prefix_e186ab_table_ec97[utf8[2] - 0x90]; + } + break; + case 0x98 : + if (utf8[2] >= 0x88 && + utf8[2] <= 0xa4) { + return grn_nfkc121_compose_prefix_e186ab_table_ec98[utf8[2] - 0x88]; + } + break; + case 0x99 : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xb8) { + return grn_nfkc121_compose_prefix_e186ab_table_ec99[utf8[2] - 0x80]; + } + break; + case 0x9a : + if (utf8[2] >= 0x94 && + utf8[2] <= 0xb0) { + return grn_nfkc121_compose_prefix_e186ab_table_ec9a[utf8[2] - 0x94]; + } + break; + case 0x9b : + if (utf8[2] >= 0x8c && + utf8[2] <= 0xa8) { + return grn_nfkc121_compose_prefix_e186ab_table_ec9b[utf8[2] - 0x8c]; + } + break; + case 0x9c : + if (utf8[2] >= 0x84 && + utf8[2] <= 0xbc) { + return grn_nfkc121_compose_prefix_e186ab_table_ec9c[utf8[2] - 0x84]; + } + break; + case 0x9d : + if (utf8[2] >= 0x98 && + utf8[2] <= 0xb4) { + return grn_nfkc121_compose_prefix_e186ab_table_ec9d[utf8[2] - 0x98]; + } + break; + case 0x9e : + if (utf8[2] >= 0x90 && + utf8[2] <= 0xac) { + return grn_nfkc121_compose_prefix_e186ab_table_ec9e[utf8[2] - 0x90]; + } + break; + case 0x9f : + if (utf8[2] >= 0x88 && + utf8[2] <= 0xa4) { + return grn_nfkc121_compose_prefix_e186ab_table_ec9f[utf8[2] - 0x88]; + } + break; + case 0xa0 : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xb8) { + return grn_nfkc121_compose_prefix_e186ab_table_eca0[utf8[2] - 0x80]; + } + break; + case 0xa1 : + if (utf8[2] >= 0x94 && + utf8[2] <= 0xb0) { + return grn_nfkc121_compose_prefix_e186ab_table_eca1[utf8[2] - 0x94]; + } + break; + case 0xa2 : + if (utf8[2] >= 0x8c && + utf8[2] <= 0xa8) { + return grn_nfkc121_compose_prefix_e186ab_table_eca2[utf8[2] - 0x8c]; + } + break; + case 0xa3 : + if (utf8[2] >= 0x84 && + utf8[2] <= 0xbc) { + return grn_nfkc121_compose_prefix_e186ab_table_eca3[utf8[2] - 0x84]; + } + break; + case 0xa4 : + if (utf8[2] >= 0x98 && + utf8[2] <= 0xb4) { + return grn_nfkc121_compose_prefix_e186ab_table_eca4[utf8[2] - 0x98]; + } + break; + case 0xa5 : + if (utf8[2] >= 0x90 && + utf8[2] <= 0xac) { + return grn_nfkc121_compose_prefix_e186ab_table_eca5[utf8[2] - 0x90]; + } + break; + case 0xa6 : + if (utf8[2] >= 0x88 && + utf8[2] <= 0xa4) { + return grn_nfkc121_compose_prefix_e186ab_table_eca6[utf8[2] - 0x88]; + } + break; + case 0xa7 : + if (utf8[2] >= 0x80 && + utf8[2] <= 0xb8) { + return grn_nfkc121_compose_prefix_e186ab_table_eca7[utf8[2] - 0x80]; ... truncated to 1.0MB